
Python+Pygame版飞机大战源码
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目提供一个使用Python结合Pygame库开发的经典飞机大战游戏完整源代码,适合编程爱好者学习游戏开发的基本原理和实践。
用Python+Pygame实现的飞机大战游戏源码包含所需资源,并可以直接运行。该游戏通过鼠标控制。
在主循环中:
```python
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT: # 当用户点击关闭窗口时,退出程序。
pygame.quit()
exit()
screen.blit(background, (0, 0)) # 绘制背景
if not gameover: # 检测游戏状态
x, y = pygame.mouse.get_pos() # 获取鼠标位置的x和y坐标
interval_b -= 1
if interval_b < 0:
bullets[index_b].restart()
interval_b = 100
index_b = (index_b + 1) % count_b
for b in bullets:
if b.active: # 检查子弹是否处于激活状态
for e in enemies:
if checkHit(e, b): # 如果敌机被击中,增加分数并重置子弹位置。
score += 100
b.move()
screen.blit(b.image, (b.x, b.y))
for e in enemies:
e.move()
screen.blit(e.image, (e.x, e.y))
if checkCrash(e, plane): # 如果飞机与敌机相撞,游戏结束。
gameover = True
break
plane.move()
screen.blit(plane.image, (plane.x, plane.y))
text = font.render(Score: %d % score, 1, (0, 0, 0))
if not gameover:
screen.blit(text, (0, 0))
else:
screen.blit(text,(190,400)) # 游戏结束时,分数显示在屏幕的底部中央。
pygame.display.update()
# 如果游戏结束后检测到鼠标点击事件,则重置游戏。
if gameover and event.type == pygame.MOUSEBUTTONUP:
plane.restart()
for e in enemies:
e.restart()
score = 0
gameover = False
pygame.display.update()
```
全部评论 (0)


