Snake-Python-Minispiel (Quellcode + Kommentare + Einfügen und Spielen) Dieses Snake-Spiel ist sehr einfach und vermeidet die Verwendung von Pygame, das schwer zu laden ist:
Beim Zeichnen von Spielbildern verwenden wir Turtle Graphics in der Datenbank, die leichter als Pygame ist.
from turtle import * # "*"是引用所有函数 def square(x, y, size, color_name): up() goto(x, y) down() color(color_name) begin_fill() forward(size) left(90) forward(size) left(90) forward(size) left(90) forward(size) left(90) end_fill()
Das Obige ist das Zeichnen durch die Schildkröte, die vorrückende Einheit Nach der Distanz, Um 90 Grad drehen und dann erneut um 90 Grad drehen, bis ein kleines Quadrat gezeichnet ist.
Verweisen Sie auf die Datenbank, die wir gerade gezeichnet haben Schleife (Entspricht dem Schleifenthread in Java)
from turtle import * from gamebase import square from random import randrange
Drawing Snake (snake.py)
setup(420,420,0,0) //隐藏乌龟头 emoj.emoj. hideturtle //隐藏轨迹 tracer(False) //绘制 done()
Prinzip der Schlangenbewegung: Um die Bewegung der Schlange zu erleichtern, müssen wir die Schlange in die Warteschlange umdrehen. Wenn sie sich bewegt, werfen wir das erste Element von Fügen Sie der Schlangenwarteschlange (pop()) ein Element am Ende der Schlange hinzu (append()). Antwort
def gameLoop(): //随机生成苹果 apple_x = randrange(-200, 200) apple_y = randrange(-200, 200) //绘制苹果 square(apple_x, apple_y, 10, "red") //刷新画布 update()
Bestimmen, ob die Schlange den Apfel gefressen hat
Das ist auch sehr einfach. Wir müssen nur vergleichen, ob die horizontalen und vertikalen Koordinaten der Schlange sind Kopf sind gleich den horizontalen und vertikalen Koordinaten des Apfels (Schlangenkopf stimmt mit dem Apfel überein)
def gameLoop(): //随机生成苹果 apple_x = randrange(-200, 200) apple_y = randrange(-200, 200) //绘制蛇 for n in range(len(sanke)): square(snake[n][0],snake[n][1[],10,"black) //绘制苹果 square(apple_x, apple_y, 10, "red") //刷新画布 update()
Dieses Prinzip ähnelt dem oben genannten Prinzip, ob die Schlange den Apfel frisst
global apple_x, apple_y, snake, aim_x, aim_y #全局变量申请snake.append([ snake[-1][0] + aim_x, snake[-1][1] + aim_y ])snake.pop(0)global apple_x, apple_y, snake, aim_x, aim_y #全局变量申请 snake.append([ snake[-1][0] + aim_x, snake[-1][1] + aim_y ]) snake.pop(0)
ontimer(gameLoop, 100) # 每100毫秒运行一下gameLoop函数
Spielquellcode
listen() #监听 onkey(lambda: change(0, 10), "w") onkey(lambda: change(0, -10), "s") onkey(lambda: change(-10, 0), "a") onkey(lambda: change(10, 0), "d") gameLoop()
snake
Das obige ist der detaillierte Inhalt vonWie schreibe ich ein Snake-Spiel in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!