Pygame游戏实战九:跳跃小游戏
2023-12-16 17:49:48
介绍模块
本游戏使用的是由Pycharm中的pygame模块来实现的,也可以在python中运行。通过Pygame制作一个类似与跳跃游戏,但在游戏中并没有进行跳跃,而是通过键盘进行控制。
最小开发框架
详情请看此文章:
Pygame游戏模块介绍二:最小开发框架代码_pygame最小开发框架_牧子川的博客-CSDN博客
Pygame和sys模块
import?pygame?#?制作游戏时要使用的模块
import sys # python的标准库,对内部各功能模块进行初始化创建,系统模块
random模块
需要在屏幕上随机生成位置
from random import randint
详情请看此文章:Pygame游戏模块介绍一:random模块简介_random 范围_牧子川的博客-CSDN博客
相关功能??
【童年游戏】跳跃小游戏
初始化方块
绘制角色和障碍物
def draw_player():
pygame.draw.rect(screen, WHITE, (player_pos[0], player_pos[1], player_size, player_size))
def draw_obstacles():
for obstacle in obstacles:
pygame.draw.rect(screen, RED, (obstacle[0], obstacle[1], obstacle_size, obstacle_size))
检测碰撞
当角色与障碍物发生碰撞时,则游戏结束
for obstacle in obstacles:
if (
player_pos[1] + player_size >= obstacle[1]
and player_pos[1] <= obstacle[1] + obstacle_size
and player_pos[0] + player_size >= obstacle[0]
and player_pos[0] <= obstacle[0] + obstacle_size
):
pygame.quit()
sys.exit()
键盘控制
if event.key == pygame.K_UP and player_pos[1] - player_speed >= 0:
player_pos[1] -= player_speed
elif event.key == pygame.K_DOWN and player_pos[1] + player_size + player_speed <= HEIGHT:
player_pos[1] += player_speed
障碍物处理
# 移动障碍物
for obstacle in obstacles:
obstacle[0] -= obstacle_speed
# 生成新的障碍物
if random.randint(1, 100) < 10: # 控制障碍物生成的频率
new_obstacle = [WIDTH, random.randint(0, HEIGHT - obstacle_size)]
obstacles.append(new_obstacle)
图片界面
扩展可添加功能
1.对游戏中移动方式进行改进为跳跃
2.增加更加复制的关卡
3.增加时间限制
4.增加音效
5.改变角色和障碍物的形状
源码获取
PyGame/跳跃小游戏 at main · mzc421/PyGame (github.com)
?欢迎关注我的公众号:@AI算法与电子竞赛 ? ?
???
硬性的标准其实限制不了无限可能的我们,所以啊!少年们加油吧!
文章来源:https://blog.csdn.net/qq_48764574/article/details/134864677
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!