class PracticeGame(Game): def initialize(self): Game.initialize(self) self.set_background(color=(50, 90, 130)) self.target = Target() #self.target.draw() self.count = Score(pos=(20, 30), label='Targets:') self.count.addPoints(5) self.score = Score(pos=(20, 60), label='Moves:') self.score.addPoints(10) self.player = InteractPenguin() self.player.penUp() self.sprites.add(self.player) self.moveTarget() def moveTarget(self): self.target.poof() while self.player.rect.colliderect(self.target.rect): self.target.poof() def message(self, m): t = Drawable.String(self.window, m) p = CirclePath(duration=10) t.set_path(p) try: t.runPath() except: pass wait(2000) os._exit(0) def win(self): self.message('YOU WIN !') def lose(self): self.message('YOU LOSE !') def forward(self, dist): self.player.forward(dist) self.score.addPoints(-1) if not self.score.score.points: self.lose() self.mainloop(1) if self.player.rect.colliderect(self.target.rect): self.count.addPoints(-1) self.player.blink(5) if not self.count.score.points: self.win() self.moveTarget() self.mainloop(1) def backward(self, dist): self.forward(-dist)