欢迎来到天天文库
浏览记录
ID:39808893
大小:119.51 KB
页数:14页
时间:2019-07-11
《JAVA 俄罗斯方块实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、目录一.需求分析2二.系统运行环境2三.系统功能需求描述:2四.总体设计2五.系统结构图3六.程序模块设计3七、实验总结体会15一.需求分析在个人电脑日益普及的今天,一些有趣的桌面游戏已经成为人们在使用计算机进行工作或学习之余休闲娱乐的首选,而俄罗斯方块游戏是人们最熟悉的小游戏之一,它以其趣味性强,易上手等诸多特点得到了大众的认可,因此开发此游戏软件可满足人们的一些娱乐的需求。此俄罗斯方块游戏可以为用户提供一个可在普通个人电脑上运行的,界面美观的,易于控制的俄罗斯方块游戏。二.系统运行环境操作系统选择WindowsXP版
2、本,运行环境选择MyEclipse三.系统功能需求描述俄罗斯方块游戏是一款适合大众的游戏软件,它适合不同年龄的人玩。本软件要实现的功能如下:1.游戏区:玩家可以在游戏区中堆积方块,并能够在游戏过程中随时了解得分情况。2.游戏控制:玩家可以通过游戏控制功能来选择开始新的一局游戏,暂停或退出游戏。3.级别设置:玩家可以根据自己的需要自行设定游戏的开始级别,级别越高,游戏速度越快,难度越大。四.总体设计游戏中玩家可以做的操作有:1.以90度为单位旋转方每一格块。2.以格子为单位左右移动方块,让方块加速落下。3.方块移到区域最下
3、方或是着地到其他方块上无法移动时,就会固定在该处,而新的随机图形会出现在区域上方开始落下。4.当区域中某一列横向格子全部由方块填满,则该列会自动消除并成为玩家的得分。同时删除的列数越多,得分指数上升。5.当固定的方块堆到区域最上方,则游戏结束。五.系统结构图俄罗斯方块游戏游戏区游戏控制显示玩家操作显示操作结果开始暂停/继续提高等级退出降低等级六.程序模块设计6.1用户界面设计游戏区模块创建游戏区处理玩家游戏操作显示游戏结果游戏控制模块开始游戏暂停游戏初始级别设置退出游戏6.2程序代码设计packagerussia;imp
4、ortjava.awt.*;importjava.awt.event.*;//俄罗斯方块类classERS_BlockextendsFrame{/** * */ privatestaticfinallongserialVersionUID=1L;publicstaticbooleanisPlay=false;publicstaticintlevel=1,score=0;publicstaticTextFieldscoreField,levelField;publicstaticMyTimertimer;GameCanva
5、sgameScr;publicstaticvoidmain(String[]argus){ERS_Blockers=newERS_Block("俄罗斯方块游戏V1.0Author:Vincent");WindowListenerwin_listener=newWinListener();ers.addWindowListener(win_listener);}//俄罗斯方块类的构造方法@SuppressWarnings("deprecation")ERS_Block(Stringtitle){super(title);s
6、etSize(600,480);setLayout(newGridLayout(1,2));gameScr=newGameCanvas();gameScr.addKeyListener(gameScr);timer=newMyTimer(gameScr);timer.setDaemon(true);timer.start();timer.suspend();add(gameScr);PanelrightScr=newPanel();rightScr.setLayout(newGridLayout(2,1,0,30));r
7、ightScr.setSize(120,500);add(rightScr);//右边信息窗体的布局MyPanelinfoScr=newMyPanel();infoScr.setLayout(newGridLayout(4,1,0,5));infoScr.setSize(120,300);rightScr.add(infoScr);//定义标签和初始值Labelscorep=newLabel("分数:",Label.LEFT);Labellevelp=newLabel("级数:",Label.LEFT);scoreFie
8、ld=newTextField(8);levelField=newTextField(8);scoreField.setEditable(false);levelField.setEditable(false);infoScr.add(scorep);infoScr.add(scoreField);infoScr.a
此文档下载收益归作者所有