2048小游戏java课程设计报告书.pdf
《2048小游戏java课程设计报告书.pdf》由会员分享,可在线阅读,更多相关《2048小游戏java课程设计报告书.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 JAVA 语言程序设计 课程设计报告 2048 智力小游戏设计 专业班级:计算机科学与技术嵌入 13-1 学生姓名:卓海有 学生学号:小组成员:单建飞 堵文斐 李栋承 梅孔伟 指导教师姓名:宋 强 目录 1.前言.1 2.游戏需求分析.1 需求分析.1 可行性分析.2 3.概要设计.3 4.详细设计.4 流程图.4 界面的整体布局.4 方法模块分析.5 5.测试.8 6.总结.10 6.参考文献.10 7.部分源代码:.10 一、前言 最近以来,移动手游越来越成为当下游戏产业中重要的一环,市场也在加大对这一产业的投入,涌现出了愤怒的小鸟,水果忍者,flappy bird,2048 等诸多优秀
2、的手游,然而任何一款手游能够风靡,主要还是依靠其简单的操作性,因此本次 java 课设我选择其中的典型2048PC版作为本次课设的课题。2048 游戏规则很简单,玩家每次可以选择上下左右其中一个方向去移动,每移动一次,所有的数字方块都会往移动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是 2 就是 4,玩家要想办法在这小小的 16 格范围中凑出“2048”这个数字方块。二、游戏需求分析 需求分析 现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使用设备的要求趋于
3、简单化和多样化,游戏界面更加人性化,功能更加贴合使用。(1)界面 一款的好的游戏其界面必须友好,简洁已经成为当今 UI 设计的主流,简单易上手才能得到玩家的青睐。(2)功能需求 能够显示游戏的当前得得分,并记录游戏的最高分并显示,当在次打开游戏时,能够显示最高分;在游戏进行的过程中循环播放音乐,并能够关闭音乐或者打开音乐;游戏的主界面上,相同的数字要显示相同的颜色。游戏结束要有相应的提示。游戏的主要目的是通过上下左右移动来将相邻相同的数字相加,通过不断地累加最终加到 2048。(3)操作性需求 游戏的体验是衡量一款游戏的关键,本游戏可通过键盘 w,s,a,d 以及方向键来控制方块的移动,还可以
4、通过在游戏的主面板中向上下左右拖动鼠标来控制方块的移动,左右手都可以操作,充分考虑便捷性。不同的人有不一样习惯,通过多种方式来操作游戏,可以各种习惯的人的需求。可行性分析 (1)面向对象的程序设计方法 Java 面向对象程序设计的基本思想是通过构造和组织对象来求解问题的。对象是很好理解的,任何一种物体都可以被认为是对象,例如,汽车就是一种对象。对象具有两个最基本的属性:具有一定的物质基础和一定的功能,这两种基本属性在 Java 语言中表现为拥有一定的存储单元并具备一定的功能。理解了 Java 的这种面向对象程序设计的基本思想之后,在以后的编程过程中,就应当个构造人们容易理解的更接近于真实物理世
5、界物体的对象。Java 面向对象程序设计的过程非常简单。这里介绍一种自顶向下的程序设计方法,首先构造一个类来处理需要解决的问题,然后根据已经拥有的类(例如以前求解其它问题时实现的类),分析和构造新的类,设法将问题分解下去,而最开始构造的类通过组织这些新构造的类、已有的类及由他们生成的实例来求解指定的问题。这个过程可以继续递归下去,用在新构造的类上,直到最后解决了指定的问题,例如 Java 的应用程序和小应用程序都必须有一个类作为入口求解问题。在计算机语言中,面向对象的类一般具有三个基本特性:封装性、继承性和多态性,这三种特性进一步简化了 Java 求解模型,提高了程序的复用性,节省了程序的代码
6、量,从而提高了软件的生产率。(2)java 技术分析 图形用户界面不仅可以提供各种数据的基本图形的直观表示形式,而且可以建立友好的交互方式,从而使计算机软件可以设计得十分简单易用。从Java 语言诞生到现在,Java 语言已经提供了两代图形用户界面。第一代图形用户界面 AWT 提供了基本的图形用户界面,它强烈地依赖于具体的计算机操作系统,而且缺少基本的剪贴板和打印支持功能。现在第二代图形用户界面 Swing 对 AWT 进行了扩展,Swing 不仅在功能上比 AWT 强大,而且在很大程度上克服了 AWT 的上述缺点,它所设计的图形用户界面与具体的计算机操作相关性很小,而且可以定制指定的操作系统
7、风格的图形用户界面。GUI(图形用户界面)组件构成了图形用户界面的基础。在 Java 程序设计中,要求按照一定的布局方式将组件安排在容器中,然后通过事件处理的方式实现人机交互,而容器本身也是组件,这样在容器中也可以含有容器,从而可以通过这种嵌套方式方便地组合各种组件。事件处理模型是 Java 语言提供的一种人机交互模型,它使得用户能够通过鼠标、键盘或其他输入设备来控制程序的执行流程,从而达到人机交互的目的。对鼠标、键盘或其他输入设备的各种操作一般也称为事件。Java语言对这些事件的处理模型是采用面向对象的方法,即通过对象的形式把各种事件进行封装和处理。这种事件处理模型的三个基本要素是事件源、事
8、件对象以及事件监听器。事件源是各种组件,是接受各种事件的对象。在各种事件源上运用鼠标、键盘或其他输入设备进行各种操作,就会有事件发生。每种操作一般都对应着事件,Java 语言通过事件对象来包装这些事件。对事件进行处理是通过事件监听器实现的。因为鼠标事件也是一种事件,所以对鼠标事件进行处理要遵循事件处理模型。鼠标事件的处理也是建立在事件源的基础之上,以事件对象本身,最后通过事件监听器进行处理。类包装常用的鼠标事件,例如,按下鼠标键和放开鼠标键等。类MouseEvent 的实例对象记录了鼠标的当前位置和状态发生变化的鼠标键等。对鼠标事件进行处理最关键的是实现事件监听器接口。这些相关接口包括Mous
9、eListener,MouseMotionListener,MouseWheelListener,MouseInputListener。前 面 三 个 是 包 中 的 接 口,最 后 一 个 接 口MouseInputlistener 来自包。接口主要用来处理按下鼠标键、放开鼠标键、单击鼠标键、鼠标进入组件内和鼠标离开组件区域等事件。对鼠标事件进行处理,就是要设计类,实现上面的鼠标事件监听器接口,然后在事件源中注册处理鼠标事件监听器的对象,以便对鼠标事件进行处理。三、概要设计 四、详细设计(1)流程图 (2)界面的整体布局 分别构建 mainPane,scoresPane 两大模块放入游戏窗体
10、,其中scoresPane 包含 2048 字样的提示,当前得分和最高分,当得分超过最高分时,将得分存入工程文件夹下的,覆盖最高分,同时在最高分显示最新的内容。通过 Create方法随机产生 2 号方块或者 4 号方块,通过 setColor方法设置每个数字代表的方块颜色。(3)方法模块分析 方法 1:设置标签颜色,每次随机产生 2 或 4 和数字合并之后就要调用该方法来设置标签的颜色 public void setColor(int i,int j,String str)if(.equals(str)textsij.setBackground(new Color(120,221,247);r
11、eturn;int result=(str);switch(result)case 2:textsij.setBackground(new Color(240,240,0);break;case 4:textsij.setBackground;break;case 8:textsij.setBackground(new Color(240,150,10);break;case 16:textsij.setBackground;break;case 32:textsij.setBackground;break;case 64:textsij.setBackground(new Color(155
12、,10,190);break;case 128:textsij.setBackground;break;case 256:textsij.setBackground;break;case 512:textsij.setBackground;break;case 1024:textsij.setBackground;break;case 2048:textsij.setBackground;break;case 4096:textsij.setBackground;break;default:break;方法 2:在随机位置产生一个 2 号或 4 号方块的方法,同时该方法也用于判断游戏是否结束。
13、public void Create()int i,j;etText();if()=0)int ima=2*(int)(1+()*2);etText(imass);setColor(i,j,imass);times-;r=false;p1=p2=p3=p4=0;quals(textspq.getText()temp2pq=0;else temp2pq=(textspq.getText();temp1scores=temp2scores;temp2scores=scores;else if(p1 0&p2 0&p3 0&p4 0)械工业出版社.2 黄晓东.Java 课程设计案例精编M.北京:中国
14、水利水电出版社,.3 求是科技.Java 信息管理系统开发实例导航M.北京:人民邮电出版社.源代码清单 package my2048game;import .*;import.*;import.*;import .*;public class My2048Game extends JFrame equestFocus();pg);(433,120,45,30);(jb1);etFont(font2);textsij.setHorizontalAlignment;etText();textsij.setBounds(110*j+15,110*i+15,100,100);etOpaque(true
15、);etBorder(2,2,2,quals(textsij.getText()temp1ij=temp2ij=0;else temp1 ij=temp2ij=(textsij.getText();quals(str)textsij.setBackground(new Color(120,221,247);return;int result=(str);switch(result)case 2:textsij.setBackground(new Color(240,240,0);break;case 4:textsij.setBackground;break;case 8:textsij.se
16、tBackground(new Color(240,150,10);break;case 16:textsij.setBackground;break;case 32:textsij.setBackground;break;case 64:textsij.setBackground(new Color(155,10,190);break;case 128:textsij.setBackground;break;case 256:textsij.setBackground;break;case 512:textsij.setBackground;break;case 1024:textsij.s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2048 小游戏 java 课程设计 报告书
限制150内