Java语言程序设计与实现项目十四-Java桌面游戏项目开发.ppt

上传人(卖家):三亚风情 文档编号:3372423 上传时间:2022-08-24 格式:PPT 页数:26 大小:551.50KB
下载 相关 举报
Java语言程序设计与实现项目十四-Java桌面游戏项目开发.ppt_第1页
第1页 / 共26页
Java语言程序设计与实现项目十四-Java桌面游戏项目开发.ppt_第2页
第2页 / 共26页
Java语言程序设计与实现项目十四-Java桌面游戏项目开发.ppt_第3页
第3页 / 共26页
Java语言程序设计与实现项目十四-Java桌面游戏项目开发.ppt_第4页
第4页 / 共26页
Java语言程序设计与实现项目十四-Java桌面游戏项目开发.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、项目十四项目十四 Java Java桌面游戏项目开发桌面游戏项目开发 任务一任务一 2048游戏需求分析游戏需求分析 任务二任务二 数据库设计数据库设计 任务三任务三 系统详细设计系统详细设计 任务四任务四 程序程序发布发布2022年8月8日星期一2任务一任务一 2048游戏需求分析游戏需求分析任务要求:任务要求:本任务要求了解本任务要求了解20482048游戏的需求描述,系统功能以游戏的需求描述,系统功能以及系统相关的逻辑规则。及系统相关的逻辑规则。(一)(一)需求描述需求描述2048游戏是一款非常有趣的益智游戏,屏幕上共有16个方块,每个方块里面有一个数字,数字全部为2的倍数,从2,4,8

2、,16开始,最大到2048。玩家通过每次控制所有方块向同一个方向运动,两个相同数字的方块撞在一起之后合并成为他们的和,每次操作之后会在空白的方格处随机生成一个方块,方块中的数字为2或者4,玩家最终得到一个“2048”的方块就算胜利了。如果16个方块格子全部填满并且相邻的格子都不相同也就是无法移动的话,那么游戏失败并结束。2022年8月8日星期一具体的游戏规则描述为:开始时棋盘内随机出现两个数字,出现的数字为2或4;玩家可以选择上下左右四个方向移动,若方块内的数字出现位移或合并,视为有效移动;玩家选择的方向上若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并;合并所得的所有新生成数

3、字相加即为该步的有效得分;玩家选择的方向行或列前方有空格则出现位移;每有效移动一步,有空位的方块(无数字处)随机出现一个数字(依然为2或4);所有的方块被数字填满,无法进行有效移动,判负且游戏结束;任意方块内出现2048数字,判胜且游戏结束。2022年8月8日星期一(二)系统功能描述(二)系统功能描述系统要实现的功能包括游戏初始布局(16个方块的生成和初始方块的生成)、方块的移动及合并、新方块的生成、游戏判断结束、记录得分等。.游戏初始布局需要为游戏生成一个4*4的16个方块的界面布局,作为游戏的主界面,玩家所有的操作控制全部是在这16个方块内完成,如图14-1所示。2022年8月8日星期一2

4、022年8月8日星期一图14-1 游戏初始布局.方块的移动及合并通过上下左右或W,S,A,D键来控制方块的移动方向,且将相数字的方块进行合并,每次有效移动可以同时合并,但是不可以连续合并。.新方块的生成每次完成有效的移动,在有空位的方块,也就是无数字的方块中随机出现一个数字,数字只能为或,不能为其它数字。.游戏判断结束()失败结束:所有的16个方块都被数字填满,且无法再进行有效的移动,此种情况下直接判负,游戏结束。()游戏胜出:任意一个方块内出现2048,判胜,游戏结束。2022年8月8日星期一.记录得分()记录历史得分:可以将历史最高分,记录下来。()当前得分:记录当前玩家的得分。()得分规

5、则:每一步的得分规则为合并所得的所有新生成数字相加即为该步的有效得分。.计分规则2048的计分规则非常简单:将能合并的两个数合并后,合并的结果为这一次合并玩家所得到的分数。如果同时合并了两个方格,那么得分分别计算后再相加。如果把一个2和一个2合并,那么玩家得4分;如果把1个4和1个4合并,那么玩家得8分,以此类推;2022年8月8日星期一如果同时合并了两个2和2,那么玩家得(2+2)+(2+2)=8分。如果同时合并了1个2和2,以及1个8和8,那么玩家得(2+2)+(8+8)=20分,以此类推;那么,如果合并到2048,玩家得到的分数应该是多少呢?2048=1024+10241024=512+

