小屁屁的成长路程


  • 首页

  • 分类

  • 网路技术

  • 随笔日志

  • 人力资源管理

  • 心理学

  • 相册

  • 标签

  • 关于

  • 友情链接

飞机大战优化续篇5:实现游戏开始画面与运行画面的分离

发表于 2020-05-08 | 分类于 网路技术

按照昨天的计划,今天开始探索“关卡制”的游戏模式,那么首当其冲的便是有一个WELCOME欢迎界面,通过点击【开始游戏】按钮,进入第一关的游戏,第一关游戏通过后(消灭BOSS),将在胜利画面提供进入下一关的按钮。
目前进展:
已实现WELCOME欢迎界面的设计、调试与测试,功能正常。
关键点:

1
2
3
4
5
6
7
1:在主程序定义一个游戏状态的类(class GameState),在类里面按游戏的逻辑Stage进行Function设计,比如:def Welcome_screen、def First_Stage_main_game、def Scecond_Stage_main_game、def state_manager...
2:主程序main()里面的原程序内容,除开clock外都移至def First_Stage_main_game中。
3:主程序初始化部分,进行类实例化game_state = GameState()
4:主程序main()内,调用game_state实例对象的state_manager方法,来判断游戏目前所处Stage。
5: state_manager方法中,主要根据类变量self.state的值的内容来判断,进入哪个Stage进行游戏执行。(默认状态=‘Welcome_screen’)
6: 在Welcome_screen方法中,通过捕捉鼠标是否点击【开始游戏】按钮的事件,来进入第一个Stage ---》 First_Stage_main_game
7: 在First_Stage_main_game通关后,在胜利界面,点击【下一关】按钮,进入Second_Stage_main_game

注意事项:
1:状态类内的所有Function都要重新引入Clock事件,并在结束时刷新画面pygame.display.flip(),最开始在WELCOME画面没有刷新就导致了显示画面异常。
2:如果需要调用主程序初始化时定义的变量,需要使用全局变量模式。
3:delay类型的变量,需要放到主程序的初始化环境部分进行定义,否则在funcion内就相当于每帧都重新赋了初值,则不能实现延迟效果。

下一步将尝试开发第二关卡内容,如果顺利实现,将架构重新优化,形成一个成熟的模板,可供关卡制游戏作为模板参考。
晚安。

飞机大战优化续篇4:实现背景滑动、BOSS敌机功能、胜利结束画面的功能

发表于 2020-05-08 | 分类于 网路技术

好像挺久没更新优化续篇了,其实是过了一个劳动节,节后又开始继续功能深挖。
5月5日,劳动节放假最后一天,应邀见了梁博与门博,并在梁博的写字楼空间里面参加了下他们公司的基本情况。
门博从中撮合,感觉梁博想招揽我过去他们团队的感觉,不急,再等等看。
节后初步想法是,将目前的游戏版本向“关卡制”的方式进行探索,那么就涉及了几个需要考虑与待解决的问题:
1、游戏画面最好修改为滚轴滑动的方式;
2、敌机BOSS在什么时机入场,我觉得按惯例是游戏背景图片滑动到顶端后,背景图片不动的时候;
3、敌机BOSS入场后,是静止的,还是动态的?
4、敌机BOSS的子弹系统设计的合理性,应该考虑可以逼迫我方飞机到处闪躲,并且避免明显的子弹真空地带;
5、敌方BOSS被消灭后,不再调用GAME OVER画面,而转而调用VICTORY画面;
6、VICTROY画面里面,是否有下一关的按钮,如果有下一关,如何调用?
… …

阅读全文 »

飞机大战优化续篇3:完成敌我双方子弹系统的重构

发表于 2020-04-30 | 分类于 网路技术

在昨天完成敌方大飞机的完美散弹发射模型(两种变种:1、散弹的发射坐标不同,精调发射坐标与X轴Y轴的速度;2、散弹的发射坐标相同,固定发射角度,精调X轴Y轴的速度)的启发下,今天重新构架了整个游戏的子弹系统,抛弃之前的列表控制方式,转向sprite.Group()控制方式。

阅读全文 »

飞机大战优化续篇2:敌方大飞机子弹方案完美版本

发表于 2020-04-30 | 分类于 网路技术

从上一篇实现敌方飞机增加子弹效果的博文,到现在刚好过去了两天。
上一篇写到,已经完美的解决了敌方飞机添加子弹的功能,结果在这两天进一步优化时,发现了太多太多的逻辑陷阱,实际效果也差强人意,代码修改了一版又一版,都出现各种各样的问题。曾经有两个版本从画面的呈现上看,似乎找到了解决版本,但是都经不过深入推敲:要么在暂停到一帧页面时,发现了重影的迹象,要么在修改局部参数时,结果让人大跌眼镜。两天时间,苦思不得其解。现在回首,当时说的完美解决,简直是贻笑大方。

阅读全文 »

飞机大战优化续篇1:敌方大飞机增加主动子弹攻击功能

发表于 2020-04-28 | 分类于 网路技术

