软工JAVA课程设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软工JAVA课程设计

《JAVA程序设计》 课程设计报 ? 院 系 题 目: 吞食蛇 学生姓名: 张聚营 卢毛毛 学生学号: 专业班级: 软一 软二 指导教师: 吴光伟 完成时间: 2016年6月23号 ? 目录 1 需求分析 3 基本功能如下: 3 扩展功能: 3 2 设计 3 2.1 设计思路 3 2.3系统功能模块 4 2.4程序流程图 4 图2.2 6 2.5总设计模块的划分 6 3功能的具体实现 7 3.1重新开始 7 3.2暂停 7 3.3保存分数 8 3.4加速减速 9 4运行结果 9 4.1游戏开始界面 9 4.2蛇撞到自身结束游戏 9 4.3蛇撞到墙面结束游戏 10 4.4游戏暂停 10 4.5游戏在暂停或者运行时重新开始 11 11 总 结 13 参 考 文 献 14 附录A源代码 15 23 1 需求分析 基本功能如下: 1. 能够使用键盘控制吞食蛇的行动。 2. 能够随机生成食物,供吞食蛇吞噬。 3. 提供游戏的暂停和保存的功能。 扩展功能: 4. 提供难度的选择,如速度、地形。 5. 提供服务器,让玩家可以比较战绩。 其他功能可以按照自己的兴趣进行创新添加。 2 设计 2.1 设计思路 贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现移动速度、暂停、重新开始等功能。 游戏主界面模块: 游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏的速度选择更新界面、新生方块的预览、暂停游戏按钮、重新开始游戏按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。 游戏控制模块: 这个模块是游戏的中心环节,主要完成控制游戏的开始、暂停、重新开始等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。 本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的速度控制、游戏的暂停、游戏的退出等功能,分为: 游戏主界面模块,游戏主界面模块等两个模块。 图2.1 2.2设计目标 本软件是针对贪食蛇小游戏的JAVA程序,利用方向键来改变蛇的方向;按PageUp加速,PageDown减速;按空格键或P键暂停或继续游戏;按R键重新开始。并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行 2.3系统功能模块 Java源文件及其功能如表所示: 2.4程序流程图 图2.2 2.5总设计模块的划分 根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图2所示。 游戏控制模块的主要框架如图3所示。 游戏暂停控制:点击“空格”按钮或P,游戏暂停;再单击,游戏继续。 游戏重新开始控制:点击“R”键后,点击确定,即游戏重新开始。 游戏保存控制:点击“S”键好,点击确定,退出游戏界面。 游戏加速减速控制:点击“SpeedUp”加速,点击“SpeedDown”减速。 3功能的具体实现 3.1重新开始 按R键使进行中的游戏或者暂停中的游戏重新开始,调用reset方法,相关代码如下: case KeyEvent.VK_R://按R键重新启动游戏 model.reset(); break; public void reset(){ direction = SnakeModel.UP; // 蛇运行的方向 timeInterval = 200; // 时间间隔,毫秒 paused = false; // 暂停标志 score = 0; // 得分 countMove = 0; // 吃到食物前移动的次数 3.2暂停 定义一个布尔类型,pause,初始化为false,再在无限循环运动running类运用if语句,具体代码如下: boolean paused = false; boolean paused = false; if (!paused) { if (moveOn()) { setChanged(); // Model通知View数据已经更新 notifyObservers(); } else {

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档