java小游戏设计.docx

上传人:公**** 文档编号:552481120 上传时间:2023-08-08 格式:DOCX 页数:19 大小:19.58KB
返回 下载 相关 举报
java小游戏设计.docx_第1页
第1页 / 共19页
java小游戏设计.docx_第2页
第2页 / 共19页
java小游戏设计.docx_第3页
第3页 / 共19页
java小游戏设计.docx_第4页
第4页 / 共19页
java小游戏设计.docx_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《java小游戏设计.docx》由会员分享,可在线阅读,更多相关《java小游戏设计.docx(19页珍藏版)》请在金锄头文库上搜索。

1、java小游戏设计 华北科技学院计算机学院综合性实验 实 验 报 告 课程名称 JA A A 程序设计 实验学期 20 至 20 学年 第 学期 学生所在院部 计算机学院 年级 专业班级 学生姓名 学号 任课教师 实验成绩 计算机学院制 av 程序设计课程综合性实验报告 开课实验室:基础四 016 年 年 11 月 8 日 日 实验题目 于 基于 j va 得拼图游戏 一、实验目得 程序使用Eclpe集成开发环境完成,熟悉并掌握在Elips开发环境下编写Jva程序。 二、设备与环境 硬件:多媒体计算机 软件:Widos 系列操作系统、JDK 开发包、Elipse 开发环境 三、实验内容及要求

2、1、实验要求 使用 Jav swi编程实现拼图游戏。游戏功能就是将一幅图片分割成 5 5 得规则小图片,游戏开始时将 5 个小图片随机摆放,玩家能够参考原图拼接出正确得图片。 游戏规则:在 个小图片中有一个为空白图片,玩家可以单击与空白小图片相邻得任一 个小图片(上、下、左、右均可),即可将单击得小图片与空白小图片交换位置。通过有限次得移动,即可将随机分布得小图片恢复成原图得样式。 2、实验内容 (1 1 ) 各 类及 主 要 成员 函 数 得功 能: 2 (2 ) 具 体代 码 及 实现 如 下: 程 序 入口 主 方法: : /第一部分 public class GeedSnake /建立

3、主类reeSnake b c s tic o d main(ting arg) SnakeModl model = new akeMode(20,0);/初始化蛇出现得位置 SnkCntr ontrol = new SaeCotrol(el); eViw view = ew Snakeiw(model,cntrol); /添加一个观察者,让vie成为ml得观察者 ol、addOevr(view); (ne Tread(mdel)、start(); 实现对蛇身得控制要求: /第二部分 /游戏得odel类,负责所有游戏相关数据及运行 clas SneContro imple en s KeList

4、er/SnControl实现接口istene,键盘监听 SakeMod oel; publ c SnkeContrl(SakeModl del) his、odel moel; pu c o d eyPressd(Keyvent ) int keyCoe = 、getKeyod(); i (model、unnin) / 运行状态下,处理得按键 swit h (keCoe) ca e KeyEven、V _UP: model、changeDietion(neMode、U ); br ak; case KeyEve、VK_DOW : model、chaneDrectin(SnakeMoel、 WN)

5、; break; case KyEen、 K_ EF : odl、hgeDirection(SnkeMod、L F ); java 源代码及其功能 序号 类名 主要功能 1 GreedSnake 该类为程序入口,含有 main 方法。 2 SnakeControl 实现控制运行等总体要求,实现方向键控制蛇得方向,空格键控制游戏暂停或继续,还有分数等。 3 SnakeModel 该类实现蛇得结构与具体运动,如判断食物就是否与怎样被吃掉及判断后得动作。 4 Node 该类实现组成蛇身得单位-食物。 5 SnakeView 该类实现画板功能,用黑色画蛇身,红色画食物。 bre k; c se Eve

6、、 K RIGHT: model、changeDrection(SkeModel、RI T); reak; e KeyEn、VK_AD : a e KeyEvnt、VK_P GE P:/向上翻加速 model、sedUp(); rea ; ca e KeyEvnt、VK_SU ACT: c se KeEvent、VK_PAGE_ O :减速 model、speedown(); bre k; cas eyvent、V _SPACE: c e eEvent、 K_ : odel、changeaeSte();/暂停进入睡眠状态 break; de ault: / 任何情况下处理得按键,按键导致重新启

7、动游戏 if (kyode = KeyEvet、 K_ | keCo = KyEvnt、VK S | ked = KyEvent、VK_ENTER) odl、eset(); pu li voi keyeleaed(KeyEvet e) p blic o d yyped(KeyEvet e) 实现蛇得结构与具体运动: /第三部分 SppressWarnings(uncheke) class Snakedel exte ds Oberae im le ent Rnable /nkeMdel继承Observale类并且实现接口Rnnable ainfra matrix; / 指示位置上有没蛇体或食物

8、 LinkeListNoe nodeArray n Lkdistoe(); / 蛇体 de food; in aX; nt max; int drecin ; / 蛇运行得方向 a fra uning = f lse; / 运行状态 int timIterval = 0; / 时间间隔,毫秒 d uble spedChangeRate = 0、75; / 每次得速度变化率 ain ra paused = fals ; / 暂停标志 n sre = 0; / 得分 i t ountMoe = 0; / 吃到食物前移动得次数 / P ad DOWN should b even / RIH an L

9、FT shld e odd p b i sta c f l t U = 2; ublic stat c f nal int DOWN = 4; u i tati final in L T = 1; pub ic s atic final int IGH 3; lic SnakeMoe( i t mxX, int maxY) t i 、axX = mX; th s、maxY axY; eset(); public v id set() ireton = Snakeodel、UP; 蛇运行得方向 timenevl 500; / 时间间隔,毫秒 paused lse; / 暂停标志 score =

10、0; / 得分 countMve = 0; / 吃到食物前移动得次数 / intial nfr, 全部清 matrx = new ainframaxX; for ( I = 0; I ma; +i) mtx = w nia ra; Arays、 ill(maixi, fa s ); / iia the snke / 初始化蛇体,如果横向位置超过20个,长度为10,否则为横向位置得一半 t iniraLength = maX 20 ? 1 : maxX / 2; nodeArray、cla(); for (int I = ; I iiArrayegh; i) int x = m 2 I;/axX

11、被初始化为2 int y = maxY / 2; /a被初始化为30 /nodAryx,y: 10,11,1-2,50,5 /默认得运行方向向上,所以游戏一开始noAry就变为: / 0,410,151,1512,15,15 orray、addLst( ew Node(x, y)); arix = true; / 创建食物 fo cateFoo(); marixf、xfoo、y = true; ublic void chageDirecio(int newDecion) / 改变得方向不能与原来方向同向或反向 f (diction % 2 != nDirecin % 2) recton = newDrecion; ub ic a fra mvOn() Nde n = noeArry、getFr

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档 > 租房合同

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号