6、512512=256+256256=128+128128=64+6464=32+3232=16+1616=8+88=4+42022年8月8日星期一所以,玩家至少得到的分数为:所以,玩家至少得到的分数为:2*1024+4*512+8*256+16*128+32*64+64*32+128*16+256*8+512*4=2048*9=18432。2022年8月8日星期一2022年8月8日星期一11任务二任务二 系统详细设计系统详细设计任务要求:任务要求:本任务要求掌握本任务要求掌握20482048游戏系统的详细设计,掌握游戏系统的详细设计,掌握系统的页面布局设计,掌握系统中核心方法的含系统的页面布局

7、设计,掌握系统中核心方法的含义,以及实现逻辑。义,以及实现逻辑。(一)(一)核心方法描述核心方法描述本游戏共涉及到5个核心方法,分别为窗口布局方法、每步操作结束后产生新的方块、按键控制方法、为不同数字的方块设置不同颜色的方法和系统的主函数,请参见表14-1核心方法描述。2022年8月8日星期一2022年8月8日星期一方法名称描述Game2048()默认构造函数,通过此方法,完成整个游戏主界面窗口的布局,包括16个方块和显示分值的区域等。Create2()每次完成一步操作时,在有空位的方块,也就是无数字的方块中随机出现一个为的数字方块。LableKeyPressed(KeyEvent)按键控制方

8、法,当按下上下左右或WSAD键时,触发执行的事件setColor()为不同数字的方块设置不同的颜色。void main(String)系统主函数,应用程序的主入口。表14-1核心方法描述(二)(二)游戏主界面布局方法游戏主界面布局方法 游戏主界面布局是通过Game2048()方法来完成的,主要包括:最高分区域、当前得分区域、初始16个方块的生成以及底部操作提示的绘制,游戏主界面布局如图14-2所示。2022年8月8日星期一2022年8月8日星期一图14-(三)(三)空位方块产生方法空位方块产生方法空位方块产生方法是通过Create2()方法来实现的,核心思路如下:1.通过全局变量times记录

9、当前可用的方块数,也就是空数字方块数,初始值为16;2.产生两个小于的随机整数i和j(范围为0到3);3.获取上步方块上的文字,判断上面是否为空,如果为空则为空方块,可以使用,将times减,否则将继续循环执行查找下一个空的方块位置,直至找到可用的空方块位置。4.l1,l2,l3,l4这4个全局变量分别表示向上、向下、向左、向右是否可以移动,如果这个变量全部为1则代表,没有可能的空方块,游戏结束。2022年8月8日星期一2022年8月8日星期一图14-游戏开始的界面(四)(四)按键操作控制方法按键操作控制方法 按钮操作控制方法是通过LableKeyPressed(KeyEvent)方法来实现的

10、,通过按钮的上下左右操作来实现方块的移动和合并。方法中通过e.getKeyCode()方法来捕捉键盘的输入,通过switch语句来对输入的左键和键、右键和键、上键和键及下键和键进行不同的处理。2022年8月8日星期一2022年8月8日星期一游戏进行中的界面如图14-42022年8月8日星期一当全局变量l1到l4同时被键盘赋值为1,说明任何方向键都不能产生新的数字2,则游戏失败,游戏失败结束的界面如图14-5所示:(五)(五)为方块设置颜色方法为方块设置颜色方法 为了区分各个数字不同的方块,系统为不同数字的方块定义了不同的颜色,如图14-4所示。2022年8月8日星期一(六)(六)应用程序主入口

11、方法应用程序主入口方法 对于每个应用程序来说,都会有应用程序的主入口,也就是说当应用程序启动后,首先要执行或加载的界面是哪个,在Java中是应用程序的入口是通过main方法实现,也就是说,当应用程序启动时,首先会执行main方法的代码。2022年8月8日星期一2022年8月8日星期一23任务三任务三 程序发布程序发布任务要求:任务要求:本任务要求掌握本任务要求掌握20482048游戏应用程序如何进行发布。游戏应用程序如何进行发布。2022年8月8日星期一程序执行的步骤如下。(1)在Eclispe的项目资源管理器中选中项目并右击,在弹出的快捷菜单中选择Export(输出)命令,弹出Export(输出)窗口,选择如图14-7所示的选项。(2)单击Next(下一步)按钮,弹出JAR Export(JAR输出)窗口,进行如图14-7所示的设置。2022年8月8日星期一(3)单击Next(下一步)按钮,进入JAR Packaging Options(JAR打包选项)界面,如图14-9所示。(4)单击Next(下一步)按钮,进入JAR Manifest Specification(JAR清单规范)界面,如图14-10所示。Thankyou!2022年8月8日星期一

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java语言程序设计与实现项目十四-Java桌面游戏项目开发.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|