基于Java语言的俄罗斯方块游戏课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Java语言的
俄罗斯方块游戏课程设计
学院:X
专业:X
班级:X
姓名:X
学号:X
指导老师:X
摘要
第一章引言
1.1 设计的课题背景
1.2 研究课题的任务,目的和意义
1.2.1 课题的任务
1.2.2 课题的目的
1.2.3 课题的意义
1.3 系统的主要功能和特色
1.3.1 系统的主要功能
1.3.2 系统的特色
第二章系统需求分析
2.1 本课题研究现状分析
2.2 要解决的问题及解决方法
2.3 系统设计的主要内容、目标
2.3.1 系统设计的主要内容
2.3.2 设计的目标
2.4 使用的关键技术
第三章系统的详细设计
3.1 系统的总体系结构
3.2 系统各模块的界面设计及实现
3.2.1 主窗体程序模块设计与实现
3.2.2 方块变换模块设计与实现
3.2.3 满行消除并计分模块设计与实现第四章系统的安装与测试
4.1 系统的安装
4.1.1 系统的运行环境
4.1.2 系统的安装
4.2 系统的测试
结束语
参考文献
附录:有关程序代码
摘要:
在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,一些有趣的桌面游戏已经成为人们在使用计算机进行工作或学习之余休闲娱乐的首选,而俄罗斯方块游戏是人们最熟悉的小游戏之一。俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。为此,我设计了一款简单的俄罗斯方块JAVA 游戏程序,以便更好的满足广大电脑工作者闲暇之余的消遣,并且也让我学到编程技术。
关键字:俄罗斯方块游戏、Java语言、编程
第一章引言
1.1设计的课题背景
俄罗斯方块是一款电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。2014年2月22日,英国心理学家发现,减肥者通过玩俄罗斯方块,可以降低对富含脂肪的食物和零食的心理需求;尝试戒烟者的烟瘾也能得到遏制。
本学期学习java程序后,对该语言有了更深了解,可以尝试实现小程序的开发。因此利用所学知识,编写了俄罗斯方块这一游戏,实现了它的部分简单功能。
1.2 研究课题的任务,目的和意义
1.2.1 课题的任务
本游戏开发的总体任务是实现游戏的可操作性,以及界面的美观性。采用JAVA GUI编程实现界面以及事件的控制。用户根据键盘的四个方向键控制翻转、向左、向右、和向下操作。
1.2.2 课题的目的
用所学的Java知识编写小游戏,学会使用Java中的相关知识,熟练掌握开发程序的流程。熟练使用eclipse软件进行Java编程,并进行调试和测试。基本实现俄罗斯方块的基本功能。
1.2.3 课题的意义
本课题的选择,完成后,可方便人们进行游戏的玩耍,开发相应智力与推理能力。如果加以推广,必将使人们在枯燥的时间有娱乐的游戏,使人们的生活更加丰富。
1.3 系统的主要功能和特色
1.3.1 系统的主要功能
用户根据键盘的四个方向键控制翻转、向左、向右、和向下操作,每当整一行全满时,自动消除,并计分。
1.3.2 系统的特色
本次设计的游戏中增加了计分功能,可以方便游戏玩家查看分数,查看自己的实际水平。
设计框图:
总体界面:
整体的大致效果:
第二章系统需求分析
2.1 本课题研究现状分析
俄罗斯方块不仅有益智力,还能促进手指灵活性。目前,手机普及的程度相当大,人们可以在闲暇时间娱乐。它趣味性强,易上手,能满足人们对它的娱乐要求。因此,俄罗斯方块游戏,可以为用户提供一个可在普通个人电脑上运行的游戏,如果时间足够,开发出手机版俄罗斯方块后,将更方便人们闲暇时玩耍。
2.2 要解决的问题及解决方法
解决了程序太大不能进行简单游戏娱乐的弊端,以相当简单的代码完成了相应功能,解决了人们玩游戏不方便的弊端,使人们能随意在任何地方都能娱乐,消遣空闲时间。
2.3.1 系统设计的主要内容
在eclipse英文LUNA版中编写代码,使用Java中Frame、Button等相关组件进行合理的组合设计,实现相应效果,达到预期效果。
2.3.2 设计的目标
实现对游戏的控制,其中表示方块翻转,表
示方块左移,表示方块右移,表示方块
加速下降。使其完成相应变化,从而得到游戏者想要的形状,以完成整行的匹配。
第三章系统的详细设计
3.1 系统的总体系结构
不同的随机方块会从区域上方缓慢落下,能以90度为单位旋转每一方块,以一格为单位左右移动方块,让方块加速落下。区域中横向格子方块填满,则该行会自动消除并为玩家的得分。当固定的方块推到区域最上方,则游戏结束。
编写主方法,对所编写的类进行测试。方块的消去,变换形状通过编写的成员方法实现。使用随机函数确定每次掉落的方块形状。使用ActionListiner响应键盘事件。
3.2 系统各模块的界面设计及实现
3.2.1 主窗体程序模块设计与实现
主窗体使用Frame窗体,在窗体上实现相应功能。把菜单栏添加到窗体上。将不同菜单添加到菜单栏上,完成新游戏、暂停、继续、退出等功能。
相应代码如下:
public class Game extends JFrame {
public Game() {
Tetrisblok a = new Tetrisblok();
addKeyListener(a);
add(a);
}
public static void main(String[] args) {
Game frame = new Game();
JMenuBar menu = new JMenuBar();
frame.setJMenuBar(menu);