Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2012-10-19 04:05:53 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2012-10-19 04:05:53 (GMT)
commit69a8e1c0757c4bf4122c7dcc88bff09f94f2ff83 (patch)
tree3dbd59731a37095f8e047ccfd1b069de9f0b3766
parentd15dcbb9724ee17fc85442c5c08411160e90781b (diff)
makes changes for sugargame
-rw-r--r--activity.py58
-rw-r--r--reversi.py (renamed from Reversi.py)94
2 files changed, 96 insertions, 56 deletions
diff --git a/activity.py b/activity.py
index ae375f3..babd26d 100644
--- a/activity.py
+++ b/activity.py
@@ -1,7 +1,53 @@
-import olpcgames
-class ReversiActivity(olpcgames.PyGameActivity):
- """Reversi as a Sugar activity."""
-
- game_name = 'Reversi'
- game_title = 'Reversi'
+from gettext import gettext as _
+
+import sys
+import gtk
+import pygame
+
+from sugar.activity import activity
+from sugar.graphics.toolbarbox import ToolbarBox
+from sugar.activity.widgets import ActivityToolbarButton
+from sugar.graphics.toolbutton import ToolButton
+from sugar.activity.widgets import StopButton
+
+import sugargame.canvas
+
+import reversi
+
+
+class ReversiActivity(activity.Activity):
+ def __init__(self, handle):
+ activity.Activity.__init__(self, handle)
+
+ self.game = reversi.ReversiController()
+ self.build_toolbar()
+ self._pygamecanvas = sugargame.canvas.PygameCanvas(self)
+ self.set_canvas(self._pygamecanvas)
+ self._pygamecanvas.grab_focus()
+ self._pygamecanvas.run_pygame(self.game.run)
+
+ def build_toolbar(self):
+ toolbar_box = ToolbarBox()
+ self.set_toolbar_box(toolbar_box)
+ toolbar_box.show()
+
+ activity_button = ActivityToolbarButton(self)
+ toolbar_box.toolbar.insert(activity_button, -1)
+ activity_button.show()
+
+ separator = gtk.SeparatorToolItem()
+ separator.props.draw = False
+ separator.set_expand(True)
+ toolbar_box.toolbar.insert(separator, -1)
+ separator.show()
+
+ stop_button = StopButton(self)
+ toolbar_box.toolbar.insert(stop_button, -1)
+ stop_button.show()
+
+ def read_file(self, file_path):
+ pass
+
+ def write_file(self, file_path):
+ pass
diff --git a/Reversi.py b/reversi.py
index f246e47..cea214e 100644
--- a/Reversi.py
+++ b/reversi.py
@@ -21,9 +21,7 @@ import math
import os
import pygame
import random
-
-import olpcgames
-from olpcgames.util import data_path
+import gtk
# Immutable Globals / Settings
@@ -42,9 +40,8 @@ cell_padding = 4
player_numbers_to_piece_names = [None, "White", "Black"]
-
def load_sound(relative_path_name):
- full_path_name = data_path(relative_path_name)
+ full_path_name = os.path.abspath(os.path.join('data', relative_path_name))
#full_path_name = os.path.join("data", relative_path_name)
print "load_sound(\"%s\") - full_path_name = \"%s\"" % (str(relative_path_name), str(full_path_name))
sound = pygame.mixer.Sound(full_path_name)
@@ -641,54 +638,12 @@ class ReversiModel:
#===============================================================================
class ReversiController:
+
def __init__(self):
- global screen_size
-
- # Seed random number generator
- random.seed()
-
- # Init pygame
- pygame.init()
- # Create clock
+ random.seed()
self.clock = pygame.time.Clock()
-
- # Create screen
- self.screen = pygame.display.set_mode(screen_size) #, pygame.FULLSCREEN)
-
- # Init mixer
- self.use_sounds = True
- sound_info = None
- if pygame.mixer:
- #pygame.mixer.init(22050,-16,1,1024)
- sound_info = pygame.mixer.get_init()
- if sound_info:
- self.use_sounds = True
-
- print "ReversiController.__init__() - use_sounds = %s" % self.use_sounds
- if sound_info:
- print "ReversiController.__init__() - sound_info = %s" % str(sound_info)
-
- # Load sounds
- if self.use_sounds:
- self.sounds = {}
- self.sounds["clapping"] = load_sound("clapping.ogg")
- self.sounds["putdownflip"] = load_sound("putdownflip.ogg")
- self.sounds["putdownflip2"] = load_sound("putdownflip2.ogg")
- self.sounds["putdownflip3"] = load_sound("putdownflip3.ogg")
- self.sounds["putdownflip4"] = load_sound("putdownflip4.ogg")
- self.sounds["putdownflip5"] = load_sound("putdownflip5.ogg")
- self.sounds["putdownflip5a"] = load_sound("putdownflip5a.ogg")
-
- # Create board view
- self.view = ReversiView(self, screen_size, (num_columns, num_rows))
-
- # Create board model
- self.model = ReversiModel((num_columns, num_rows))
-
- # Setup start state
- self.set_state("StartGame")
-
+
def get_state(self):
return self.state_name
@@ -768,8 +723,47 @@ class ReversiController:
pass
def run(self):
+ pygame.init()
+ self.screen = pygame.display.set_mode(screen_size) #, pygame.FULLSCREEN)
+
+ # Init mixer
+ self.use_sounds = True
+ sound_info = None
+ if pygame.mixer:
+ #pygame.mixer.init(22050,-16,1,1024)
+ sound_info = pygame.mixer.get_init()
+ if sound_info:
+ self.use_sounds = True
+
+ print "ReversiController.__init__() - use_sounds = %s" % self.use_sounds
+ if sound_info:
+ print "ReversiController.__init__() - sound_info = %s" % str(sound_info)
+
+ # Load sounds
+ if self.use_sounds:
+ self.sounds = {}
+ self.sounds["clapping"] = load_sound("clapping.ogg")
+ self.sounds["putdownflip"] = load_sound("putdownflip.ogg")
+ self.sounds["putdownflip2"] = load_sound("putdownflip2.ogg")
+ self.sounds["putdownflip3"] = load_sound("putdownflip3.ogg")
+ self.sounds["putdownflip4"] = load_sound("putdownflip4.ogg")
+ self.sounds["putdownflip5"] = load_sound("putdownflip5.ogg")
+ self.sounds["putdownflip5a"] = load_sound("putdownflip5a.ogg")
+
+ # Create board view
+ self.view = ReversiView(self, screen_size, (num_columns, num_rows))
+
+ # Create board model
+ self.model = ReversiModel((num_columns, num_rows))
+
+ # Setup start state
+ self.set_state("StartGame")
+
while True:
# Process events
+ while gtk.events_pending():
+ gtk.main_iteration()
+
for event in pygame.event.get():
if event.type == pygame.QUIT:
return