介绍模块
本游戏使用的是由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算法与电子竞赛
硬性的标准其实限制不了无限可能的我们,所以啊!少年们加油吧!