小游戏^_^
来源:互联网 发布:高中毕业 程序员 编辑:程序博客网 时间:2024/05/16 12:59
自己发现了一本学python十分好的书,python编程: 从入门到实践,这本书前边介绍python基本知识, 后面有三个项目,一步一步的深入。我把这本书的资源上传了地址,这个好像要登录我的账号,这里是百度云的链接
链接: https://pan.baidu.com/s/1eR8yhXo 密码: 7wxq
这篇文章就是记录自己完成的第一个项目,那款小游戏。
首先对整个项目的大致框架有一个了解:
1、Ship类,这个’王尼玛‘就是被你操作的,通过blitme函数将’王尼玛‘刻画在屏幕,update函数就是更改‘王尼玛’位置,左右移动,center_ship函数 是在你还剩下若干条生命的时候死掉,要把‘王尼玛‘重新定位在屏幕中央。
2、settings类,包含了整个游戏的属性设置,类似’王尼玛‘的速度,提速....
3、game_stats类 用来记录分数,包含最高分,射杀外星人记录得分, 还有当前游戏玩家的游戏的等级
4、scoreboard类 这个类,是把 记录的分数显示到屏幕,通过prep_...函数来确定分数的位置,比如当前玩家的分数记录在右上角, 最高的记录在中央,游戏等级记录在当前分数的下面,下面的图就显示了.
5、button类,是用来做那个start按钮的,在那个game_function文件做主要的处理。
6、bullet子弹类 用draw_bullet来画子弹(子弹是用像素做的,不是导入的 图片,。如果是导入的图片,就用screen.blit来做.) update函数来更新子弹的位置.
7、game_function是主要的函数集合,包含按键处理,外星人下降的时候对边界的检查, 时刻更新屏幕.....
举一个例子
def update_aliens(alien_settings, stats, screen, sb, ship, aliens, bullets): check_fleet_edges(alien_settings, aliens) aliens.update() if pygame.sprite.spritecollideany(ship, aliens): ship_hit(alien_settings, stats, screen, sb, ship, aliens, bullets) check_alien_bottom(alien_settings, stats, screen, sb, ship, aliens, bullets)这个函数是首先对一群的alien进行边界检查,如果到了边界,则转换方向 ,同时向下移动,因为乡下移动如果碰到’王尼玛‘则游戏结束, 所以做了if的检查,如果与’王尼玛’碰撞, 就做ship_hit,把一切信息初始化,check_aliens_bottom当飞船到达屏幕底部,则一切初始化。
在做最高分的时候,为了避免每次重新启动游戏最后分都是0,把最高分写入文件,每次启动,在文件读取。
完整代码在github,
在做的过程,pycharm很多地方对于编码规范的提示,给我很大的帮助,也清楚,好的编码规范对于团队的作用.继续努力。
- 小游戏^_^
- JS_小游戏_扫雷
- Android小游戏_猜拳
- Excel小游戏_魂斗罗再现[分享]
- C程序小游戏_贪吃蛇代码
- Visual C#_ Framework.猜数字小游戏
- 面向对象_猜数字小游戏案例
- HTML_13_javascript_小游戏_开心消消乐
- 小游戏
- 小游戏
- 小游戏
- 小游戏
- 小游戏
- 小游戏
- 小游戏
- 小游戏
- 小游戏
- 小游戏
- 看了你就知道为什么iTunes要对电脑授权了
- config.sh: line 103: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/bin/java
- 欢迎使用CSDN-markdown编辑器
- java得到日期相减的天数
- tableviewCell复用 重叠问题
- 小游戏^_^
- TextView添加Html标签属性
- Android Support v4,v7,v13的区别以及 v4,v7包冲突问题
- 今天的小结
- Java字节码(class文件)解析
- android 动画出现残影
- OVN tunnel
- ubuntu 16.04 下cuda的安装
- Qt之加载QSS文件