【文档说明】Java语言程序设计与实现项目十四-Java桌面游戏项目开发.ppt,共(26)页,551.500 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2321.html
以下为本文档部分文字说明:
项目十四Java桌面游戏项目开发➢任务一2048游戏需求分析➢任务二数据库设计➢任务三系统详细设计➢任务四程序发布2022年11月12日星期六2任务一2048游戏需求分析任务要求:本任务要求了解2048游戏的需求描述,系统功
能以及系统相关的逻辑规则。(一)需求描述2048游戏是一款非常有趣的益智游戏,屏幕上共有16个方块,每个方块里面有一个数字,数字全部为2的倍数,从2,4,8,16开始,最大到2048。玩家通过每次控制所有方块向同一个方向运动,两个相同数字的方块撞在一起之后合并成为他们的和,每次操作之后会在空白
的方格处随机生成一个方块,方块中的数字为2或者4,玩家最终得到一个“2048”的方块就算胜利了。如果16个方块格子全部填满并且相邻的格子都不相同也就是无法移动的话,那么游戏失败并结束。2022年11月12日星期六具体的游戏规则描述为:✓开始时棋盘内随机出现两个数字,出现的数字为2或4
;✓玩家可以选择上下左右四个方向移动,若方块内的数字出现位移或合并,视为有效移动;✓玩家选择的方向上若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并;✓合并所得的所有新生成数字相加即为该步的有效得分;✓玩家选择的方向行或列前方有空格则出现位移;✓每有效移动一步,有空位的方块
(无数字处)随机出现一个数字(依然为2或4);✓所有的方块被数字填满,无法进行有效移动,判负且游戏结束;✓任意方块内出现2048数字,判胜且游戏结束。2022年11月12日星期六(二)系统功能描述系统要实现的功能包括游戏初始布局(16个方块的生成和初始方
块的生成)、方块的移动及合并、新方块的生成、游戏判断结束、记录得分等。1.游戏初始布局需要为游戏生成一个4*4的16个方块的界面布局,作为游戏的主界面,玩家所有的操作控制全部是在这16个方块内完成,如图14-1所示。2022年11月12日星期六2022年11月12日星期六图14-1游戏
初始布局2.方块的移动及合并通过上下左右或W,S,A,D键来控制方块的移动方向,且将相数字的方块进行合并,每次有效移动可以同时合并,但是不可以连续合并。3.新方块的生成每次完成有效的移动,在有空位的方块,也就是无数字的方块中随机出现一个数字,数字只能
为2或4,不能为其它数字。4.游戏判断结束(1)失败结束:所有的16个方块都被数字填满,且无法再进行有效的移动,此种情况下直接判负,游戏结束。(2)游戏胜出:任意一个方块内出现2048,判胜,游戏结束。2022年11月12日星期六5.记录得分(
1)记录历史得分:可以将历史最高分,记录下来。(2)当前得分:记录当前玩家的得分。(3)得分规则:每一步的得分规则为合并所得的所有新生成数字相加即为该步的有效得分。6.计分规则2048的计分规则非常简单:将能合
并的两个数合并后,合并的结果为这一次合并玩家所得到的分数。如果同时合并了两个方格,那么得分分别计算后再相加。如果把一个2和一个2合并,那么玩家得4分;如果把1个4和1个4合并,那么玩家得8分,以此类推;2022年11月12日星
期六如果同时合并了两个2和2,那么玩家得(2+2)+(2+2)=8分。如果同时合并了1个2和2,以及1个8和8,那么玩家得(2+2)+(8+8)=20分,以此类推;那么,如果合并到2048,玩家得到的分数应该是多少呢?
2048=1024+10241024=512+512512=256+256256=128+128128=64+6464=32+3232=16+1616=8+88=4+42022年11月12日星期六所以,玩家至少得到的分数为:2*1024+4*5
12+8*256+16*128+32*64+64*32+128*16+256*8+512*4=2048*9=18432。2022年11月12日星期六2022年11月12日星期六11任务二系统详细设计任务要求:本
任务要求掌握2048游戏系统的详细设计,掌握系统的页面布局设计,掌握系统中核心方法的含义,以及实现逻辑。(一)核心方法描述本游戏共涉及到5个核心方法,分别为窗口布局方法、每步操作结束后产生新的方块、按键控制方法、为
不同数字的方块设置不同颜色的方法和系统的主函数,请参见表14-1核心方法描述。2022年11月12日星期六2022年11月12日星期六方法名称描述Game2048()默认构造函数,通过此方法,完成整个游戏主界面窗口的布局,包括16个方块和显示分值的区域等。Cre
ate2()每次完成一步操作时,在有空位的方块,也就是无数字的方块中随机出现一个为2的数字方块。LableKeyPressed(KeyEvent)按键控制方法,当按下上下左右或WSAD键时,触发执行的事件setColor()为不同数字的方块设置不同的颜色。vo
idmain(String[])系统主函数,应用程序的主入口。表14-1核心方法描述(二)游戏主界面布局方法•游戏主界面布局是通过Game2048()方法来完成的,主要包括:最高分区域、当前得分区域、初始16个方块的生成以及底部操作提示的绘制,游戏主界面布局如图14-
2所示。2022年11月12日星期六2022年11月12日星期六图14-2(三)空位方块产生方法空位方块产生方法是通过Create2()方法来实现的,核心思路如下:1.通过全局变量times记录当前可用的方块数,也就是空数字方块数,初始值为16;2.产生两个小于4的
随机整数i和j(范围为0到3);3.获取上步方块上的文字,判断上面是否为空,如果为空则为空方块,可以使用,将times减1,否则将继续循环执行查找下一个空的方块位置,直至找到可用的空方块位置。4.l1,l2,l
3,l4这4个全局变量分别表示向上、向下、向左、向右是否可以移动,如果这4个变量全部为1则代表,没有可能的空方块,游戏结束。2022年11月12日星期六2022年11月12日星期六图14-3游戏开始的界面(四)按键操
作控制方法•按钮操作控制方法是通过LableKeyPressed(KeyEvent)方法来实现的,通过按钮的上下左右操作来实现方块的移动和合并。•方法中通过e.getKeyCode()方法来捕捉键盘的输入,通过switch语句来对输入的左键和A键、右键和F键、上键和W键及
下键和S键进行不同的处理。2022年11月12日星期六2022年11月12日星期六游戏进行中的界面如图14-42022年11月12日星期六当全局变量l1到l4同时被键盘赋值为1,说明任何方向键都不能产生新的数字2,则游戏失败,游戏失败结束的界面如图14-5所示:(五)为方块设
置颜色方法•为了区分各个数字不同的方块,系统为不同数字的方块定义了不同的颜色,如图14-4所示。2022年11月12日星期六(六)应用程序主入口方法•对于每个应用程序来说,都会有应用程序的主入口,也就是说当应用程序启动后
,首先要执行或加载的界面是哪个,在Java中是应用程序的入口是通过main方法实现,也就是说,当应用程序启动时,首先会执行main方法的代码。2022年11月12日星期六2022年11月12日星期六23
任务三程序发布任务要求:本任务要求掌握2048游戏应用程序如何进行发布。2022年11月12日星期六程序执行的步骤如下。(1)在Eclispe的项目资源管理器中选中项目并右击,在弹出的快捷菜单中选择Export(输出)命令,弹出Ex
port(输出)窗口,选择如图14-7所示的选项。(2)单击Next(下一步)按钮,弹出JARExport(JAR输出)窗口,进行如图14-7所示的设置。2022年11月12日星期六(3)单击Next(下一步)按钮,进入JARPackagingOptions(JAR打包选项)界面,如
图14-9所示。(4)单击Next(下一步)按钮,进入JARManifestSpecification(JAR清单规范)界面,如图14-10所示。Thankyou!!!2022年11月12日星期六