当前位置:实例文章 » 其他实例» [文章]Python应用实例(一)外星人入侵(十)

Python应用实例(一)外星人入侵(十)

发布人:shili8 发布时间:2024-12-22 15:43 阅读次数:0

**Python 应用实例(一):外星人入侵**

在这个系列中,我们将通过一个有趣的游戏来展示 Python 的应用实例。这个游戏叫做 "外星人入侵",玩家需要控制一艘飞船避开不断向下落的外星人。

**游戏规则**

* 玩家控制的飞船位于屏幕顶部。
* 外星人从上往下移动,每个外星人有一个随机的速度和方向。
* 玩家可以通过按键 "左" 和 "右" 来控制飞船的位置。
* 如果玩家撞到外星人,游戏结束。

**代码实现**

import pygameimport random# 初始化 Pygamepygame.init()

# 设置屏幕大小screen_width =800screen_height =600screen = pygame.display.set_mode((screen_width, screen_height))

# 设置标题pygame.display.set_caption("外星人入侵")

# 定义颜色black = (0,0,0)
white = (255,255,255)

# 定义飞船和外星人的类class Spaceship(pygame.Rect):
 def __init__(self):
 super().__init__(screen_width /2, screen_height -50,50,50)

class Alien(pygame.Rect):
 def __init__(self):
 super().__init__(random.randint(0, screen_width), random.randint(-100,0),50,50)

# 创建飞船和外星人spaceship = Spaceship()
aliens = [Alien() for _ in range(10)]

# 主循环while True:
 # 处理事件 for event in pygame.event.get():
 if event.type == pygame.QUIT:
 pygame.quit()
 sys.exit()

 # 获取键盘输入 keys = pygame.key.get_pressed()
 if keys[pygame.K_LEFT]:
 spaceship.x -=5 if keys[pygame.K_RIGHT]:
 spaceship.x +=5 # 更新外星人位置 for alien in aliens:
 alien.y += random.randint(1,5)

 # 检查碰撞 for alien in aliens:
 if (spaceship.colliderect(alien) or spaceship.left < alien.right and spaceship.right > alien.left):
 print("Game Over!")
 pygame.quit()
 sys.exit()

 # 绘制图像 screen.fill(black)
 pygame.draw.rect(screen, white, spaceship)
 for alien in aliens:
 pygame.draw.rect(screen, (255,0,0), alien)

 # 更新屏幕 pygame.display.flip()

 # 设置帧率 pygame.time.Clock().tick(60)


**注释**

* `pygame.init()` 初始化 Pygame 库。
* `screen_width` 和 `screen_height` 设置屏幕大小。
* `black` 和 `white` 定义颜色常量。
* `Spaceship` 和 `Alien` 类定义飞船和外星人的属性和行为。
* 主循环中,处理事件、获取键盘输入、更新外星人位置、检查碰撞并绘制图像。
* `pygame.time.Clock().tick(60)` 设置帧率为60 FPS。

**注意**

* 这个游戏的实现是为了示例目的,不一定是最优解。
* 可以根据需要进行调整和扩展。

相关标签:pythonpygame开发语言
其他信息

其他资源

Top