import pygame
import sys
# 初始化pygame
pygame.init()
# 设置窗口大小
screen_width, screen_height = 800, 600
screen = pygame.display.set_mode((screen_width, screen_height))
# 设置窗口标题
pygame.display.set_caption("第一个实验品")
# 设置颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
# 玩家设置
player_width, player_height = 50, 50
player_x, player_y = screen_width // 2 - player_width // 2, screen_height - player_height
player_speed = 5
jump_speed = -25 # 向上跳跃的初速度
gravity = 1.5 # 重力加速度
# 游戏主循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE and player_y == screen_height - player_height:
# 如果玩家在地面上且按下空格键,则跳跃
player_y += jump_speed
# 更新玩家位置
if player_y < screen_height - player_height:
player_y += gravity # 应用重力
# 按键控制
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
player_x -= player_speed
if event.key == pygame.K_RIGHT:
player_x += player_speed
if event.key == pygame.K_UP:
player_y -= player_speed
if event.key == pygame.K_DOWN:
player_y += player_speed
# 确保玩家不会移出屏幕
if player_x < 0:
player_x = 0
elif player_x + player_width > screen_width:
player_x = screen_width - player_width
if player_y < 0:
player_y = 0
elif player_y + player_height > screen_height:
player_y = screen_height - player_height
# 填充背景色(这里使用颜色渐变作为示例)
for y in range(screen_height):
color = (y * 255 // screen_height, 255 - y * 255 // screen_height, 0)
pygame.draw.line(screen, color, (0, y), (screen_width, y))
# 绘制玩家
pygame.draw.rect(screen, WHITE, (player_x, player_y, player_width, player_height))
# 更新屏幕显示
pygame.display.flip()
# 控制游戏帧率
pygame.time.Clock().tick(1000)
# 退出pygame
pygame.quit()
sys.exit()
07-20
174
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-17
569
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交