110米障碍跑开发

 

【项目背景】2011年基础组1010暑假集训的第11天也即81号开始接触线程,一个相对程序和进程来说,更为“单纯”的一种运行版块,很大程度上展现了计算机的有序。在单线程和多线程的基础上更能深刻的理解计算机CPU的运转模式——高速有序的进行着不同进程间的切换,保证在人脑意识里计算机进行着一个连续的不间断的处理模式。在接下来的时间里又陆续的接触到了多线程和线程间的通信(线程监视模型)以及线程的同步问题,而后又学习了线程池的概念和阻塞队列。

在所学的基础上,简单的理解了一种不同运行模式间的相互关系,并开始逐步的深入了解计算机处理程序的一个简要模式,通过近阶段的学习,收获还是蛮多的,以前知识的汇总以及新知识的接触都是巨大的飞跃。

在学习过线程间通信和线程同步的基础上,开发(模仿)一款用线程监视模型的JAVA小游戏成了横亘与面前的最大难题,同时兼顾以前学过的背景图片的设置和窗体界面等的创建,也将事件监听机制转化为一种相对高级的模式——线程进行通信和管理。简言之,即是通过一款实战项目(模仿的或者自主开发的)来把前面学习的知识进行梳理和输出,体现“学以致用”的思想。

经过自己的粗略筛选,最终确定了这款“110米障碍跑”小游戏作为自己将要开发设计的一个小程序,下面简单介绍一下这款游戏设计(自己的理解)的思路以及自己开发前的初步构思,同时也将简单说明或许会涉及到的一些技术点。

 

游戏介绍è

110米障碍跑为典型Java小游戏,游戏设置相对较为简单,能在一定程度上体现出游戏者的动手速度快慢,达到游戏益智和增强动手能力的目的。游戏中设有两个角色,我个人定义为小偷(thief)和警察(police),小偷在犯案后急于逃脱,而警察又在后方紧追不舍,于是警察抓小偷的一幕就这样上演了。小偷的速度是玩家自己的设置,在真实游戏中设置的为“B+N”为前行,前行的快慢取决于玩家单位时间内同步敲击连个摁键的快慢,警察的速度则为系统固有设置。这样就基本有了梗概,玩家要不停地摁键前行,警察要在其后穷追不舍。到此游戏的基本雏形已经形成,但如此游戏估计没得人玩,没有太大的挑战性,单纯的考验手脑并用的速度。原游戏开发者显然也考虑到了这点,在游戏的设置中,小偷和警察的前行道路上都不是一帆风顺,路上会有若干的“墙壁”等着两人去碰,碰到之后两人的速度均会出现一个瞬间的减缓,待墙壁坍塌后速度方可恢复原先。这样就在一定程度上增加了游戏的娱乐性和益智性,体现寓智于戏的思想。

 

开发思路è

基于上述自己对该游戏的理解和认知,在摸索之后,整理出一下开发思路:

Ø  游戏界面的设置,其中大小尺寸设置以及背景图片的添加,其中也包括按键图片的添加,主要有以下几个:开始按钮(Play),音乐播放(Music),以及游戏介绍(About)。这几个按键均要设置为图片的格式,即以图片为背景来设置按钮。同时还要设置一个图片和监听设置,当点击某个按钮时,要有相应的触发机制

Ø  图片切换,该方法贯穿该游戏始终,每次点击都是一个图片的切换过程,都是一次刷新。譬如在点击游戏介绍按钮时,会弹出游戏介绍图片等。

Ø  时间设置,在图片切换以及游戏进行中,要设置时间统计和时间进程,以进行时刻的监控和设置

