def track(move=False): tommy.seth(tommy.towards(tina)) if intersect(tina, tommy): tommy.write("tag!") elif move: tommy.forward(9) else: tommy.forward(1) checkpos([tina, tommy], screen) screen.tracer(1)
def track(self, move=False): self.seth(self.towards(self.target)) if intersect(self.target, self): self.write("tag!") elif move: self.forward(9) else: self.forward(1) checkpos([self.target, self], screen) screen.tracer(1)
def play(): # Tell the screen to listen for key presses screen.listen() # Check boxes' hit state hits = [] for box in boxturtles: hits.append(box.hit) # If all boxes are hit, the game is over! if False not in hits: printwin(tina) return mover = choice(boxturtles) if not mover.hit: mover.move() checkpos(boxturtles) # start the function over in 100 miliseconds (.1 seconds) screen.ontimer(play, 100)
def play(): # Tell the screen to listen for key presses screen.listen() global level_index # Check boxes' hit state hits = [] for box in boxturtles: hits.append(box.hit) scorecounter.update(hits.count(True)) # Boomradius boomradius = (hits.count(True) + 1) * game_levels[level_index]["box_minspeed"] * 1.5 mover = choice(boxturtles) if not mover.hit: mover.move() # Sometimes,a turtle will awaken else: if randint(0, 1500) < level_index * len(boxturtles): mover.awaken() # If all boxes are hit, the game is over! if False not in hits: for box in boxturtles: box.hideturtle() level_index += 1 if level_index < len(game_levels): # Save score scorecounter.total += hits.count(True) tina.clear() turtle.hideturtle() turtle.penup() turtle.write(game_levels[level_index]['title'], font=("Arial", 30), align="center") sleep(2) turtle.clear() # Next level setup_level(game_levels[level_index], screen) # Update level display levelcounter.update(level_index) else: printwin() return checkpos(boxturtles) # Vary loop speed with number of turtles screen.ontimer(play, 200 / len(boxturtles))
def track(self, move=False): screen.tracer(0) self.seth(self.towards(self.target) + random.randint(-25, 25)) self.width(self.distance(self.target.pos()) // 20) if intersect(self.target, self): x, y = self.pos() c1 = abs(x) c2 = abs(y) c3 = max(256, abs(sum([x, y]))) self.color((c1, c2, c3)) self.penup() self.goto(self.start) self.pendown() elif move: self.forward(9 + random.randint(-4, 0)) else: self.forward(1) checkpos([self.target, self], screen) screen.tracer(1)
def track(self, move=False): screen.tracer(0) self.seth(self.towards(self.target) + random.randint(-25,25)) self.width(self.distance(self.target.pos()) //20) if intersect(self.target,self): x,y = self.pos() c1 = abs(x) c2 = abs(y) c3 = max(256, abs(sum([x,y]))) self.color((c1, c2, c3)) self.penup() self.goto(self.start) self.pendown() elif move: self.forward(9+random.randint(-4,0)) else: self.forward(1) checkpos([self.target,self],screen) screen.tracer(1)
def play(): # Tell the screen to listen for key presses screen.listen() global level_index # Check boxes' hit state hits = [] for box in boxturtles: hits.append(box.hit) scorecounter.update(hits.count(True)) # Boomradius boomradius = (hits.count(True)+1) * game_levels[level_index]["box_minspeed"] * 1.5 mover = choice(boxturtles) if not mover.hit: mover.move() # Sometimes,a turtle will awaken else: if randint(0,1500) < level_index * len(boxturtles): mover.awaken() # If all boxes are hit, the game is over! if False not in hits: for box in boxturtles: box.hideturtle() level_index += 1 if level_index < len(game_levels): # Save score scorecounter.total += hits.count(True) tina.clear() turtle.hideturtle() turtle.penup() turtle.write(game_levels[level_index]['title'], font = ("Arial", 30), align = "center") sleep(2) turtle.clear() # Next level setup_level(game_levels[level_index], screen) # Update level display levelcounter.update(level_index) else: printwin() return checkpos(boxturtles) # Vary loop speed with number of turtles screen.ontimer(play, 200/len(boxturtles))
def go_backward(): tina.backward(10) check_intersect() checkpos([tina])
def go_forward(): tina.forward(10) check_intersect() checkpos([tina])