Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAgustin Zubiaga <aguz@sugarlabs.org>2012-09-05 17:20:45 (GMT)
committer Agustin Zubiaga <aguz@sugarlabs.org>2012-09-05 17:20:45 (GMT)
commit37b337801f6f169ec71114311d36eb9c7e4a0dff (patch)
tree3b6dbad2f007a3b5f01c1823f988aad9fc950f60
parent4325576b8e29370d1b8d2db86e8c02b125094865 (diff)
Save square instead of save xy pos
-rw-r--r--activity.py2
-rwxr-xr-xgame.py26
2 files changed, 19 insertions, 9 deletions
diff --git a/activity.py b/activity.py
index 403be25..c392bd6 100644
--- a/activity.py
+++ b/activity.py
@@ -33,7 +33,7 @@ from sugar3.graphics.toolbutton import ToolButton
from gettext import gettext as _
# _logger
-_logger = logging.getLogger('chart-activity')
+_logger = logging.getLogger('tictactoe')
_logger.setLevel(logging.DEBUG)
logging.basicConfig()
diff --git a/game.py b/game.py
index 3c04213..3be84bc 100755
--- a/game.py
+++ b/game.py
@@ -50,7 +50,7 @@ class Canvas(Gtk.DrawingArea):
Gdk.EventMask.POINTER_MOTION_MASK)
self.connect('draw', self._draw_cb)
- self.connect('button-press-event', self._click_cb)
+ self.connect('button-press-event', self.myclick)
self.connect('motion-notify-event', self._motion_notify_cb)
self.show_all()
@@ -125,7 +125,7 @@ class Canvas(Gtk.DrawingArea):
for circle in self.circles:
if circle == self.cursor:
self.cursor = None
- x, y = circle
+ x, y = self.squares[circle]
context.arc(x, y, SIZE / 2, 0, 360)
context.stroke()
@@ -133,7 +133,7 @@ class Canvas(Gtk.DrawingArea):
for cross in self.crosses:
if cross == self.cursor:
self.cursor = None
- x, y = cross
+ x, y = self.squares[cross]
a = SIZE / 2
context.move_to(x - a, y - a)
context.line_to(x + a, y + a)
@@ -145,7 +145,7 @@ class Canvas(Gtk.DrawingArea):
# Draw cursor dot
try:
context.set_source_rgb(*TICTACTOE_COLOR)
- cx, cy = self.cursor
+ cx, cy = self.squares[self.cursor]
context.arc(cx, cy, 9, 0, 360)
context.fill_preserve()
context.stroke()
@@ -153,11 +153,11 @@ class Canvas(Gtk.DrawingArea):
pass
def _motion_notify_cb(self, widget, event):
- self.cursor = self.get_pos(event.x, event.y)
+ self.cursor = self.get_square(event.x, event.y)
self.queue_draw()
- def _click_cb(self, widget, event):
- pos = self.get_pos(event.x, event.y)
+ def myclick(self, widget, event):
+ pos = self.get_square(event.x, event.y)
if self._mode == MODE_CIRCLE and pos:
self.circles.append(pos)
@@ -167,7 +167,16 @@ class Canvas(Gtk.DrawingArea):
self.queue_draw()
- def get_pos(self, mx, my):
+ def otherclick(self, square):
+ if self._mode == MODE_CIRCLE:
+ self.crosses.append(square)
+
+ elif self._mode == MODE_CROSS:
+ self.circles.append(square)
+
+ self.queue_draw()
+
+ def get_square(self, mx, my):
try:
ypos = 0
xpos = 0
@@ -207,6 +216,7 @@ class Canvas(Gtk.DrawingArea):
ypos = all_y[-1]
pos = xpos, ypos
+ pos = self.squares.index(pos)
if pos in self.crosses and pos in self.circles:
pos = None
return pos