当前位置: 首页 > 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

        

        

http://www.dtcms.com/a/135575.html

相关文章:

  • 凸优化第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)与自动装配:本质就是“赋值“吗?
  • PBKDF2全面指南(SpringBoot实现版)
  • AI agents系列之智能体框架介绍
  • Docker华为云创建私人镜像仓库
  • K-均值聚类机器学习算法的优缺点
  • C++第三方库【JSON】nlohman/json
  • CefSharp浏览器(AntdUI.Tabs)标签页关闭时资源释放ChromiumWebBrowser示例源码
  • 【文献笔记】LLM-based and retrieval-augmented control code generation
  • SmolVLM新模型技术解读笔记
  • 联邦学习与协作学习:数据隐私与模型协同进化的未来之路
  • 在SpringBoot中访问 static 与 templates 目录下的内容