Heim  >  Artikel  >  Backend-Entwicklung  >  Wie schreibe ich ein Snake-Spiel in Python?

Wie schreibe ich ein Snake-Spiel in Python?

王林
王林nach vorne
2023-05-09 20:55:063330Durchsuche

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:

Wie schreibe ich ein Snake-Spiel in Python?

Wie schreibe ich ein Snake-Spiel in Python?

Spielcode-Implementierung

1. Bilder zeichnen

Beim Zeichnen von Spielbildern verwenden wir Turtle Graphics in der Datenbank, die leichter als Pygame ist.

Erstellen Sie die Datenbank (gamebase.py)
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.

Apfel zeichnen (snake.py)

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)

Beachten Sie, dass wir uns Snake als Warteschlange vorstellen können und jedes Element in dieser Warteschlange zwei Variablen enthält ( Die horizontalen und vertikalen Koordinaten der Element)
setup(420,420,0,0)
//隐藏乌龟头 emoj.emoj.
hideturtle
//隐藏轨迹
tracer(False)

//绘制
done()
Zeichnen Sie die Bewegung der gierigen Schlange

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

Wir müssen einen Tastaturmonitor einrichten, was für Python sehr einfach ist
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()
Bestimmen Sie, ob die Schlange Sie beißt

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)
Bestimmen Sie ob sich die Schlange innerhalb der Grenzen befindet
ontimer(gameLoop, 100)
 # 每100毫秒运行一下gameLoop函数

Spielquellcode

gamebase.py
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen