俄罗斯方块java
d),origin.y-(iHeight));
}
//画格子的横分隔线
for(int i=1;i<iHeightGrid;i++)
{
g.drawLine(origin.x,origin.y-i*((iHeight+iBufferHeight)/(iHeightGrid+iBufferHeightGrid)),origin.x+iWidth,origin.y-i*((iHeight+iBufferHeight)/(iHeightGrid+iBufferHeightGrid)));
}
//画容器的整个外框
g.setColor(Color.black);
//System.out.println("origin in drawGridFrame(): " +origin.x+","+origin.y);
g.drawRect(origin.x,origin.y-iHeight,iWidth,iHeight);
}
public int getHeightGrid()
{
return iHeightGrid;
}
public int getWidthGrid()
{
return iWidthGrid;
}
public int getBufferHeightGrid()
{
return iBufferHeightGrid;
}
public int getAryGrids(int i,int j) //i是行号对应y轴;j是列号对应x轴.
{
return aryGrids[i][j].getInUse();
}
public void setAryGrids(int i,int j,int tmpMode) //设置矩阵中行号为i,列号为j的格子的状态(使用或未使用);参数tmpMode=0表示把当前格设为未使用,=1表示把当前格设为使用.
{
aryGrids[i][j].setInUse(tmpMode);
}
private Point origin; //原点是整个方块容器左下角的坐标.
private int iHeightGrid; //存放高有几格
private int iWidthGrid; //存放宽有几格
private int iHeight; //存放容器的高度,以象素为单位
private int iWidth; //存放容器的宽度,以象素为单位
private int iBufferHeightGrid; //iBufferHeightGrid和iBufferHeight是缓冲区,让方块作进入容器的准备工作.
private int iBufferHeight;
private grid[][] aryGrids; //第1,2维是用于确定是平面上的哪个格子.第1维对应行号,取值范围0~iHeightGrid+iBufferHeightGrid-1;第2维对应列号,取值范围是0~iWidthGrid-1.
public diamonds objDiamonds;
public systemStatus objSystemStatus;
}
class eluosiPanel extends JPanel implements KeyListener,ActionListener
{
public eluosiPanel()
{
b=new board(10,10,20,10,300,150,10,150);
objPreview=new preview(10+150+10,10,5,5,50,50);
objPreDiamonds=new diamonds(0,0);
addKeyListener(this);
objScore=new score(10+150+10,10+50+20);
objCopyright=new copyright(10+150+10,10+50+20+15+20+50);
t = new Timer(delay,this);
}
//覆盖eluosiPanel类的isFocusTraversable方法,使面板能够获得焦点.
public boolean isFocusTraversable()
{
return(true);
}
//通过方向键左右下,来控制方块5的移动.
public void keyPressed(KeyEvent evt)
{
int keyCode=evt.getKeyCode();
int[] rtnRowColNo; //存放方块中的参照格子的行号和列号.
rtnRowC
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库俄罗斯方块java(11)在线全文阅读。
相关推荐: