Python写一个双人赛车小游戏设置终点体现谁快谁慢
时间: 2024-03-06 07:39:04 浏览: 79
好的,这里提供一个简单的双人赛车小游戏的代码,使用 Python 和 Pygame 库实现。游戏中两个玩家需要控制各自的赛车,竞速到达终点,谁先到达终点谁就赢了。
首先需要安装 Pygame 库,可以使用以下命令在命令行中进行安装:
```
pip install pygame
```
然后是代码实现:
```python
import pygame
# 初始化 Pygame 库
pygame.init()
# 设置游戏屏幕的宽度和高度
screen_width = 800
screen_height = 600
# 创建游戏屏幕
screen = pygame.display.set_mode((screen_width, screen_height))
# 设置游戏标题
pygame.display.set_caption("双人赛车")
# 加载赛车图片
car1_img = pygame.image.load("car1.png").convert_alpha()
car2_img = pygame.image.load("car2.png").convert_alpha()
# 获取赛车图片的宽度和高度
car_width, car_height = car1_img.get_size()
# 设置赛车的初始位置
car1_x = 100
car1_y = 100
car2_x = 100
car2_y = 200
# 设置赛车的速度
car1_speed = 5
car2_speed = 5
# 设置终点线的位置
finish_line_x = 700
# 游戏循环
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
# 退出游戏
pygame.quit()
exit()
# 获取键盘输入
keys = pygame.key.get_pressed()
# 玩家1控制赛车
if keys[pygame.K_UP]:
car1_y -= car1_speed
if keys[pygame.K_DOWN]:
car1_y += car1_speed
if keys[pygame.K_LEFT]:
car1_x -= car1_speed
if keys[pygame.K_RIGHT]:
car1_x += car1_speed
# 玩家2控制赛车
if keys[pygame.K_w]:
car2_y -= car2_speed
if keys[pygame.K_s]:
car2_y += car2_speed
if keys[pygame.K_a]:
car2_x -= car2_speed
if keys[pygame.K_d]:
car2_x += car2_speed
# 限制赛车在屏幕范围内移动
car1_x = max(0, min(car1_x, screen_width - car_width))
car1_y = max(0, min(car1_y, screen_height - car_height))
car2_x = max(0, min(car2_x, screen_width - car_width))
car2_y = max(0, min(car2_y, screen_height - car_height))
# 绘制游戏场景
screen.fill((255, 255, 255))
screen.blit(car1_img, (car1_x, car1_y))
screen.blit(car2_img, (car2_x, car2_y))
pygame.draw.line(screen, (255, 0, 0), (finish_line_x, 0), (finish_line_x, screen_height), 5)
# 判断赛车是否到达终点
if car1_x >= finish_line_x:
print("玩家1获胜!")
break
if car2_x >= finish_line_x:
print("玩家2获胜!")
break
# 更新游戏屏幕
pygame.display.update()
```
在代码中,我们首先初始化 Pygame 库,并设置了游戏屏幕的宽度和高度。然后加载了赛车图片,设置了赛车的初始位置和速度,以及终点线的位置。在游戏循环中,我们处理了游戏事件和键盘输入,让玩家1和玩家2控制各自的赛车移动。然后限制赛车在屏幕范围内移动,并绘制游戏场景。最后判断赛车是否到达终点,如果到达了,就打印出哪个玩家获胜,并退出游戏循环。
注意:游戏场景中包含了一条红色的终点线,玩家的赛车需要越过这条线才算获胜。另外,如果需要更好的游戏体验,可以考虑添加背景音乐、碰撞检测等功能。
阅读全文