gpt4 book ai didi

python - Pygame 迷宫一直卡住

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:48 24 4
gpt4 key购买 nike

<分区>

我是编码新手(对基本概念有点熟悉)。试图用 Pygame 创建一个迷宫,但它一直卡住,我不确定是什么问题。

代码基本上是这样的: map 是一个二维数组(每个数字是不同的图片),并将每张图片放在它的位置。 “if pressed[pygame.K_w]:”是为了测试我是否可以成功移动玩家。

import sys
sys.path.append('C:/Users/User_Name/AppData/Local/Programs/Python/Python37-32/Lib/site-packages')
import pygame
pygame.init()

print(pygame.ver)

xPlayer = 50
yPlayer = 50

class maze:
def __init__(self):
self.width = 10
self.lenght = 10
self.map = [
[1, 1, 1, 1, 1, 1, 1, 3, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 0, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 0, 1, 1, 1, 1],
[1, 1, 0, 0, 0, 0, 1, 1, 1, 1],
[1, 1, 0, 1, 1, 0, 1, 1, 1, 1],
[2, 0, 0, 1, 1, 0, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
]
def drawMap(self,display_surf,image_wall, image_start, image_finish, image_target, image_player):
mapX = 0
mapY = 0
for i in range(0,self.width):
for j in range(0,self.lenght):
if self.map[i][j] == 1:
display_surf.blit(image_wall, (i*xPlayer, j*yPlayer))
elif self.map[i][j] == 2:
display_surf.blit(image_start, (i*xPlayer, j*yPlayer))
elif self.map[i][j] == 3:
display_surf.blit(image_finish, (i*xPlayer, j*yPlayer))
#elif self.map[i][j] == 15:
#display_surf.blit(image_target, (i*xPlayer, j*yPlayer))
#elif self.map[i][j] == 30:
#display_surf.blit(image_player, (i*xPlayer, j*yPlayer))
def movePlayer(self, display_surf, image_player):
#elif self.map[i][j] == 15:
#display_surf.blit(image_target, (i*xPlayer, j*yPlayer))
for i in range(0,self.width):
for j in range(0,self.lenght):
if self.map[i][j] == 30:
display_surf.blit(image_player, (i*xPlayer, j*yPlayer))
if pressed[pygame.K_w]:
i += 50



windowWidth = 500
windowLenght = 500
player = 0
gameOver = False
mazeDisplayed = maze()
display_surf = pygame.display.set_mode((windowWidth, windowLenght))
image_player = pygame.image.load("image_player.png")
image_wall = pygame.image.load("image_wall.png")
image_start = pygame.image.load("image_start.png")
image_finish = pygame.image.load("image_finish.png")
image_targer = pygame.image.load("image_target.png")
count = 0
print(mazeDisplayed.map[5][5])
PlayerX = 5
PlayerY = 5
playerNumber = 30
pressed = pygame.key.get_pressed()


while not gameOver:
mazeDisplayed.map[PlayerX][PlayerY] = playerNumber;
mazeDisplayed.drawMap(display_surf,image_wall,image_start,image_finish,image_targer,image_player)
mazeDisplayed.movePlayer(display_surf,image_player)
mazeDisplayed.drawMap(display_surf, image_wall, image_start, image_finish, image_targer, image_player)
pygame.display.flip()
#gameOver = True

我会得到一张我绘制的 map ,但每当我按下或单击任何东西时它就会卡住

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com