当前位置: 首页 > news >正文

游戏代码编辑

游戏玩家 设置

player_x = WIDTH // 2 - player_size //游戏设置

clock = pygame.time.Clock()

score = 0

game_over = False

font = pygame.font.SysFont(None, 36)

 

def draw_player(x, y):

    pygame.draw.rect(screen, BLUE, (x, y, player_size, player_size))

 

def create_obstacle():

    x = random.randint(0, WIDTH - player_size)

    y = -player_size

    obstacles.append([x, y])

 

def draw_obstacles():

    for obstacle in obstacles:

        pygame.draw.rect(screen, RED, (obstacle[0], obstacle[1], player_size, player_size))

 

def update_obstacles():

    global score

    for i, obstacle in enumerate(obstacles):

        obstacle[1] += obstacle_speed

        if obstacle[1] > HEIGHT:

            obstacles.pop(i)

            score += 1

 

def check_collision():

    for obstacle in obstacles:

        if (player_x < obstacle[0] + player_size and

            player_x + player_size > obstacle[0] and

            player_y < obstacle[1] + player_size and

            player_y + player_size > obstacle[1]):

            return True

    return False

 

def show_score():

    score_text = font.render(f"得分: {score}", True, BLACK)

    screen.blit(score_text, (10, 10))

 

def show_game_over():

    game_over_text = font.render("游戏结束! 按R键重新开始", True, BLACK)

    screen.blit(game_over_text, (WIDTH//2 - 180, HEIGHT//2 - 18))

 游戏主循环

while True:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            pygame.quit()

            sys.exit()

        if event.type == pygame.KEYDOWN and game_over:

            if event.key == pygame.K_r:

                重置游戏

                game_over = False

                score = 0

                player_x = WIDTH // 2 - player_size // 2

                obstacles = []

    

    if not game_over:

        # 玩家移动

        keys = pygame.key.get_pressed()

        if keys[pygame.K_LEFT] and player_x > 0:

            player_x -= player_speed

        if keys[pygame.K_RIGHT] and player_x < WIDTH - player_size:

            player_x += player_speed

        

        

相关文章:

  • 凸优化第2讲:凸优化建模
  • 一篇文章快速上手linux系统中存储多路径multipath的配置
  • MCP、RAG与Agent:下一代智能系统的协同架构设计
  • Cribl 中数据脱敏mask 的实验
  • 【HDFS】BlockPlacementPolicyRackFaultTolerant#getMaxNode方法的功能及具体实例
  • BufferedReader 终极解析与记忆指南
  • 使用python求函数极限
  • Java实现选择排序算法
  • 盛水最多的容器问题详解:双指针法与暴力法的对比与实现
  • vcast工具env环境问题二:<command-line>: error: stray ‘\’ in program
  • 深入解析 sklearn 中的 LabelEncoder:功能、使用场景与注意事项
  • 三、The C in C++
  • TV板卡维修技术【一】
  • 什么是GOTS认证,GOTS认证有什么要求?GOTS认证有什么作用
  • 基于动态注意力机制与双向融合的目标检测模型详解
  • 【树莓派 PICO 2 测评】采集 DS18B20 数据及 OLED 显示
  • Dockerfile项目实战-单阶段构建Vue2项目
  • vue动画
  • 索引语法SQL性能分析索引的使用
  • 依赖注入(DI)与自动装配:本质就是“赋值“吗?
  • “杭州六小龙”爆火出圈后,浙江高规格部署人工智能发展
  • 国常会:要持续稳定股市,持续推动房地产市场平稳健康发展
  • 北京一季度GDP为12159.9亿元,同比增长5.5%
  • 科技如何赋能社会治理?帮外卖员找新家、无人机处理交通事故……
  • 第十个“中国航天日”活动将在沪举行:月球正面背面样品同框展出
  • 大运河博物馆展出江苏国画院精品:傅抱石与八大郑板桥们