pygame编写一个有交互功能火车模拟类小游戏源代码
时间: 2024-10-14 17:03:58 浏览: 36
创建一个基于pygame的简单火车模拟游戏需要一些基本的Python库,如pygame用于图形处理,以及numpy用于数学计算。以下是一个简化的例子,展示了如何创建一个基本的火车模拟类:
```python
import pygame
import numpy as np
# 初始化pygame
pygame.init()
class TrainSimulator:
def __init__(self, screen_width=800, screen_height=600):
self.screen = pygame.display.set_mode((screen_width, screen_height))
self.train_pos = (screen_width // 2, screen_height // 2)
self.speed = 5
self.direction = (1, 0) # 默认朝右
def draw_train(self):
# 火车形状可以简化为一个矩形
train_rect = pygame.Rect(self.train_pos, (50, 100)) # 50x100像素大小
pygame.draw.rect(self.screen, (0, 255, 0), train_rect)
def update(self, dt):
self.train_pos = (self.train_pos[0] + self.speed * self.direction[0], self.train_pos[1] + self.speed * self.direction[1])
if self.train_pos[0] > self.screen.get_width(): # 当火车离开屏幕右侧时改变方向
self.direction = (-1, 0)
elif self.train_pos[0] < 0: # 当火车离开屏幕左侧时改变方向
self.direction = (1, 0)
def main_loop(self, fps=30):
clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
return
self.screen.fill((0, 0, 0)) # 清屏黑色背景
self.update(1 / fps)
self.draw_train()
pygame.display.flip()
clock.tick(fps)
if __name__ == "__main__":
simulator = TrainSimulator()
simulator.main_loop()
```
这个代码定义了一个`TrainSimulator`类,它初始化窗口、火车的位置和初始速度。`draw_train`函数绘制火车,`update`函数控制火车移动并根据边界条件改变方向。`main_loop`函数则负责游戏循环,包括事件处理、屏幕更新等。
要运行这个游戏,你需要安装pygame库(如果你还没有安装),然后将这段代码保存到.py文件中,通过命令行运行即可。记得修改屏幕尺寸和火车样式以适应你的需求。
阅读全文