From 37b337801f6f169ec71114311d36eb9c7e4a0dff Mon Sep 17 00:00:00 2001 From: Agustin Zubiaga Date: Wed, 05 Sep 2012 17:20:45 +0000 Subject: Save square instead of save xy pos --- 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 -- cgit v0.9.1