Ø  游戏的进行,本环节是该开发中最为重头的一部分,涉及到了很多点。首先是游戏的开始,当倒计时结束之后,游戏马上进入进行状态,此时有两个实物亟待处理:警察和小偷的前行,警察是固有设置,开始之后便以一定的速度前行,直至碰到“墙壁”或者“逮到”小偷,小偷的速度则要通过玩家的一个键盘输入来进行操作,初步构想是“B+N”来控制前行,空格键来进行跳跃操作,此时的一个技术点是前行键要二者同时被点击方可前行,跳跃前行则是三者共同被点击时所产生的触发。这里还有一个技术点就是当角色碰到墙壁时,设置一个速度缓冲,这里又有两种方式:一是通过设置触发者时间上的滞缓来进行相应的处罚;二是对触发者进行速度上的滞缓,可以将速度暂缓为零一定时间或是直接速度下降一定的时间间隔。而后再进行后续相关进程。

游戏结束时,即警察触碰到小偷,这里自己能想到的就是设置的两者到达同一坐标点(警察坐标=小偷—自身大小),此时即为游戏结束。同时可以在结束时刻观看用时。而后会弹出游戏结束提示(Game Over),同时还将弹出返回(Return)和继续(Again)按键,以供玩家选择。

音乐版块的添加以及调试打包等后续工种,最后将游戏打包为一个JAR格式的可应用程序。

 

难点解析è

1.      背景图片的添加

2.      按钮图片的添加及事件监听,要有相应的触发机制,即点击按钮后要有相应的图片或者文本框显示出来(事件监听机制的进一步深入:监听后要能添加标题框并且显示出背景图片)

3.      时间间隔的设置和程序的继续运行

4.      图片框架的切换,即触发一个图片后,经过预设时间出现另一张图片或者显示框,

5.      多线程监控机制,控制图片的切换以及时间间隔等

 

 

 

【项目开发简图】

※※※※※※※※※※游戏进程开发(示例图)※※※※※※※※※※

 

 

 

 

 

 

 

 

 

 

 

 

 

【项目开发时间计划】

***************************周二(08/02***************************

1.熟悉游戏运作模型,在介绍栏即游戏中感受游戏的设计,并记录下来作为独自开发的依据或者标杆

2.剪辑整理图片,在已有对游戏粗略了解的基础上,根据项目开发实例剪辑需要的图片并进行相应的处理机制

3.整理思路:根据游戏设计模型及所学java编程知识,对游戏即将运用的模块进行划分,同时对各个时段的开发做出相应的规划,并预测开发过程中可能出现的某些问题

4.翻阅资料,查询前人在简单java游戏开发中遇到的问题以及想到的新的解决问题,并自己总结出java游戏开发中的基本技术点,以备参考

5.模仿参照前人游戏开发,照抄一些自己觉得质量较高的代码段,培养开发思路,增强游戏开发意识

6.阅读查阅文档写作,注意写作中一些注意事项

7.开始编写代码

 

***************************周三(08/03***************************

1.完善文档,清晰开发思路,以文字和代码记录开发进程

2.在前一天清晰图片和按钮添加后,进而转为图片(显示框)切换的进程的应用,有两种参考方法:一是通过按钮按键来进行下一步操作,此时需要添加图片按钮和按钮监听器,以便时刻的反馈;二是通过预设两张图片的时间间隔来进行显示框的切换,此时可以用所学线程知识“生产消费”模型来进行该步操作,即在某一张图片显示后,线程控制程序进入休眠状态,休眠结束后显示下一张图片

3.汇总遇到的难点和技术点,并进行搜索,尽量发掘更好的解决方法,同时参阅可能遇到问题的解决方案,以备不时之需

4.继续代码编写

 

***************************周四(08/04***************************

1.查阅技术文档的写作思路,适应非一般文学文字的构造

2.整理以前编写代码,尽量精简一下码字和代码质量

3.进行技术分析和总结,查看书籍翻阅知识点

4.继续未完成的任务

 

***************************周五(08/05***************************

1.继续未完成任务

2.开始编译人物的添加和移动,并根据要求可以设置一些相关参变量,如碰到墙壁速度减为0滞缓1秒,同时能根据坐标位置判断输赢

 

 

***************************周六(08/06***************************

1.项目总结

2.继续开发

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值