- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件092、093实训题目:俄罗斯方块游戏设计(Java版)
开发工具要求:Jcreate 3.5 或以上
参考:java帮助文档,tutorial文档
知识: 程序主框架,事件发生与处理模型,时间日期类及时间格式化输出、图形绘制接口(类)及各类绘图成员函数、窗体的重绘机制、进程及线程的初步概念。
要求:完成以下游戏内容,满分为85分,若加以扩展,满分为100分。
一、设计要点:
游戏数据与界面显示相分离,用游戏结构数据描述游戏的状态,玩家操作或游戏自行走一步,程序中都通过修改游戏数据来体现,即每走一步,程序会修改当前的游戏数据,判断游戏是否结束了,也是通过对游戏数据的分析来作出结论。游戏界面是根据当时游戏数据来绘制的,当数据改变时,要清除原图形并重绘。总之,游戏的逻辑设计是针对游戏数据,而不是游戏界面。界面只是间接地向玩家显示结果。
因此,在设计函数时,大致分二类:与玩家操作事件有关的数据处理函数,与界面效果有关的图形绘制函数。游戏运行过程由窗体监听到的键盘事件控制。
在游戏程序中,我们可以将它看成3个对象,分别是程序窗体主类对象、方块数据管理对象、控制游戏自动下落的定时器线程对象。
窗体界面主类对象:负责绘制游戏图象、包含游戏设置的各种控件(如:设置速度的文本框、显示得分的标签、开始及暂停按钮),负责游戏的各种属性数据的读入及显示输出,最重要的是:它还是一个键盘事件处理类,监听玩家的键盘操作,处理键盘事件,在键盘事件处理函数中调用游戏数据管理对象的方法,控制游戏的运行。我们还把游戏数据管理对象、控制游戏自动下落的定时器线程对象作为它的成员变量。
游戏数据管理对象:主要管理着两方面数据:方块的坐标数据和游戏空间数据。用成员数组变量描述游戏空间状态,根据游戏空间状态判断游戏是否结束。用它的成员变量保存方块的形状数据及坐标数据,定义当方块走动方块数据变化的处理方法。此外,还把各种游戏属性数据作为其成员变量。
控制游戏自动下落的定时器线程对象:是一个线程类派生对象,独立运行,每隔一段时间控制方块下落下格。
class RussionBlockGame
{
final int sp_WIDTH = 20; //游戏空间宽(单位:小正方格)
final int sp_HIGHT = 20; //游戏空间高(单位:小正方格)
final int types[][][]= {
{{-1,0},{0,0},{1,0},{2,0}},
{{-1,0},{0,0},{1,0},{1,-1}},
{{-1,0},{0,0},{1,0},{0,-1}},
{{-1,0},{0,0},{1,0},{-1,-1}}
};/*四种基本方块的相对坐标*/
//游戏核心数据
int block_box[][]=new int[4][2]; /*四个正方形的坐标(相对方块中心点)*/
int block_cx, block_cy; /*方块中心点在游戏空间中的坐标(相对游戏空间左上角点)*/
int block_type; /*方块类属(上图中四种分别为0,1,2,3)*/
int gamespace[][] = new int[sp_HIGHT][sp_WIDTH] ;/*空间数据*/
//游戏的其它属性
int m_score = 0;/*游戏得分*/
int m_speed = 500; /*控制游戏,单位:1/1000秒/步*/
boolean isplaying = false;/*是否在游戏中*/
public RussionBlockGame()//构造函数
{ …………}
void makenewblock(){}//随机生成新的方块数据
void movedown(){}/*下移动方块*/
void moveleft(){}/*左移动方块*/
void moveright(){}/*右移动方块*/
void turnleft(){}/*左转动方块*/
void turnright(){}/*右转动方块*/
boolean IsCanChangeTo(int cx, int cy , int box[][])//判断方块能否走到这位置
boolean IsHitBottom( ) //判断当前方块是否已触底,并处理
boolean CheckAndCutLine(int Ln )/*查某行是否为全填充,如是,消掉并返回true*/
boolean IsGameOver() { }/* true结束 false-- 没有结束*/
}
class GameWin extends JFrame
{
Clolor spacecolor; //游戏
您可能关注的文档
- tomcat分析.doc
- tomcat服务器自动部署插件安装手册.doc
- tomcat工作原理深入详解——How Tomcat Works 中文版.doc
- tomcat配置.doc
- tomcat配置文件详解.doc
- tomcat配置详解.doc
- Tomcat配置优化(完整版).doc
- TOMCAT使用说明书.doc
- Tomcat详细配置和测试.doc
- tomcat性能调整.doc
- 2025-2030航空发动机零部件市场分析及军民融合趋势与关键技术突破研究.docx
- 2025至2030中国聚羟基链烷酸酯行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030信息化产业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030家政机器人市场产业运行态势及投资规划深度研究报告.docx
- 2025至2030全球及中国双目移动裂隙灯行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030全球及中国调度台行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025-2030中国边缘计算技术发展动态及商业价值预测报告.docx
- 2025至2030中国烷基酚醛树脂行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030中国自动张力控制器行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030蓄电池行业项目调研及市场前景预测评估报告.docx
最近下载
- 刑事审判参考2001年第7辑(总第18辑).pdf VIP
- 刑事审判参考2001年第4辑(总第15辑).pdf VIP
- GB/T 18998.5-2022工业用氯化聚氯乙烯(PVC-C)管道系统 第5部分:系统适用性.pdf
- 刑事审判参考2001年第8辑.总第19辑.pdf VIP
- 急诊危重症护理新进展题库答案-2025年华医网继续教育答案.docx VIP
- 《共圆中国梦》教学设计 统编版道德与法治九年级上册.pdf
- 新解读《DL_T 2765—2024输变电工程逻辑模型规范》最新解读.docx VIP
- 2025年锅炉水处理作业G3证理论考试笔试试题(400题)含答案.docx VIP
- 刑事审判参考2001年第9辑.总第20辑.pdf VIP
- 房地产开发重要节点及流程.pptx VIP
文档评论(0)