网站大量收购闲置独家精品文档,联系QQ:2885784924

Java课程设计报告_2.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1 目录 摘要 1 1.设计内容及要求 1 2.贪吃蛇游戏需求分析 1 2.1游戏界面的布局设计 1 2.2需求分析方向 2 2.3游戏中涉及的类和类包含的方法 2 3.课程设计代码完成过程 4 4.MVC编程技术的分析与总结 5 5.课程设计中遇到的不易注意到的小细节 5 5.1排除蛇的相反方向的按键问题 5 5.2蛇的移动与显示问题 5 6.运行效果 7 7.我们的感受 9 Java课程设计报告 摘要 我们在这次Java课程设计中设计了一款贪吃蛇游戏,在此过程中我们复习,巩固了Java语言的基础知识,进一步加深对Java语言的理解和掌握;课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力.提高学生适应实际,实践编程的能力;培养学生在项目开发中团队合作精神,创新意识及能力.以下便是我们对这次课程设计的详细报告。 1.设计内容及要求 贪吃蛇游戏的基本要求及主要功能: 贪吃蛇是一款我们耳熟能详的曾经风靡一时的益智小游戏,它操作简单,很容易上手,但又不乏趣味性,这一次我们尝试用Java语言编写一款简单的贪吃蛇游戏,这个小游戏的基本要求和主要功能如下: 在封闭的石头围墙内有一条蛇,通过键盘控制蛇的运动方向,若无按键时,按蛇头方向自行移动。围墙内随机出现食物,吃掉食物,蛇的身体增长1节,得1分。若蛇在移动过程中,撞到石头或身体交叉蛇头撞到自己的身体游戏结束。注意蛇只能以蛇头移动,不能相反,也就是说,若蛇原先向上移动,按向下键无效。 游戏操作键主要有↑ , ↓ , → ,←,他们操控着蛇的移动方向,另一个操作键是space键,它可以暂停游戏。 游戏菜单中有:游戏,帮助,最高分数。游戏包含:开始,退出。帮助包含:帮助,关于游戏。最高分用来显示历史最高分。 中途死亡,打开游戏菜单左键单击开始,便可重新游戏,单击退出便关闭游戏框。 贪吃蛇游戏需求分析 2.1游戏界面的布局设计: 本游戏采用MVC编程技术,所谓MVC,既是模型/界面/控制器(Model/View/Controller,MVC),游戏采用BorderLayout布局,主要包括菜单组件,菜单主要包括开始,退出,帮助,历史最高分等基本功能。 游戏大致界面如下: 2.2需求分析方向: .游戏中要用到几个类 作为一个游戏,首先应该有一个游戏的显示区域,所以创建一个GamePanel类;因为是贪吃蛇游戏,必须要有一个贪吃蛇作为类即Snake类;因为贪吃嘛,就必须有一个食物类,即Food类;不能让贪吃蛇为所欲为,所以就在周围给它设置障碍物,所以要有一个障碍物类,即Ground类;但是这远远不够,因为这些类的交互比较复杂,所以要有一个类似中央处理器的东西来协调,所以要创建一个Controller类来处理按键事件和Snake类,Food类,Ground类之间的逻辑关系。 .每个类都要用什么方法。 每个类的方法会在文中具体介绍,但值得注意的是,判断蛇是否吃到事物的方法是应该放在Food类中,而不是Snake类中。 2.3游戏中涉及的类和类包含的方法: 2.3.1GamePanel: 游戏的显示区域,显示游戏的整个界面,在游戏界面上有可能触发按键事件 应包含函数: void display()//显示 2.3.2Snake: 定义的蛇的类,首先应分析蛇的基本属性如下: 蛇身体的表示方法,显示方法及初始化;蛇的移动方法;蛇移动方向的控制;蛇吃到食物以及处理蛇身体变化的方法;蛇吃到自己的身体的判断及相应的处理方法。 综上应包含的函数如下: void move();// 移动(每次走一步) void changeDirection();// 改变方向 void eatFood();// 吃到食物,身体变长 boolean isEatBody();// 吃到自己身体 void drawMe();// 动态显示蛇体 2.3.3.Food: 定义食物的类,首先分析食物的基本属性如下: 食物的产生方法;蛇吃到食物的判定方法;食物的显示方法。 综上应包含的函数如下: boolean isSnakeEatFood(Snake);// 判断蛇是否吃到食物 void drawMe();//

文档评论(0)

189****4123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档