Python 在游戏中产生多个敌人

Python 在游戏中产生多个敌人,python,pygame,Python,Pygame,我有一个任务,我必须在3个敌人随机位置产卵,但我只能在1个敌人中产卵,有人能帮我吗 导入pygame 随机输入 #初始化pygame模块以启动一切。 pygame.init() #将要创建的屏幕需要宽度和高度。 屏幕宽度=1300 屏幕高度=800 screen=pygame.display.set_模式((屏幕宽度、屏幕高度)) #这将创建播放机并将此文件夹中的图像提供给它。 player=pygame.image.load(“player.jpg”) #制造多个敌人 敌人=[] 敌方高度=[

我有一个任务,我必须在3个敌人随机位置产卵,但我只能在1个敌人中产卵,有人能帮我吗

导入pygame
随机输入
#初始化pygame模块以启动一切。
pygame.init()
#将要创建的屏幕需要宽度和高度。
屏幕宽度=1300
屏幕高度=800
screen=pygame.display.set_模式((屏幕宽度、屏幕高度))
#这将创建播放机并将此文件夹中的图像提供给它。
player=pygame.image.load(“player.jpg”)
#制造多个敌人
敌人=[]
敌方高度=[]
宽度=[]
enemyXPosition=[]
EnemyPosition=[]
数量=3
对于范围内的i(敌人数量):
敌方.append().image.load(“monster.jpg”)
enemyheight=敌人。获取高度()
enemywidth=敌人。获取宽度()
enemyXPosition=random.randint(1100,屏幕宽度)
EnemyPosition=random.randint(0,屏幕高度-enemyheight)
#获取图像的宽度和高度,以便进行边界检测(即,确保图像保持在屏幕边界内或知道图像何时离开屏幕)。
image\u height=player.get\u height()
image\u width=player.get\u width()
打印(“这是玩家图像的高度:+str(图像高度))
打印(“这是玩家图像的宽度:+str(图像宽度))
#将玩家的位置存储为变量。
playerXPosition=100
PlayerPosition=50
#为游戏的运行创造条件
keyUp=False
keyDown=False
keyLeft=False
keyRight=False
#游戏循环,用于运行游戏直到被告知停止并吸引玩家和敌人
而1:
屏幕填充(0)
屏幕。blit(播放器,(播放器位置,播放器位置))
blit(敌人[i],(敌人位置[i],敌人位置[i]))
pygame.display.flip()
#这将循环游戏中的事件。
对于pygame.event.get()中的事件:
#此事件检查用户是否退出程序,如果退出,则退出程序。
如果event.type==pygame.QUIT:
pygame.quit()
出口(0)
#按键事件
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_UP:
keyUp=True
如果event.key==pygame.K_向下:
keyDown=True
如果event.key==pygame.K_左:
keyLeft=True
如果event.key==pygame.K_RIGHT:
keyRight=True
#事件以检查密钥是否已释放
如果event.type==pygame.KEYUP:
如果event.key==pygame.K_UP:
keyUp=False
如果event.key==pygame.K_向下:
keyDown=False
如果event.key==pygame.K_左:
keyLeft=False
如果event.key==pygame.K_RIGHT:
keyRight=False
#检查按下了哪些键并相应地移动播放机
如果keyUp==True:
如果PlayerPosition>0:
PlayerPosition-=1
如果keyDown==True:
如果PlayerPosition<屏幕高度-图像高度:
PlayerPosition+=1
如果keyLeft==True:
如果playerXPosition>0:
playerXPosition-=1
如果keyRight==True:
如果播放器位置<屏幕宽度-图像宽度:
playerXPosition+=1
#玩家的边界框:
playerBox=pygame.Rect(player.get_Rect())
playerBox.top=playerPosition
playerBox.left=playerXPosition
#让敌人接近玩家。
对于范围内的i(敌人数量):
灌肠位置[i]=0.15
#敌人的包围盒:
enemyBox=pygame.Rect(敌人[i].get_Rect())
enemyBox.top=灌肠位置[i]
enemyBox.left=灌肠位置[i]
#测试箱子的碰撞:
如果playerBox.colliderect(enemyBox):
打印(“你输了!”)
#如果敌人离开屏幕,用户将赢得游戏:
如果敌人位置[i]<0-敌人宽度[i]:
打印(“你赢了!”)

创建敌人列表和敌人坐标。加载敌人图像并在随机位置附加敌人:

敌人=[]
enemiesXPosition=[]
enemiesYPosition=[]
数量=3
敌人=pygame.image.load(“monster.jpg”)
enemyheight=敌人。获取高度()
enemywidth=敌人。获取宽度()
对于范围内的i(敌人数量):
enemyx=random.randint(1100,屏幕宽度-enemywidth)
enemyy=random.randint(0,屏幕高度-enemyheight)
敌人。附加(敌人)
enemiesXPosition.append(enemyx)
EnemiesPosition.append(Enemy)
将敌人画成一个圈:

而1:
屏幕填充(0)
屏幕。blit(播放器,(播放器位置,播放器位置))
对于范围内的i(敌人数量):
blit(敌人[i],(敌人位置[i],敌人位置[i]))
移动敌人并在循环中测试碰撞:

而1:
# [...]
#让敌人接近玩家。
对于范围内的i(敌人数量):
灌肠位置[i]=0.15
#敌人的包围盒:
enemyBox=pygame.Rect(敌人[i].get_Rect())
enemyBox.top=灌肠位置[i]
enemyBox.left=灌肠位置[i]
#测试箱子的碰撞:
如果playerBox.colliderect(enemyBox):
打印(“你输了!”)
#如果敌人离开屏幕,用户将赢得游戏:
如果灌肠位置[i]<0-灌肠宽度:
打印(“你赢了!”)

完整的示例代码:

导入pygame
随机输入
#初始化pygame模块以启动一切。
pygame.init()
#将要创建的屏幕需要宽度和高度。
屏幕宽度=1300
屏幕高度=800
screen=pygame.display.set_模式((屏幕宽度、屏幕高度))
#这将创建播放机并将此文件夹中的图像提供给它。
player=pygame.image.load(“player.jpg”)
#制造多个敌人
敌人=[]
enemiesXPosition=[]
enemiesYPosition=[]
宽度=[]
敌方高度=[]
数量=3
敌人
enemy = []
enemy_height = []
enemy_width = []
enemyXPosition = []
enemyYPosition = []
enemyXPosition = random.randint(1100, screen_width)
enemyYPosition = random.randint(0, screen_height - enemyheight)
enemyheight = enemy.get_height()
enemywidth = enemy.get_width()