俄罗斯方块Word文档下载推荐.docx

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

俄罗斯方块Word文档下载推荐.docx

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

俄罗斯方块Word文档下载推荐.docx

/**

*俄罗斯方块

*/

publicclassTetrisextendsJPanel{

 

privateintscore;

//分数

privateintlines;

//销毁的行数

privateCell[][]wall;

//背景墙

privateTetrominotetromino;

//正在下落的四格方块

privateTetrominonextOne;

//下一个四格方块

/**背景图片*/

privatestaticBufferedImagebackground;

privatestaticBufferedImageoverImage;

publicstaticBufferedImageT;

publicstaticBufferedImageS;

publicstaticBufferedImageI;

publicstaticBufferedImageL;

publicstaticBufferedImageJ;

publicstaticBufferedImageO;

publicstaticBufferedImageZ;

publicstaticfinalintROWS=20;

//背景墙的行数

publicstaticfinalintCOLS=10;

//背景墙的列数

//将图片素材,复制到com.tarena.tetris包中.

/**使用静态代码块加载静态的图片*/

static{

try{

//Tetris.class的同一个包中找"

tetris.png"

background=ImageIO.read(Tetris.class.getResource("

));

overImage=ImageIO.read(Tetris.class.getResource("

GAMEOVER.png"

T=ImageIO.read(Tetris.class.getResource("

T.png"

I=ImageIO.read(Tetris.class.getResource("

I.png"

S=ImageIO.read(Tetris.class.getResource("

S.png"

Z=ImageIO.read(Tetris.class.getResource("

Z.png"

J=ImageIO.read(Tetris.class.getResource("

J.png"

L=ImageIO.read(Tetris.class.getResource("

L.png"

O=ImageIO.read(Tetris.class.getResource("

O.png"

}catch(Exceptione){

e.printStackTrace();

}

*JPanelpaint()paint画重写paint()修改原有的绘制方法

**/

@Override

publicvoidpaint(Graphicsg){

//画背景,画墙,画正在下落的方块画下一个方块...

g.drawImage(background,0,0,null);

g.translate(15,15);

//坐标系平移

paintWall(g);

//画墙

paintTetromino(g);

//绘制正在下落的方块

paintNextOne(g);

//绘制下一个要下落的方块

paintScore(g);

//绘制分数

if(gameOver){

g.drawImage(overImage,0,0,null);

/**在Tetris添加启动方法action()*/

publicvoidaction(){

wall=newCell[ROWS][COLS];

startAction();

//wall[2][2]=newCell(2,2,T);

tetromino=Tetromino.randomOne();

nextOne=Tetromino.randomOne();

//处理键盘按下事件,在按下按键时候执行下落方法

KeyAdapterl=newKeyAdapter(){

//key按键Pressed按下了

publicvoidkeyPressed(KeyEvente){

intkey=e.getKeyCode();

//[c]

if(key==KeyEvent.VK_Q){//Q表示退出

System.exit(0);

//结束Java进程

if(gameOver){

if(key==KeyEvent.VK_S){//S表示开始

repaint();

return;

if(pause){//pause=true

if(key==KeyEvent.VK_C){//C表示继续

continueAction();

switch(key){

caseKeyEvent.VK_DOWN:

//向下箭头表示下落

softDropAction();

break;

caseKeyEvent.VK_RIGHT:

//向右箭头表示右移

moveRightAction();

caseKeyEvent.VK_LEFT:

//向左箭头表示左移

moveLeftAction();

caseKeyEvent.VK_SPACE:

//空格键表示自由下落

hardDropAction();

caseKeyEvent.VK_UP:

//向上箭头表示右旋转

rotateRightAction();

caseKeyEvent.VK_P:

//按键盘上的P表示暂停

pauseAction();

//再画一次!

};

//下落流程:

监听键盘事件->

如果下箭头按下->

//执行下落算法tetromino.softDrop()->

//修改每个格子对象的数据->

调用repaint()->

//尽快调用paint()->

paint方法会根据当前的数据

//重新绘制界面->

看到移动以后的方块了

//绑定事件到当前面板

this.requestFocus();

this.addKeyListener(l);

publicstaticfinalintFONT_COLOR=0x667799;

publicstaticfinalintFONT_SIZE=30;

/**

*绘制分数

*@paramg

privatevoidpaintScore(Graphicsg){

intx=290;

inty=160;

g.setColor(newColor(FONT_COLOR));

Fontfont=g.getFont();

//取得g当前字体

font=newFont(font.getName(),font.getStyle(),FONT_S

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

当前位置:首页 > PPT模板 > 简洁抽象

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

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