俄罗斯方块毕业课程设计报告Word文档下载推荐.docx

上传人:b****4 文档编号:18273852 上传时间:2022-12-15 格式:DOCX 页数:28 大小:22.02KB
下载 相关 举报
俄罗斯方块毕业课程设计报告Word文档下载推荐.docx_第1页
第1页 / 共28页
俄罗斯方块毕业课程设计报告Word文档下载推荐.docx_第2页
第2页 / 共28页
俄罗斯方块毕业课程设计报告Word文档下载推荐.docx_第3页
第3页 / 共28页
俄罗斯方块毕业课程设计报告Word文档下载推荐.docx_第4页
第4页 / 共28页
俄罗斯方块毕业课程设计报告Word文档下载推荐.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

俄罗斯方块毕业课程设计报告Word文档下载推荐.docx

《俄罗斯方块毕业课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《俄罗斯方块毕业课程设计报告Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。

俄罗斯方块毕业课程设计报告Word文档下载推荐.docx

publicfinalstaticintalinescore=100;

publicfinalstaticinteverylevelscore=alinescore*20;

publicfinalstaticintmaxlevel=10;

publicfinalstaticintinitlevel=5;

privateGameCanvascanvas;

privateErsBlockblock;

privatebooleanplaying=false;

privateControlPanelctrlPanel;

privateJMenuBarbar=newJMenuBar();

privateJMenu

mGame=newJMenu("

游戏"

),

