def do_key(self, key): if key in g.CROSS and not self.sugar: if utils.mouse_on_img1(g.magician, g.magician_c): self.help2() return bu = buttons.check() if bu != '': self.do_button(bu) return g.show_help = False self.check_nos(1) return if key in g.CIRCLE: self.check_nos(3) return if key in g.RIGHT: self.mouse_right() return if key in g.LEFT: self.mouse_left() return if key in g.SQUARE: if self.sugar and self.cyan_button.get_sensitive(): self.do_button('cyan') if not self.sugar and buttons.active('cyan'): self.do_button('cyan') return if key in g.TICK: self.change_level() return if key == pygame.K_v: g.version_display = not g.version_display return
def main(): while True: ms=pygame.time.get_ticks() for event in pygame.event.get(): if event.type==QUIT: utils.exit() elif event.type == pygame.MOUSEBUTTONDOWN: # allow any button - left, right or middle glow_off() if click(): break display(); pygame.display.flip() # no pointer in case button pressed bu=buttons.check() if bu<>'':do_button(bu) elif event.type==KEYDOWN: if event.key==K_ESCAPE: utils.exit() if event.key==K_x: g.version_display=not g.version_display if g.player_n==0 and not buttons.active('green'): buttons.on("back") display() aim.do() aim.glow(); player.glow() if g.version_display: g.message=g.app+' Version '+g.ver g.message+=' '+str(g.w)+' x '+str(g.h) g.message+=' '+str(g.frame_rate)+'fps' utils.message(g.screen,g.font1,g.message) mx,my=pygame.mouse.get_pos() if my>g.pointer.get_height(): g.screen.blit(g.pointer,(mx,my)) pygame.display.flip() g.clock.tick(40) d=pygame.time.get_ticks()-ms; g.frame_rate=int(1000/d)
def run(self): g.init() if not self.journal: utils.load() self.chess=chess.Chess() g.cells=self.chess.cells load_save.retrieve() self.chess.setup() # having retrieved layout if any self.buttons_setup() if self.canvas<>None: self.canvas.grab_focus() ctrl=False pygame.key.set_repeat(600,120); key_ms=pygame.time.get_ticks() going=True while going: if self.journal: # Pump GTK messages. while gtk.events_pending(): gtk.main_iteration() # Pump PyGame messages. for event in pygame.event.get(): if event.type==pygame.QUIT: if not self.journal: utils.save() going=False elif event.type == pygame.MOUSEMOTION: g.pos=event.pos g.redraw=True if self.canvas<>None: self.canvas.grab_focus() elif event.type == pygame.MOUSEBUTTONDOWN: g.redraw=True if event.button==1: if self.do_click(): pass else: bu=buttons.check() if bu!='': self.do_button(bu); self.flush_queue() elif event.type == pygame.KEYDOWN: # throttle keyboard repeat if pygame.time.get_ticks()-key_ms>110: key_ms=pygame.time.get_ticks() if ctrl: if event.key==pygame.K_q: if not self.journal: utils.save() going=False; break else: ctrl=False if event.key in (pygame.K_LCTRL,pygame.K_RCTRL): ctrl=True; break self.do_key(event.key); g.redraw=True self.flush_queue() elif event.type == pygame.KEYUP: ctrl=False if not going: break if g.redraw: self.display() if g.version_display: utils.version_display() g.screen.blit(g.pointer,g.pos) pygame.display.flip() g.redraw=False self.update() g.clock.tick(40)
def run(self): g.init() if not self.journal: utils.load() self.tess_n = g.tess_n self.max_n = g.max_n else: g.tess_n = self.tess_n g.max_n = self.max_n self.tessl = tess.Tess(g.tesses[g.tess_n - 1]) dx = g.sy(2.4) bx = g.sx(16) - dx / 2 by = g.sy(20.2) buttons.Button("back", (bx, by), True) bx += dx buttons.Button("fd", (bx, by), True) bx = g.sx(16) by = g.sy(11) buttons.Button("solve", (bx, by), True) if self.journal: # Sugar only a, b, c, d = pygame.cursors.load_xbm('my_cursor.xbm', 'my_cursor_mask.xbm') pygame.mouse.set_cursor(a, b, c, d) going = True while going: # Pump GTK messages. while gtk.events_pending(): gtk.main_iteration() # Pump PyGame messages. for event in pygame.event.get(): if event.type == pygame.QUIT: if not self.journal: utils.save() going = False elif event.type == pygame.MOUSEMOTION: g.redraw = True elif event.type == pygame.MOUSEBUTTONDOWN: g.redraw = True if event.button == 2: # centre button if not self.journal: g.version_display = not g.version_display break bu = '' if not self.tessl.carrying: bu = buttons.check() if bu <> '': self.do_button(bu) else: self.tessl.click() self.tessl.update() if g.redraw: self.display() if g.version_display: utils.version_display() pygame.display.flip() g.redraw = False tf = False if pygame.mouse.get_focused(): tf = True pygame.mouse.set_visible(tf) g.clock.tick(40)
def run(self): g.init() if not self.journal: utils.load() self.oms = [] for n in range(3, 8): omm = om.Om(n) omm.setup() self.oms.append(omm) load_save.retrieve() self.omm = self.oms[g.level - 1] self.buttons_setup() self.slider = slider.Slider(g.sx(10.5), g.sy(20), 5, utils.YELLOW) going = True while going: # Pump GTK messages. while gtk.events_pending(): gtk.main_iteration() # Pump PyGame messages. for event in pygame.event.get(): if event.type == pygame.QUIT: # only in standalone version if not self.journal: utils.save() going = False elif event.type == pygame.MOUSEMOTION: g.pos = event.pos self.omm.mouse_move() g.redraw = True if self.canvas <> None: self.canvas.grab_focus() elif event.type == pygame.MOUSEBUTTONDOWN: g.redraw = True if event.button == 2: # centre button if not self.journal: g.version_display = not g.version_display if event.button == 1: if self.do_click(): pass elif self.slider.mouse(): # level changed self.omm = self.oms[g.level - 1] else: bu = buttons.check() if bu != '': self.do_button(bu) if event.button == 3: # right button self.do_button('try') elif event.type == pygame.KEYDOWN: self.do_key(event.key) g.redraw = True if not going: break if g.redraw: self.display() if not self.journal: # not on XO if g.version_display: utils.version_display() g.screen.blit(g.pointer, g.pos) pygame.display.flip() g.redraw = False g.clock.tick(40)
def do_click(self): self.glow_off() if self.click(): return if not self.sugar: bu = buttons.check() if bu != '': self.do_button(bu) return if self.slider.mouse(): self.set_delay()
def do_key(self, key): if key in g.CROSS: bu = buttons.check() if bu != '': self.do_button(bu) return if g.state == 1: self.check_numbers() return if key in g.UP: if self.back_button.mouse_on(): if g.state == 1: self.mouse_init() elif buttons.active('back'): buttons.set_mouse('back') if g.state == 2: self.mouse_ind = 0 return if key in g.DOWN: if buttons.active('back'): if g.state in (1, 3): buttons.set_mouse('back') return if key in g.RIGHT: if not self.complete(): self.mouse_right() return if key in g.LEFT: if not self.complete(): self.mouse_left() return if key == pygame.K_m: self.mouse_auto = not self.mouse_auto self.mouse_init() return if key in g.SQUARE or key in g.CIRCLE: self.do_button('new') return if key in g.TICK: self.inc_level() return if key == pygame.K_v: g.version_display = not g.version_display return
def run(self, restore=False): self.g_init() if not self.journal: utils.load() load_save.retrieve() if restore: self.restore_pattern() else: g.delay = (3 - g.level) * 400 self.tu = my_turtle.TurtleClass() self.tu.current = [1, 1, 1, 3, 2] self.get_goal() if g.pattern == 1: self.tu.current = utils.copy_list(g.goal) self.tu.setup(self.colors[0]) g.numbers = utils.copy_list(self.tu.current) #buttons x = g.sx(7.3) y = g.sy(16.5) dx = g.sy(2.6) if not self.sugar: buttons.Button("cyan", (x, y), True) x += dx buttons.off('cyan') buttons.Button("green", (x, y), True) x += dx buttons.Button("red", (x, y), True) x += dx buttons.Button("black", (x, y), True) x += dx self.slider = slider.Slider(g.sx(23.5), g.sy(21), 3, utils.YELLOW) self.mouse_1st_no() # to 1st number if self.canvas is not None: self.canvas.grab_focus() ctrl = False pygame.key.set_repeat(600, 120) key_ms = pygame.time.get_ticks() going = True while going: if self.journal: # Pump GTK messages. while gtk.events_pending(): gtk.main_iteration() # Pump PyGame messages. for event in pygame.event.get(): if event.type == pygame.QUIT: if not self.journal: utils.save() going = False elif event.type == pygame.MOUSEMOTION: g.pos = event.pos g.redraw = True if self.canvas is not None: self.canvas.grab_focus() elif event.type == pygame.MOUSEBUTTONDOWN: g.redraw = True if g.big: g.big = False else: bu = buttons.check() if bu != '': self.do_button(bu) self.flush_queue() elif not self.sugar: if utils.mouse_on_img1(g.magician, g.magician_c): self.help2() elif utils.mouse_in(g.x1, g.y0, g.x1 + g.bw, g.y0 + g.bw): self.big_pic() elif self.slider.mouse(): g.delay = (3 - g.level) * 400 else: g.show_help = False self.check_nos(event.button) else: g.show_help = False self.check_nos(event.button) elif event.type == pygame.KEYDOWN: # throttle keyboard repeat if pygame.time.get_ticks() - key_ms > 110: key_ms = pygame.time.get_ticks() if ctrl: if event.key == pygame.K_q: if not self.journal: utils.save() going = False break else: ctrl = False if event.key in (pygame.K_LCTRL, pygame.K_RCTRL): ctrl = True break self.do_key(event.key) g.redraw = True self.flush_queue() elif event.type == pygame.KEYUP: ctrl = False if not going: break if self.tu.running: self.tu.move() if not g.crash_drawn: g.crash_drawn = True g.redraw = True if g.redraw: self.display() if g.version_display: utils.version_display() g.screen.blit(g.pointer, g.pos) pygame.display.flip() g.redraw = False g.clock.tick(40)
def run(self, restore=False): g.init() for event in pygame.event.get(): if event.type == pygame.QUIT: return elif event.type == pygame.VIDEORESIZE: pygame.display.set_mode(event.size, pygame.RESIZABLE) break if not self.journal: utils.load() self.trip = trip.Trip(self.sugar, self.label, self.colors[0]) self.trip.setup() load_save.retrieve() self.buttons_setup() if self.canvas is not None: self.canvas.grab_focus() ctrl = False pygame.key.set_repeat(600, 120) key_ms = pygame.time.get_ticks() going = True while going: if self.journal: # Pump GTK messages. while Gtk.events_pending(): Gtk.main_iteration() # Pump PyGame messages. for event in pygame.event.get(): if event.type == pygame.QUIT: # only in standalone version if not self.journal: utils.save() going = False elif event.type == pygame.MOUSEMOTION: g.pos = event.pos self.trip.check_mouse() g.redraw = True if self.canvas is not None: self.canvas.grab_focus() elif event.type == pygame.MOUSEBUTTONDOWN: g.redraw = True if event.button == 1: bu = buttons.check() if bu != '': self.do_button(bu) else: if self.trip.check_mouse(): self.do_click() self.flush_queue() elif event.type == pygame.KEYDOWN: # throttle keyboard repeat if pygame.time.get_ticks() - key_ms > 110: key_ms = pygame.time.get_ticks() if ctrl: if event.key == pygame.K_q: if not self.journal: utils.save() going = False break else: ctrl = False if event.key in (pygame.K_LCTRL, pygame.K_RCTRL): ctrl = True break self.do_key(event.key) g.redraw = True self.flush_queue() elif event.type == pygame.KEYUP: ctrl = False if not going: break if g.redraw: self.display() if g.version_display: utils.version_display() g.screen.blit(g.pointer, g.pos) pygame.display.flip() g.redraw = False if self.trip.delay: pygame.time.delay(1000) self.trip.delay = False self.trip.gone() g.redraw = True self.trip.complete() g.clock.tick(40)
def run(self, restore=False): self.black = False g.init() if not self.journal: utils.load() load_save.retrieve() x = g.sx(26) y = g.sy(11.2) if not self.sugar: buttons.Button("new", (x, y)) x, y = g.cxy2 dx = g.sy(4) self.back_button = buttons.Button("back", (x, y)) x += dx buttons.Button("plus", (x, y)) x += dx buttons.Button("times", (x, y)) x += dx buttons.Button("equals", (x, y)) self.ops = ['back', 'plus', 'times', 'equals'] if not self.sugar: self.slider = slider.Slider(g.sx(22.4), g.sy(20.5), 10, utils.GREEN) self.mouse_auto = True self.anim_ms = None self.level1() # initial animation self.scored = False if restore: g.score = self.save_score ctrl = False pygame.key.set_repeat(600, 120) key_ms = pygame.time.get_ticks() going = True if self.canvas is not None: self.canvas.grab_focus() while going: if self.journal: # Pump GTK messages. while gtk.events_pending(): gtk.main_iteration() # Pump PyGame messages. for event in pygame.event.get(): if event.type == pygame.QUIT: if not self.journal: utils.save() going = False elif event.type == pygame.MOUSEMOTION: g.pos = event.pos g.redraw = True if self.canvas is not None: self.canvas.grab_focus() elif event.type == pygame.MOUSEBUTTONDOWN: g.redraw = True self.anim_end() if event.button == 1: bu = buttons.check() if bu == '': if not self.check_numbers(): if not self.sugar: if self.slider.mouse(): self.level1() else: self.do_button(bu) # eg do_button('plus') self.flush_queue() elif event.type == pygame.KEYDOWN: self.anim_end() # throttle keyboard repeat if pygame.time.get_ticks() - key_ms > 110: key_ms = pygame.time.get_ticks() if ctrl: if event.key == pygame.K_q: if not self.journal: utils.save() going = False break else: ctrl = False if event.key in (pygame.K_LCTRL, pygame.K_RCTRL): ctrl = True break self.do_key(event.key) g.redraw = True self.flush_queue() elif event.type == pygame.KEYUP: ctrl = False if not going: break self.animation() if g.redraw: self.display() if g.version_display: utils.version_display() if not self.black: g.screen.blit(g.pointer, g.pos) pygame.display.flip() g.redraw = False g.clock.tick(40)
def run(self, restore=False): g.init() if not self.journal: utils.load() self.let = let.Let() # setup before retrieve load_save.retrieve() self.buttons_setup() if self.canvas is not None: self.canvas.grab_focus() ctrl = False pygame.key.set_repeat(600, 120) key_ms = pygame.time.get_ticks() going = True while going: if self.journal: # Pump GTK messages. while Gtk.events_pending(): Gtk.main_iteration() # Pump PyGame messages. for event in pygame.event.get(): if event.type == pygame.QUIT: if not self.journal: utils.save() going = False elif event.type == pygame.MOUSEMOTION: g.pos = event.pos g.redraw = True if self.canvas is not None: self.canvas.grab_focus() elif event.type == pygame.MOUSEBUTTONDOWN: g.redraw = True if event.button == 1: if not self.sugar and g.help_on: g.help_on = False buttons.on('help') elif self.do_click(): pass else: bu = buttons.check() if bu != '': self.do_button(bu) self.flush_queue() if not self.sugar and event.button == 3: g.help_on = True buttons.off('help') elif event.type == pygame.KEYDOWN: if not self.sugar and event.key not in g.CIRCLE: g.help_on = False buttons.on('help') # throttle keyboard repeat if pygame.time.get_ticks() - key_ms > 110: key_ms = pygame.time.get_ticks() if ctrl: if event.key == pygame.K_q: if not self.journal: utils.save() going = False break else: ctrl = False if event.key in (pygame.K_LCTRL, pygame.K_RCTRL): ctrl = True break self.do_key(event.key) g.redraw = True self.flush_queue() elif event.type == pygame.KEYUP: ctrl = False if not going: break if g.state == 1: self.let.choose() if g.redraw: self.display() if g.version_display: utils.version_display() if g.state != 1: g.screen.blit(g.pointer, g.pos) pygame.display.flip() g.redraw = False g.clock.tick(40)
def run(self, restore=False): g.init() if not self.journal: utils.load() self.let = let.Let() # setup before retrieve load_save.retrieve() self.buttons_setup() if self.canvas is not None: self.canvas.grab_focus() pygame.key.set_repeat(600, 120) going = True while going: if self.journal: # Pump GTK messages. while Gtk.events_pending(): Gtk.main_iteration() if not going: break # Pump PyGame messages. for event in pygame.event.get(): if event.type == pygame.QUIT: if not self.journal: utils.save() return elif event.type == pygame.VIDEORESIZE: pygame.display.set_mode(event.size, pygame.RESIZABLE) g.redraw = True elif event.type == pygame.MOUSEMOTION: g.pos = event.pos g.redraw = True if self.canvas is not None: self.canvas.grab_focus() elif event.type == pygame.MOUSEBUTTONDOWN: g.redraw = True if event.button == 1: if not self.sugar and g.help_on: g.help_on = False buttons.on('help') elif self.do_click(): pass else: bu = buttons.check() if bu != '': self.do_button(bu) if not self.sugar and event.button == 3: g.help_on = True buttons.off('help') elif event.type == pygame.KEYDOWN: if not self.sugar and event.key not in g.CIRCLE: g.help_on = False buttons.on('help') self.do_key(event.key) g.redraw = True elif event.type == pygame.KEYUP: pass if not going: break if g.state == g.STATE_SETUP: self.let.choose() if g.redraw: self.display() if g.version_display: utils.version_display() if g.state != g.STATE_SETUP: g.screen.blit(g.pointer, g.pos) pygame.display.flip() g.redraw = False g.clock.tick(40)