版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、项目十四 Java桌面游戏项目开发 任务一 2048游戏需求分析 任务二 数据库设计 任务三 系统详细设计 任务四 程序发布23 七月 20222任务一 2048游戏需求分析任务要求:本任务要求了解2048游戏的需求描述,系统功能以及系统相关的逻辑规则。 (一) 需求描述2048游戏是一款非常有趣的益智游戏,屏幕上共有16个方块,每个方块里面有一个数字,数字全部为2的倍数,从2,4,8,16开始,最大到2048。玩家通过每次控制所有方块向同一个方向运动,两个相同数字的方块撞在一起之后合并成为他们的和,每次操作之后会在空白的方格处随机生成一个方块,方块中的数字为2或者4,玩家最终得到一个“204
2、8”的方块就算胜利了。如果16个方块格子全部填满并且相邻的格子都不相同也就是无法移动的话,那么游戏失败并结束。23 七月 2022具体的游戏规则描述为:开始时棋盘内随机出现两个数字,出现的数字为2或4;玩家可以选择上下左右四个方向移动,若方块内的数字出现位移或合并,视为有效移动;玩家选择的方向上若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并;合并所得的所有新生成数字相加即为该步的有效得分;玩家选择的方向行或列前方有空格则出现位移;每有效移动一步,有空位的方块(无数字处)随机出现一个数字(依然为2或4);所有的方块被数字填满,无法进行有效移动,判负且游戏结束;任意方块内出现20
3、48数字,判胜且游戏结束。23 七月 2022(二)系统功能描述系统要实现的功能包括游戏初始布局(16个方块的生成和初始方块的生成)、方块的移动及合并、新方块的生成、游戏判断结束、记录得分等。.游戏初始布局需要为游戏生成一个4*4的16个方块的界面布局,作为游戏的主界面,玩家所有的操作控制全部是在这16个方块内完成,如图14-1所示。23 七月 202223 七月 2022图14-1 游戏初始布局.方块的移动及合并通过上下左右或W,S,A,D键来控制方块的移动方向,且将相数字的方块进行合并,每次有效移动可以同时合并,但是不可以连续合并。.新方块的生成每次完成有效的移动,在有空位的方块,也就是无
4、数字的方块中随机出现一个数字,数字只能为或,不能为其它数字。.游戏判断结束() 失败结束:所有的16个方块都被数字填满,且无法再进行有效的移动,此种情况下直接判负,游戏结束。() 游戏胜出:任意一个方块内出现2048,判胜,游戏结束。23 七月 2022.记录得分() 记录历史得分:可以将历史最高分,记录下来。() 当前得分:记录当前玩家的得分。() 得分规则:每一步的得分规则为合并所得的所有新生成数字相加即为该步的有效得分。.计分规则2048的计分规则非常简单:将能合并的两个数合并后,合并的结果为这一次合并玩家所得到的分数。如果同时合并了两个方格,那么得分分别计算后再相加。如果把一个2和一个
5、2合并,那么玩家得4分;如果把1个4和1个4合并,那么玩家得8分,以此类推;23 七月 2022如果同时合并了两个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 + 423 七月 2022所以,玩家至少
6、得到的分数为:2*1024 + 4 * 512 + 8 * 256 + 16 * 128 + 32 * 64 + 64 * 32 + 128 * 16 + 256 * 8 + 512 * 4 = 2048 * 9 = 18432。23 七月 202223 七月 202211任务二 系统详细设计任务要求:本任务要求掌握2048游戏系统的详细设计,掌握系统的页面布局设计,掌握系统中核心方法的含义,以及实现逻辑。(一) 核心方法描述本游戏共涉及到5个核心方法,分别为窗口布局方法、每步操作结束后产生新的方块、按键控制方法、为不同数字的方块设置不同颜色的方法和系统的主函数,请参见表14-1核心方法描述。
7、23 七月 202223 七月 2022方法名称描述Game2048()默认构造函数,通过此方法,完成整个游戏主界面窗口的布局,包括16个方块和显示分值的区域等。Create2()每次完成一步操作时,在有空位的方块,也就是无数字的方块中随机出现一个为的数字方块。LableKeyPressed(KeyEvent)按键控制方法,当按下上下左右或WSAD键时,触发执行的事件setColor()为不同数字的方块设置不同的颜色。void main(String)系统主函数,应用程序的主入口。表14-1核心方法描述(二) 游戏主界面布局方法游戏主界面布局是通过Game2048()方法来完成的,主要包括:最
8、高分区域、当前得分区域、初始16个方块的生成以及底部操作提示的绘制,游戏主界面布局如图14-2所示。23 七月 202223 七月 2022图14-(三) 空位方块产生方法空位方块产生方法是通过Create2()方法来实现的,核心思路如下:1. 通过全局变量times记录当前可用的方块数,也就是空数字方块数,初始值为16;2. 产生两个小于的随机整数i和j(范围为0到3);3. 获取上步方块上的文字,判断上面是否为空,如果为空则为空方块,可以使用,将times减,否则将继续循环执行查找下一个空的方块位置,直至找到可用的空方块位置。4. l1,l2,l3,l4这4个全局变量分别表示向上、向下、向
9、左、向右是否可以移动,如果这个变量全部为1则代表,没有可能的空方块,游戏结束。23 七月 202223 七月 2022图14-游戏开始的界面(四) 按键操作控制方法按钮操作控制方法是通过LableKeyPressed(KeyEvent)方法来实现的,通过按钮的上下左右操作来实现方块的移动和合并。方法中通过e.getKeyCode()方法来捕捉键盘的输入,通过switch语句来对输入的左键和键、右键和键、上键和键及下键和键进行不同的处理。23 七月 202223 七月 2022游戏进行中的界面如图14-423 七月 2022当全局变量l1到l4同时被键盘赋值为1,说明任何方向键都不能产生新的数字
10、2,则游戏失败,游戏失败结束的界面如图14-5所示:(五) 为方块设置颜色方法为了区分各个数字不同的方块,系统为不同数字的方块定义了不同的颜色,如图14-4所示。23 七月 2022(六) 应用程序主入口方法对于每个应用程序来说,都会有应用程序的主入口,也就是说当应用程序启动后,首先要执行或加载的界面是哪个,在Java中是应用程序的入口是通过main方法实现,也就是说,当应用程序启动时,首先会执行main方法的代码。23 七月 202223 七月 202223任务三 程序发布任务要求:本任务要求掌握2048游戏应用程序如何进行发布。23 七月 2022程序执行的步骤如下。(1) 在Eclispe的项目资源管理器中选中项目并右击,在弹出的快捷菜单中选择Export(输出)命令,弹出Export(输出)窗口,选择如图14-7所示的选项。(2) 单击Next(下一步)按钮,弹出JAR Export(JAR输出)窗口,进行如图14-7所示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大型货物运输业务合同范例
- 工程清单报价合同范例
- 借用机器试用合同范例
- 买房退款合同范例
- 范例木工合同范例
- 公积金贷款担保合同范例
- 企业类赠与合同范例
- 居间土方协议合同范例
- 赠与保洁豪车合同范例
- 机械监控采购合同范例
- 设备合作入股合同范例
- 应用写作-终结性考核-国开(SC)-参考资料
- 2024年车辆工程大一大学生职业生涯规划书
- 2024年决战行测5000题言语理解与表达(培优b卷)
- 【培训课件】建设工程施工工地消防安全管理
- 2023-2024学年江苏省苏州市昆山市八年级(上)期末英语试卷
- 2024届高考语文专题复习:文言文阅读专项练习题汇编(含答案)
- 2024年BRC培训课件全面解析
- 绿色建筑概论学习通超星期末考试答案章节答案2024年
- 露天矿山开采施工组织方案
- GB/T 44481-2024建筑消防设施检测技术规范
评论
0/150
提交评论