mControl=newJMenu("

控制"

mhelp=newJMenu("

帮助"

);

privateJMenuItem

miNewGame=newJMenuItem("

新游戏"

milevelup=newJMenuItem("

提高级数"

mileveldown=newJMenuItem("

降低级数"

miExit=newJMenuItem("

退出"

miPlay=newJMenuItem("

开始"

miPause=newJMenuItem("

暂停"

miResume=newJMenuItem("

重新开始"

miStop=newJMenuItem("

停止"

miCtrlBlock=newJMenuItem("

方块控制键"

publicErsBlocksGame(Stringtitle)

{

super(title);

setSize(315,392);

DimensionscrSize=Toolkit.getDefaultToolkit().getScreenSize();

setLocation((scrSize.width-getSize().width)2,

(scrSize.);

mGame.addSeparator();

mGame.add(miExit);

mControl.add(miPlay);

mControl.addSeparator();

mControl.add(miPause);

mControl.add(miResume);

mControl.add(miStop);

mhelp.add(miCtrlBlock);

setJMenuBar(bar);

miNewGame.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventae)

{

stopGame();

reset();

setLevel(initlevel);

}

});

mileveldown.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventae)

intcurLevel=getLevel();

if(curLevel>

1)

setLevel(curLevel-1);

milevelup.addActionListener(newActionListener(){

setLevel(curLevel+1);

miExit.addActionListener(newActionListener(){

System.exit(0);

miPlay.addActionListener(newActionListener(){

playGame();

miPause.addActionListener(newActionListener(){

pauseGame();

miResume.addActionListener(newActionListener(){

resumeGame();

miStop.addActionListener(newActionListener(){

miCtrlBlock.addActionListener(newActionListener(){

{

reportGameMethod();

}

publicvoidreset()

ctrlPanel.reset();

canvas.reset();

publicbooleanisPlaying()

returnplaying;

publicErsBlockgetCurBlock()

returnblock;

publicGameCanvasgetCanvas()

returncanvas;

publicvoidplayGame()

play();

ctrlPanel.setPlayButtonEnable(false);

miPlay.setEnabled(false);

ctrlPanel.requestFocus();

publicvoidpauseGame()

if(block!

=null)

block.pauseMove();

ctrlPanel.setPauseButtonLabel(false);

miPause.setEnabled(false);

miResume.setEnabled(true);

publicvoidresumeGame()

=null)

block.resumeMove();

ctrlPanel.setPauseButtonLabel(true);

miPause.setEnabled(true);

miResume.setEnabled(false);

publicvoidstopGame()

playing=false;

block.stopMove();

miPlay.setEnabled(true);

ctrlPanel.setPlayButtonEnable(true);

publicintgetLevel()

returnctrlPanel.getLevel();

publicvoidsetLevel(intlevel)

if(level<

11&

&

level>

0)ctrlPanel.setLevel(level);

publicintgetScore()

if(canvas!

returncanvas.getScore();

return0;

publicintgetScoreForLevelUpdate()

returncanvas.getScoreForLevelUpdate();

publicbooleanlevelUpdate()

intcurLevel=getLevel();

if(curLevel<

maxlevel)

{

setLevel(curLevel+1);

canvas.resetScoreForLevelUpdate();

returntrue;

}

returnfalse;

privatevoidplay(){

reset();

playing=true;

Threadthread=newThread(newGame());

thread.start();

privatevoidreportGameMethod(){

JOptionPane.showMessageDialog(this,"

J为向左移动,L为向右移动,K为加速向下,I为翻转变化"

privatevoidreportGameOver(){

游戏结束!

"

}

privateclassGameimplementsRunnable

publicvoidrun()

intcol=(int)(Math.random()*(canvas.getCols()-3)),

style=ErsBlock.STYLES[(int)(Math.random()*7)][(int)

(Math.random()*4)];

while(playing)

if(block!

{

if(block.isAlive())

{

try

{

Thread.currentThread().sleep(100);

}catch(InterruptedExceptionie)

ie.printStackTrace();

}

continue;

}

}

checkFullLine();

if(isGameOver())

miPlay.setEnabled(true);

miPause.setEnabled(true);

miResume.setEnabled(false);

ctrlPanel.setPlayButtonEnable(true);

ctrlPanel.setPauseButtonLabel(true);

reportGameOver();

return;

block=newErsBlock(style,-1,col,getLevel(),canvas);

block.start();

col=(int)(Math.random()*(canvas.getCols()-3));

ctrlPanel.setShowBeforeStyle(style);

publicvoidcheckFullLine()

{introw;

for(inti=0;

i<

canvas.getRows();

i++)

introw=1;

booleanfullLineColorBox=true;

for(intj=0;

j<

canvas.getCols();

j++)

{

if(!

canvas.getBox(i,j).isColorBox())

fullLineColorBox=false;

break;

if(fullLineColorBox)

row=i;

canvas.removeLine(row);

privatebooleanisGameOver()

ErsBoxbox=canvas.getBox(0,i);

if(box.isColorBox())

returntrue;

returnfalse;

publicstaticvoidmain(String[]args)

newErsBlocksGame("

俄罗斯方块游戏"

}

classControlPanelextendsJPanel

{

privateJTextField

tfLevel=newJTextField("

+ErsBlocksGame.initlevel),

tfScore=newJTextField("

0"

privateJButton

btPlay=newJButton("

btPause=newJButton("

btStop=newJButton("

btTurnLevelUp=newJButton("

提高等级"

btTurnLevelDown=newJButton("

降低等级"

privateJPanelshowbefore=newJPanel(newBorderLayout());

privateShowBeforePanelplShowBeforeBlock=newShowBeforePanel();

privateJPanelplInfo=newJPanel(newGridLayout(4,1));

privateJPanelplButton=newJPanel(newGridLayout(5,1));

privateTimertimer;

privateErsBlocksGamegame;

publicControlPanel(finalErsBlocksGamegame){

setLayout(newGridLayout(3,1,0,4));

this.game=game;

showbefore.add(newJLabel("

下一个方块"

),BorderLayout.NORTH);

showbefore.add(plShowBeforeBlock);

plInfo.add(newJLabel("

等级"

));

plInfo.add(tfLevel);

得分"

plInfo.add(tfScore);

tfLevel.setEditable(false);

tfScore.setEditable(false);

plButton.add(btPlay);

plButton.add(btPause);

plButton.add(btStop);

plButton.add(btTurnLevelUp);

plButton.add(btTurnLevelDown);

add(showbefore);

add(plInfo);

add(plButton);

addKeyListener(newControlKeyListener());

btPlay.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventae){

game.playGame();

btPause.addActionListener(newActionListener(){

if(btPause.getText().equals(newString("

))){

game.pauseGame();

else

game.resumeGame();

btStop.addActionListener(newActionListener(){

game.stopGame();

btTurnLevelUp.addActionListener(newActionListener(){

try{

intlevel=Integer.parseInt(tfLevel.getText());

if(level<

ErsBlocksGame.maxlevel)

tfLevel.setText("

+(level+1));

}catch(NumberFormatExceptione){}

requestFocus();

btTurnLevelDown.addActionListener(newActionListener(){

if(level>

1)

+(level-1));

}catch(NumberFormatExceptione){}

addComponentListener(newComponentAdapter(){

publicvoidcomponentResized(ComponentEventce)

plShowBeforeBlock.fanning();

timer=newTimer(500,newActionListener(){

tfScore.setText("

+game.getScore());

intscoreForLevelUpdate=

game.getScoreForLevelUpdate

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

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1