用python写一个坦克大战小游戏
时间: 2023-07-01 19:23:25 浏览: 160
手写小游戏 python游戏源码-07 坦克大战
好的,下面是一个简易版的坦克大战小游戏的Python代码:
```python
import pygame
import random
# 初始化游戏
pygame.init()
# 设置游戏窗口大小
width, height = 640, 480
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('坦克大战')
# 加载坦克和子弹图片
tank_image = pygame.image.load('tank.png').convert_alpha()
bullet_image = pygame.image.load('bullet.png').convert_alpha()
# 初始化坦克和子弹
tank_x, tank_y = width // 2 - tank_image.get_width() // 2, height - tank_image.get_height()
bullet_x, bullet_y = None, None
# 游戏循环
while True:
# 处理退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 获取键盘输入
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
tank_x -= 5
elif keys[pygame.K_RIGHT]:
tank_x += 5
elif keys[pygame.K_SPACE] and bullet_y is None:
bullet_x, bullet_y = tank_x + tank_image.get_width() // 2 - bullet_image.get_width() // 2, tank_y - bullet_image.get_height()
# 绘制游戏界面
screen.fill((255, 255, 255))
screen.blit(tank_image, (tank_x, tank_y))
if bullet_y is not None:
screen.blit(bullet_image, (bullet_x, bullet_y))
bullet_y -= 10
if bullet_y < -bullet_image.get_height():
bullet_x, bullet_y = None, None
pygame.display.update()
```
这段代码中,我们首先初始化了游戏窗口和加载了坦克和子弹图片。然后进入游戏循环,在每次循环中处理退出事件和获取键盘输入,根据键盘输入来移动坦克或发射子弹。在绘制游戏界面时,我们首先填充背景颜色,然后绘制坦克和子弹(如果有的话),并根据子弹的位置来更新子弹的位置。最后调用`pygame.display.update()`更新游戏界面。这样就形成了一个简易版的坦克大战小游戏。
阅读全文