开发工具

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

关注公众号:Python学习指南,回复“滑雪”获取相关文件

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理介绍

游戏规则:

玩家通过“AD”键或者“←→”操控前进中的滑雪者,努力避开路上的树,尽量捡到路上的小旗。

如果碰到树,则得分减50,如果捡到小旗子,则得分加10。

逐步实现:

Step1:定义精灵类

由于游戏涉及到碰撞检测(滑雪者与树和小旗之间的碰撞),因此我们定义两个精灵类,分别用于代表滑雪者和障碍物(即树和小旗):

其中,滑雪者在前进过程中应当拥有向左,向右偏移的能力,并且在偏移时滑雪者向前的速度应当减慢才更加合乎常理,这样才能供玩家操作。同时,滑雪者应当拥有不同的姿态来表现自己滑行时的状态:

直线:

左偏一点:

左偏很多:

右偏一点:

右偏很多:

另外,尽管滑雪者的左右移动通过移动滑雪者本身实现,但是滑雪者的向前移动是通过移动障碍物实现的。

Step2:随机创建障碍物

现在我们需要定义一个随机创建障碍物的函数,以便在游戏主循环中调用:

Step3:游戏主循环

首先我们初始化一些参数:

其中障碍物创建两次的目的是便于画面衔接。

然后我们就可以定义主循环了:

主循环的内容包括:

事件监听、障碍物的更新、碰撞检测以及分数的展示等内容,总之还是很容易实现的。

Step4:其他

开始、结束界面这些,就靠大家自己发挥了,我就写了一个简单的开始界面:

效果(图片仅靠参考):

All Done!

Python制作简单的滑雪小游戏相关推荐

  1. python编辑简单小游戏大全_Python制作简单的滑雪小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块.关注公众号:Python学习指南,回复"滑雪"获取源码 环境搭建 安装Pyt ...

  2. Python制作的足球双人小游戏,你确定你不过来看看?

    相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 对了大家可以关注小编的公众号哟~~ Python日志 开发环境 Python版本:3.6.4 相关模块: pygame模块: 以及一些P ...

  3. 利用Python制作第一人称射击小游戏 含源代码

    大家好 我是毕加锁 (锁!) 今天教大家利用Python制作第一人称小游戏 涉及知识点 1.sprites 2.pygame混音器 3.图章    4.python基础语法 .代码 1发射声 from ...

  4. 很多小伙伴找我说要一个Python制作的消灭星星小游戏,必须给你们安排好!!

    相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 对了大家可以关注小编的公众号哟~~ Python日志 开发环境 Python版本:3.6.4 相关模块: pygame模块: 以及一些P ...

  5. 如何使用Python制作一款国际象棋小游戏

    如果你想使用 Python 制作国际象棋游戏,可以使用如下步骤: 设计棋盘:可以使用一个二维数组来存储棋盘上每一个位置的棋子. 实现棋子移动:可以使用一个函数来处理棋子的移动,并在棋子移动过程中进行限 ...

  6. python制作类似八音符小游戏

    准备工作:开发工具 Python版本:3.6.4 相关模块: cocos2d模块: pyaudio模块: 以及一些Python自带的模块. 私信回复"八音符"获取相关文件 环境搭建 ...

  7. C++制作简单的军棋小游戏(控制台窗口)

    一.游戏规则: 这款自己DIY的小游戏有24个棋子.其中司令,军长各1个:师长,旅长,团长,营长,炸弹各2个:连长,排长,工兵,地雷各3个.棋子由小到大的顺序是:司令>军长>师长>旅 ...

  8. cocos2d x 入门学习(一)实例制作简单的射击小游戏Star Fighter

    我们将使用cocos2d-x制作一个简单的射击游戏. 本文所用的制作环境是cocos2d x 2.0.4,VS2010. 参考资料: 1.本文的原型其实是来自cocos2d-2.0-x-2.0.4官方 ...

  9. Python写简单的拼图小游戏

    郑重声明,嘿嘿 代码与图片已上传资源,需要者自取 Python小白一只,正在成长,程序自己设计,很多不足,算法很多地方能优化.欢迎大佬来指教. 游戏效果 创建设置类,储存游戏基础数据 可以不使用这个类 ...

最新文章

  1. AngularJS:为什么ng-bind在角度上优于{{}}?
  2. [BZOJ 1098] [POI2007] 办公楼biu 【链表优化BFS】
  3. 程序员辞职卖卷饼:4天挣1个月工资!摆摊真那么赚钱?
  4. 替换空格---剑指Offer
  5. 无需写代码!可一键生成前后端代码的开源工具
  6. 自然语言处理在开放搜索中的应用
  7. 炸金花 php算法,php 炸金花牌型 和 比牌 规则
  8. linux配置4g网络命令_树莓派移动网络连接(配置4G网卡)
  9. 变形 圆形_中山125T圆形玻璃钢冷却塔现场安装
  10. 使用 show status 命令
  11. Docker镜像的创建、存出、载入
  12. 成功编译无错MAC OpenJDK8:Terminating app due to uncaught exception ‘NSInternalInconsistencyException‘
  13. 手机电脑自适应导航源码php,自适应各终端懒人网址导航源码 v1.6
  14. 使用MATLAB App Design 工具设计一个 简易App
  15. Android开源实战:手把手教你实现一个简单 好用的搜索框(含历史搜索记录
  16. 计算机一级一分钟要打多少字,打字速度分几个等级,一分钟打多少个字算较快?...
  17. 增大mysql修改表空间_扩充数据库表空间
  18. 【批处理脚本】-2.4-打开命令start(典型应用:微信多开)
  19. SpringBoot框架的基于java的疫情期间网课管理系统
  20. JS将数字金额转换为大写人民币汉字

热门文章

  1. 手机被偷前必做两件事
  2. wordpress面包屑导航制作教程
  3. css碎步测量,工地测量实习报告.doc
  4. 项目四 可视化编程工具
  5. ScreenToGif设置ffmpeg
  6. 52套JavaEE项目案例实战大全视频课程
  7. 一些有用的安全工具和链接
  8. 巴塔机器人_【机器人大战a攻略】超级机器人大战V全SR怎么获得-挖辣椒攻略
  9. 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(三)
  10. 给表格中的文字设置字体以及设置表格样式