2022-用Python写个超级小恐龙跑酷游戏,上班摸鱼我能玩一天10-22

本文通过Python的pygame库,展示了如何制作一款小恐龙跑酷游戏。文章介绍了开发环境、所需工具,以及游戏的创建过程,包括小恐龙、障碍物(仙人掌、飞龙)和地板对象的设计,同时还涵盖了游戏的基础配置。作者裕玲是一名热爱分享的程序员,期待你的关注和交流。
摘要由CSDN通过智能技术生成

啥也不多说,先来一个效果图展示
image

**工具使用 **

** 开发环境:win10、python3.7**

** 开发工具:pycharm 工具包:pygame**

游戏思路解析

准备相对应的游戏图片 准备相对应的音频数据

image

项目整体的框架搭建

image

创建小恐龙对象

image

image

创建障碍物对象

仙人掌

飞龙

image

创建地板对象

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用Python写一个跳恐龙游戏代码,带注释说明: ```python import pygame import random # 初始化game pygame.init() # 设置屏幕大小和标题 screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption("Jumping Dino") # 加载恐龙和障碍物的图像 dino_img = pygame.image.load("dino.png") cactus_img = pygame.image.load("cactus.png") # 设置字体和字体大小 font = pygame.font.Font(None, 40) # 初始化游戏变量 score = 0 speed = 5 jump = False jump_count = 10 # 定义恐龙的位置和大小 dino_x = 50 dino_y = 400 dino_width = 64 dino_height = 64 # 定义障碍物的位置和大小 cactus_x = 800 cactus_y = 410 cactus_width = 32 cactus_height = 64 # 定义函数来检测碰撞 def collision(dino_x, dino_y, cactus_x, cactus_y): if dino_x + dino_width > cactus_x and dino_x < cactus_x + cactus_width: if dino_y + dino_height > cactus_y: return True return False # 游戏循环 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: jump = True # 更新恐龙和障碍物的位置 cactus_x -= speed if cactus_x < -cactus_width: cactus_x = 800 score += 1 # 增加游戏难度 if score % 5 == 0: speed += 1 # 处理跳跃 if jump: if jump_count >= -10: dino_y -= (jump_count * abs(jump_count)) * 0.5 jump_count -= 1 else: jump = False jump_count = 10 # 检测碰撞 if collision(dino_x, dino_y, cactus_x, cactus_y): running = False # 绘制恐龙、障碍物和分数 screen.fill((255, 255, 255)) screen.blit(dino_img, (dino_x, dino_y)) screen.blit(cactus_img, (cactus_x, cactus_y)) score_text = font.render("Score: " + str(score), True, (0, 0, 0)) screen.blit(score_text, (10, 10)) # 刷新屏幕 pygame.display.update() # 退出Pygame pygame.quit() ``` 注释中已经解释了大部分代码的作用,但是需要注意一些细节: - `pygame.init()` 用于初始化Pygame,必须放在代码的最开始。 - `pygame.display.set_mode()` 用于设置屏幕大小和标题。 - `pygame.image.load()` 用于加载图像。 - `pygame.font.Font()` 用于设置字体和字体大小。 - `pygame.event.get()` 用于获取所有的事件。 - `pygame.KEYDOWN` 用于检测按键事件。 - `screen.blit()` 用于绘制图像。 - `pygame.display.update()` 用于刷新屏幕。 此外,还需要注意跳跃的实现方式,以及障碍物的移动和生成方式。在游戏中,障碍物的移动速度和生成频率会随着游戏分数的增加而增加,这也是游戏难度的提升方式之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值