def fire(): ship.fireBullet() def quit(): turtle.goto(0, screenMaxY - 100) turtle.color('green') turtle.write("Thanks for playing!", font=("Arial", 30), align="center") sleep(1) exit() turtle.hideturtle() screen.tracer(0); screen.onkey(turnLeft, 'Left') screen.onkey(turnRight, 'Right') screen.onkey(go, 'Up') screen.onkey(fire, 'x') screen.onkey(quit, 'q') screen.listen() play() screen.mainloop() print("Done")
#Lager lamper a = Lampe() b = Lampe() # Lager skilpadder a.lag_skilpadde() b.lag_skilpadde() a.turtle.forward(100) b.turtle.backward(100) #Skru på B def ff_pa_aav(tut, paa_av): def factory_slaa(): def slaa(): tut.slaa_ + 'paa_av'+ () return slaa_ + 'paa_av' s.onkey(ff_pa_aav(a, 'paa'), 'a') s.onkey(ff_pa_aav(a, 'av'), 'z') s.onkey(ff_pa_aav(b, 'paa'), 's') s.onkey(ff_pa_aav(b, 'av'), 'x') s.listen() s.mainloop()
class TetrisBoard(object): def __init__(self, cols, rows): self.cols, self.rows = cols, rows self.screen = Screen() self.screen.screensize(BLOCKWIDTH*cols-50, BLOCKWIDTH*rows-50) self.screen.setup(BLOCKWIDTH*cols+12, BLOCKWIDTH*rows+12) self.screen.title("Turtle Tetris") self.screen.bgcolor("black") self.writer = Turtle() self.writer.ht() self.label = None self.grid = {} self.screen.tracer(False) for row in range(rows): for col in range(cols): self.grid[(col, row)] = TetrisTurtle(col, row) self.screen.tracer(True) self.brick = TetrisBrick(self) self.result = 0 self.LEVEL = 0.6 self.keybuffer = KeyBuffer(self.screen, ["Right", "Left", "Up", "Down", "space", "Escape"]) self.reset() self.screen.listen() self.t1 = time() def reset(self): self.result = 0 self.LEVEL = 0.600 self.screen.tracer(False) self.writer.clear() if self.label: self.writer.clearstamp(self.label) for x in range(COLUMNS): for y in range(ROWS): self.grid[(x,y)].fillcolor("") self.screen.tracer(True) self.state = "NEWBRICK" def blink(self, y, n=1): for _ in range(n): for color in ("white", "black"): self.screen.tracer(False) for x in range(COLUMNS): self.grid[(x,y)].pencolor(color) sleep(self.LEVEL/10.0) self.screen.tracer(True) def display_result(self): tb = self tb.writer.color("white", "gray20") tb.writer.shape("square") tb.writer.shapesize(5, 15) tb.writer.goto(-4 ,0) self.label = tb.writer.stamp() tb.writer.goto(-2,3) tb.writer.write(str(tb.result) + " rows!", align="center", font = ("Courier", 24, "bold") ) tb.writer.goto(-2,-22) tb.writer.write("New game : <spacebar>", align="center", font = ("Courier", 16, "bold") ) tb.writer.goto(-2,-42) tb.writer.write("Quit : <escape>", align="center", font = ("Courier", 16, "bold") ) def getcolor(self, col, row): return self.grid[(col, row)].fillcolor() def setcolor(self, col, row, color): return self.grid[(col, row)].fillcolor(color) def rowfree(self, row): return not any([self.getcolor(col, row) for col in range(COLUMNS)]) def rowfull(self, row): return all([self.getcolor(col, row) for col in range(COLUMNS)]) def cleanup(self, shp): try: ymax = max([y for (x,y) in shp]) except ValueError: self.state = "FINIS" return currenty = ymax while currenty > 0: if self.rowfull(currenty): self.blink(currenty, 2) self.result += 1 if self.result == 8: self.LEVEL = 0.4 elif self.result == 20: self.LEVEL = 0.25 y = currenty while True: self.screen.tracer(False) for c in range(COLUMNS): self.setcolor(c, y, self.getcolor(c, y-1)) self.screen.tracer(True) if self.rowfree(y): break else: y -= 1 else: currenty -= 1 tetris.state = "NEWBRICK" def run(self): tb = self b = self.brick ### actions to be done unconditionally if tb.state == "NEWBRICK": if b.reset(): self.t1 = time() tb.state = "FALL" else: tb.state = "FINIS" t2 = time() if tb.state == "FALL" and t2 - self.t1 > self.LEVEL: b.down() b.apply("Step") self.t1 = t2 ### actions bound to key events key = self.keybuffer.getkey() if key: if tb.state == "FALL": if key == "Left": b.shiftleft() elif key == "Right": b.shiftright() elif key == "Down": b.drop() tb.state = "CLEANUP" elif key == "Up": b.turn() elif key == "space": tb.state = "BREAK" b.apply(key) elif tb.state == "BREAK": if key == "space": tb.state = "FALL" elif tb.state == "ADE": if key == "space": tb.reset() tb.state = "NEWBRICK" elif key == "Escape": tb.screen.bye() if tb.state == "CLEANUP": tb.cleanup(b.shape1) if tb.state == "FINIS": tb.display_result() tb.state = "ADE" self.screen.ontimer(self.run, 100)
food.refresh() snake.extend() scoreboard.refresh_score() # Detect collision with wall. if snake.head.xcor() > MAX_PLUS_POSITION or snake.head.xcor( ) < MAX_MINUS_POSITION or snake.head.ycor( ) > MAX_PLUS_POSITION or snake.head.ycor() < MAX_MINUS_POSITION: game_is_on = False scoreboard.game_over() # Detect collision with tail. for segment in snake.segments[1:]: if snake.head.distance(segment) < 10: game_is_on = False scoreboard.game_over() while True: try: if keyboard.is_pressed('space'): food.visib() snake.visib() scoreboard.visib() break except: break game() screen.listen() screen.onkey(game, 'space') screen.exitonclick()