我目前正在編寫一個3.2 python蛇和pygame下的過程,但是當我的蛇進步時,我遇到了一個問題。 前進,而不是回來,所以它以某種方式繪製。 如果有錯誤,我會很沮喪,我是法國人。 這裏是源代碼:python和pygame上的蛇3.2
import pygame, time
from pygame.locals import *
pygame.init()
mur = pygame.image.load("carrenoir.jpg")
a="mur"
b="fond"
c="serpent"
fenetre = pygame.display.set_mode((900, 900))
fond = pygame.image.load("carrenoir.jpg").convert()
serpent = pygame.image.load("carrevert.jpg").convert()
mur = pygame.image.load("carreblanc.jpg").convert()
pomme = pygame.image.load("pomme.jpg").convert()
t=[1]*21
for i in range(0,21):
t[i]=[1]*21
for i in range(0,21):
t[0][i]=a
t[i][20]=a
t[20][i]=a
t[i][0]=a
t[8][7]=c
t[8][8]=c
t[8][9]=c
queue_i=8
queue_j=9
tete_i=8
tete_j=7
sens=1#1 haut2 droite 3 bas et 4 gauche
for i in range(0,21):
print(t[i])
def affiche(t):
for i in range(0,21):
for j in range(0,21):
if t[i][j]=="mur":
fenetre.blit(mur, (40*i+40,40*j+40))
if t[i][j]=="fond":
fenetre.blit(fond, (40*i+40,40*j+40))
if t[i][j]=="serpent":
fenetre.blit(serpent, (40*i+40,40*j+40))
pygame.display.flip()
affiche(t)
continuer = 1
while continuer:
for event in pygame.event.get():
if event.type == QUIT:
continuer = 0
if event.type == KEYDOWN:
if event.key == K_LEFT:
if sens==3:
sens=4
elif sens==4:
sens=4
elif sens==1:
sens=4
elif sens==2:
sens=2
if event.key == K_RIGHT:
if sens==3:
sens=2
elif sens==4:
sens=4
elif sens==1:
sens=2
elif sens==2:
sens=2
if event.key == K_UP:
if sens==3:
sens=3
elif sens==4:
sens=1
elif sens==1:
sens=1
elif sens==2:
sens=1
if event.key == K_DOWN:
if sens==1:
sens=1
elif sens==3:
sens=3
elif sens==4:
sens=3
elif sens==2:
sens=3
if sens==4:
if sens==3:
tete_j=tete_j+1
if sens==2:
tete_i=tete_i+1
if sens==1:
tete_j=tete_j-1
time.sleep(0.1)
t[queue_i][queue_j]="fond"
t[tete_i][tete_j]=c
affiche(t)
Some french word in english
affiche=print
serpent=snake
tete=head
queue=tail
continuer=continue
fenêtre=window
mur=wall
fond=background
確保使用格式工具,使您的代碼更好地閱讀。另外,你不需要在每行代碼之間有一個空行! – wrgrs
現在好點了嗎?對不起,我從本網站開始 – SKY