Retourner au contenu associé (entrée de forum : aide Turtle)
Posté par gled le 05 décembre 2024 à 09:59. En réponse au message aide Turtle. Évalué à 2.
Voici un simple exemple.
import turtle SQUARE_SIZE = 60 MAZE = ( '1111111111', '1000000001', '1011111101', '1010101001', '1010001011', '1010111101', '1010000001', '1011011101', '1000001001', '1111111111', ) SCREEN_WIDTH = (len(MAZE[0]) + 2) * SQUARE_SIZE SCREEN_HEIGHT = (len(MAZE[1]) + 2) * SQUARE_SIZE TOP = -SCREEN_HEIGHT // 2 LEFT = SCREEN_WIDTH // 2 PLAYER = dict( turtle=turtle.Turtle(), color='blue', x=1, y=1, ) def square_draw(x, y, size, color): turtle.up() turtle.goto(x, y) turtle.down() turtle.fillcolor('red') turtle.begin_fill() for _ in range(4): turtle.forward(size) turtle.right(90) turtle.up() turtle.end_fill() def maze_draw(maze): for y, line in enumerate(maze): for x, value in enumerate(line): if value == '1': square_draw( x * SQUARE_SIZE - LEFT + SQUARE_SIZE, y * -SQUARE_SIZE - TOP - SQUARE_SIZE, SQUARE_SIZE, 'red' ) def player_draw(player): player['turtle'].clear() player['turtle'].up() x = player['x'] * SQUARE_SIZE - LEFT + SQUARE_SIZE * 1.5 y = player['y'] * -SQUARE_SIZE - TOP - SQUARE_SIZE * 1.75 player['turtle'].goto(x, y) player['turtle'].down() player['turtle'].fillcolor(player['color']) player['turtle'].begin_fill() player['turtle'].circle(SQUARE_SIZE // 4) player['turtle'].end_fill() turtle.hideturtle() turtle.speed(0) screen = turtle.Screen() screen.setup(SCREEN_WIDTH, SCREEN_HEIGHT) PLAYER['turtle'].hideturtle() PLAYER['turtle'].speed(0) maze_draw(MAZE) player_draw(PLAYER) def player_move_left(maze, player): if maze[player['y']][player['x'] - 1] == '1': return player['x'] -= 1 player_draw(player) def player_move_right(maze, player): if maze[player['y']][player['x'] + 1] == '1': return player['x'] += 1 player_draw(player) def player_move_up(maze, player): if maze[player['y'] - 1][player['x']] == '1': return player['y'] -= 1 player_draw(player) def player_move_down(maze, player): if maze[player['y'] + 1][player['x']] == '1': return player['y'] += 1 player_draw(player) turtle.onkeypress(lambda: player_move_left(MAZE, PLAYER), 'Left') turtle.onkeypress(lambda: player_move_right(MAZE, PLAYER), 'Right') turtle.onkeypress(lambda: player_move_up(MAZE, PLAYER), 'Up') turtle.onkeypress(lambda: player_move_down(MAZE, PLAYER), 'Down') turtle.listen() turtle.done()
Y a sans doute des trucs à revoir, et si t'es familier avec l'objet python, faire des classes.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# Un simple exemple
Posté par gled . En réponse au message aide Turtle. Évalué à 2.
Voici un simple exemple.
Y a sans doute des trucs à revoir, et si t'es familier avec l'objet python, faire des classes.