资源描述:
《俄罗斯方块java代码1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/***File:ErsBlocksGame.java*User:Administrator*Date:Dec15,2003*Describe:俄罗斯方块的Java实现*/importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;/***游戏主类,继承JFrame类,负责游戏的全局控制。*内含*1,一个GameCanvas画布类的实例引用,*2,一个保存当前活动块(ErsBlock)实例的引用,*3,一个保存当前控制面板(ControlPanel)实例的引用;*
2、/publicclassErsBlocksGameextendsJFrame{/***每填满一行计多少分*/publicfinalstaticintPER_LINE_SCORE=100;/***积多少分以后能升级*/publicfinalstaticintPER_LEVEL_SCORE=PER_LINE_SCORE*20;/***最大级数是10级*/publicfinalstaticintMAX_LEVEL=10;/***默认级数是5*/publicfinalstaticintDEFAULT_LEVEL=5;//一个Gam
3、eCanvas画布类的实例引用,privateGameCanvascanvas;//一个保存当前活动块(ErsBlock)实例的引用,privateErsBlockblock;//一个保存当前控制面板(ControlPanel)实例的引用;privateControlPanelctrlPanel;privatebooleanplaying=false;privateJMenuBarbar=newJMenuBar();//菜单条包含4个菜单privateJMenumGame=newJMenu("游戏"),mControl=n
4、ewJMenu("控制"),mWindowStyle=newJMenu("窗口风格"),mInfo=newJMenu("帮助");//4个菜单中分别包含的菜单项privateJMenuItemmiNewGame=newJMenuItem("新游戏"),miSetBlockColor=newJMenuItem("设置方块颜色"),miSetBackColor=newJMenuItem("设置背景颜色"),miTurnHarder=newJMenuItem("增加难度"),miTurnEasier=newJMenuItem("
5、降低难度"),miExit=newJMenuItem("退出"),miPlay=newJMenuItem("开始"),miPause=newJMenuItem("暂停"),miResume=newJMenuItem("继续"),miStop=newJMenuItem("停止"),miAuthor=newJMenuItem("作者:Java游戏设计组"),miSourceInfo=newJMenuItem("版本:1.0");//设置窗口风格的菜单privateJCheckBoxMenuItemmiAsWindows=new
6、JCheckBoxMenuItem("Windows"),miAsMotif=newJCheckBoxMenuItem("Motif"),miAsMetal=newJCheckBoxMenuItem("Metal",true);/***主游戏类的构造函数*@paramtitleString,窗口标题*/publicErsBlocksGame(Stringtitle){super(title);//初始窗口的大小,用户可调控setSize(315,392);DimensionscrSize=Toolkit.getDefaul
7、tToolkit().getScreenSize();//将游戏窗口置于屏幕中央setLocation((scrSize.width-getSize().width)/2,(scrSize.height-getSize().height)/2);//创建菜单createMenu();Containercontainer=getContentPane();//布局的水平构件之间有6个象素的距离container.setLayout(newBorderLayout(6,0));//建立20个方块高,12个方块宽的游戏画布can
8、vas=newGameCanvas(20,12);//建立一个控制面板ctrlPanel=newControlPanel(this);//游戏画布和控制面板之间左右摆放container.add(canvas,BorderLayout.CENTER);container.add(ctrlPanel,Bo