是的,我忙到了现在,从昨天早上八九点开始,到现在,刚好凌晨1点,目的是为飞机大战游戏里面的敌方大飞机,添加主动攻击的子弹效果。
结果是,结果了白天的各种逻辑、编码陷阱,就刚刚,完美解决了。
确实值得发文总结下。
本次实现的功能,是让敌方大飞机每200帧主动发射一排(5颗)子弹,发射方向为Y轴从上到下,子弹速度为5像素/帧。
本次遇到了很多错误的场景,比如:1、飞机发的子弹只能跑200像素,就不跑了;2、多个飞机在同一屏幕出现的时候,只有一架飞机在发子弹;3、初始状态,飞机直接一次性甩下来30颗(6排)子弹,然后后续的子弹发射频率才趋于正常;4、飞机飞到屏幕下方后,上面明明没有新的飞机,却飞出几排子弹,维持了几秒就消失了…

阅读全文 »

宣告:python正式入门了

发表于 2020-04-25 | 分类于 网路技术

经过差不多4个星期的学习与练习,终于在今天(2020-04-25)晚上九点左右,完成了最后一个完整功能程序的调测,基本可以宣告自己对python的编程已经入门了,后续可以在特点领域(比如:深度学习啥的)深入挖掘一下。
最后这个完整功能的程序,是一个飞机大战的游戏,类似于我们小时候在街机上玩的《雷电3》,PC版的,逻辑和场景更简单,不过各种功能是非常完整的,非常适合新手练手,如果吃透这个模型,很多小游戏都可以开发出来。
目前这个游戏主要缺的是敌机的主动攻击功能,涉及到敌方子弹的飞行路径与算法,以及目前碰撞检测范围的扩大,希望后面花点时间能继续优化下去。
其实,学这个,并不是为了端饭碗,我的职业不是编码,主要目的两个:

1、说的有点虚,为了内心的自由,可以根据自己的想象去实现一些想法
2、说点实在的,可以大幅而有创新性的提升后续的办公效率

好了,为了犒劳自己,明天终于可以睡个懒觉了…

斐讯N1刷机折腾:关键分区降级、刷官改、U盘启动OpenWRT

发表于 2020-03-17 | 分类于 网路技术

本来前几天还在熟悉Wordpress的构架,深入探究的THEME初步锁定国内的GIT与国外的Dive,初步打算是前期用GIT来二次开发,因为免费并且是国内团队开发的,容易上手,后期可以重点考虑国外团队开发的Dive,缺点就是需要一定的投入。在折腾Wordpress中,发现后台中的很多国外的插件很难下载与更新,影响使用体验,尽管PC上挂了梯子,但是感觉在Wordpress里面翻的不是很顺畅,另外挂了梯子,在LOCALHOST进后台的时候又容易遇到冲突的情况,于是就把眼光投向了过年前买来做电视盒子的斐讯N1.
原计划是新购买一台N1来刷OpenWRT做软路由,但是现在的行情比两个月前涨了20%,好的还预售,并且物流失效也差,于是就在想怎么在现有设备中来解决看电视的需求,翻出了吃了几年灰的华为秘盒M310与荣耀盒子M321,通过安装沙发管家实现了看电视的需求(实际测试结果:同样是定位为机顶盒,荣耀M321比华为秘盒M310体验优化好太多)。于是目前的N1将计划刷入OpenWRT的方式,变成一台独立的网关服务器,实现不可言说的功能。

阅读全文 »

终于把Wordpress的环境配置好,并调通进入后台

发表于 2020-03-13 | 分类于 网路技术

初心

在部署Hexo之时,就对比考虑过是否上Wordpress,但当时只是想上一个轻量化的Blog,觉得Wordpress整个程序系统相对还是厚重了很多(尽管可视化程度会更高、功能与扩展性会更强大),于是暂时搁置。

随性

前几天心里又在琢磨是否上wordpress的事情,毕竟觉得世界上占网络站点三分之一体量的程序,再怎么也得尝试一下,但是感觉环境部署还挺麻烦的,就一直磨机着这事。
昨天早上起床,吃完早饭,突然就想通了,立马动手开干。从早到晚折腾了一天,各种配置问题,一直折腾到凌晨,仍然被卡在wordpress安装不正常的问题上。

阅读全文 »

多远程服务器的Git同步设置经验

发表于 2020-02-18 | 分类于 网路技术

一、前言

昨天完成了“通过Hexo的本地部署,将博客文件可随时同步至Github Pages”,今天早上起来就在思考,正好自己还租用了一台搬瓦工的VPS服务器,闲着也是闲着,能不能在本地Git Bash生成基于Hexo框架的静态网页后,通过一键处理的方式,同时同步到Github与Bandwagon的Git仓库里面,这样一方面效率很高,另一方面,也可以防止任何一家服务商的空间服务出现不可预知的故障或停用的时候,自己的主页还能正常运转。通过近十个小时的不停歇折腾(抛开吃饭时间),终于将遇到的问题都解决,实现了“一键两更”的功能,开心。

阅读全文 »

Hexo博客NexT主题开启文章目录

发表于 2020-02-17 | 分类于 网路技术

一、前言

Hexo博客NexT主题中是有目录的,只是在默认情况下没有开启,需要我们来手动开启。

二、修改样式文件custom.styl

文章目录样式文件custom.styl文件位于themes/next/source/css/_custom
打开后添加内容:

阅读全文 »
<i class="fa fa-angle-left"></i>123<i class="fa fa-angle-right"></i>
Frank Q

Frank Q

总得有一处空间,可以记得她的成长经历,等她长大之后,能够回顾自己父母眼中的过往,能够更坦然的面对生活,更有勇气去做自己。

23 日志
2 分类
14 标签
GitHub E-Mail
0%
© 2020 Frank Q
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4