Java ——简易俄罗斯方块( 二 )

package com.tetris;public class T extends Tetromino {//提供构造器 , 进行初始化//T型的四格方块的位置public T(){cells[0]=new Cell(0,4,Tetris.T);cells[1]=new Cell(0,3,Tetris.T);cells[2]=new Cell(0,5,Tetris.T);cells[3]=new Cell(1,4,Tetris.T);}}
I类继承于类:
package com.tetris;public class I extends Tetromino {//提供构造器 , 进行初始化//T型的四格方块的位置public I(){cells[0]=new Cell(0,4,Tetris.I);cells[1]=new Cell(0,3,Tetris.I);cells[2]=new Cell(0,5,Tetris.I);cells[3]=new Cell(0,6,Tetris.I);}}
L类继承于类:
package com.tetris;public class L extends Tetromino {//提供构造器 , 进行初始化//T型的四格方块的位置public L(){cells[0]=new Cell(0,4,Tetris.L);cells[1]=new Cell(0,3,Tetris.L);cells[2]=new Cell(0,5,Tetris.L);cells[3]=new Cell(1,5,Tetris.L);}}
S类继承于类:
package com.tetris;public class S extends Tetromino {//提供构造器 , 进行初始化//T型的四格方块的位置public S(){cells[0]=new Cell(1,4,Tetris.S);cells[1]=new Cell(0,3,Tetris.S);cells[2]=new Cell(0,4,Tetris.S);cells[3]=new Cell(1,5,Tetris.S);}}
Z类继承于类:
package com.tetris;public class Z extends Tetromino {//提供构造器 , 进行初始化//T型的四格方块的位置public Z(){cells[0]=new Cell(0,4,Tetris.Z);cells[1]=new Cell(0,5,Tetris.Z);cells[2]=new Cell(1,3,Tetris.Z);cells[3]=new Cell(1,4,Tetris.Z);}}
O类继承于类:
package com.tetris;public class O extends Tetromino {//提供构造器 , 进行初始化//T型的四格方块的位置public O(){cells[0]=new Cell(0,4,Tetris.O);cells[1]=new Cell(0,5,Tetris.O);cells[2]=new Cell(1,4,Tetris.O);cells[3]=new Cell(1,5,Tetris.O);}}
J类继承于类:
package com.tetris;public class J extends Tetromino {//提供构造器 , 进行初始化//T型的四格方块的位置public J(){cells[0]=new Cell(0,4,Tetris.J);cells[1]=new Cell(0,3,Tetris.J);cells[2]=new Cell(0,5,Tetris.J);cells[3]=new Cell(1,3,Tetris.J);}}

类:
//属性:正在下落的四格方块private Tetromino currentOne=Tetromino.randomOne();//属性:将要下落的四格方块private Tetromino nextOne=Tetromino.randomOne();//属性:墙 , 20行10列的表格宽度为26private Cell[][]wall=new Cell[20][10];
三、绘制俄罗斯方块图形
个人理解 , 这个过程就是显现出游戏界面的过程 , 当然啦 , 这一步主要是加载静态资源 , 诸如图片 , 音频和视频等 。
1.加载静态资源
俄罗斯方块主要应用的静态资源是图片 , 所以我们用到的是IO类中的类中的.read方法 , 导入各类四格方块的图形图片以及背景图片 , 具体代码如下:
public staticBufferedImage T;public staticBufferedImage I;public staticBufferedImage O;public staticBufferedImage J;public staticBufferedImage L;public staticBufferedImage S;public staticBufferedImage Z;public staticBufferedImage background;static{try {/** getResouce(String url)* url:加载图片的路径* 相对位置是同包下*/T=ImageIO.read(Tetris.class.getResource("T.png"));I=ImageIO.read(Tetris.class.getResource("I.png"));O=ImageIO.read(Tetris.class.getResource("O.png"));J=ImageIO.read(Tetris.class.getResource("J.png"));L=ImageIO.read(Tetris.class.getResource("L.png"));S=ImageIO.read(Tetris.class.getResource("S.png"));Z=ImageIO.read(Tetris.class.getResource("Z.png"));background=ImageIO.read(Tetris.class.getResource("tetris.png"));} catch (Exception e) {e.printStackTrace();}}