俄罗斯方块java
id(Graphics g)
{
if(inUse==1)
{
g.setColor(Color.black);
g.fillRect(XYPosition.x+diffX,XYPosition.y+diffY,iWidth-2*diffX,iHeight-2*diffY);
}
}
public void drawDiamonds(Graphics g)
{
g.setColor(Color.black);
g.fillRect(XYPosition.x+diffX,XYPosition.y+diffY,iWidth-2*diffX,iHeight-2*diffY);
}
public int getInUse() //返回当前的格子是否被使用
{
return inUse;
}
public void setInUse(int tmpMode) //参数tmpMode为0-未使用,为1-已使用
{
inUse=tmpMode;
}
private int iHeight; //格子在Y轴方向上的高度,以象素为单位
private int iWidth; //格子在X轴方向上的宽度,以象素为单位
private Point XYPosition; //格子左上角的实际坐标
private int diffX; //格子中图黑部分在X轴方向单边缩进象素
private int diffY; //格子中图黑部分在Y轴方向单边缩进象素
private int inUse; //存放整型0或1.0表示格子已被占用,1表示格子未被占用
//还要加个有关颜色的参数,可以由用户设置格子颜色
}
class board
{
public board(int tmpX,int tmpY,int tmpHeightGrid,int tmpWidthGrid,int tmpHeight,int tmpWidth,int tmpBufferHeightGrid,int tmpBufferHeight) //tmpX,tmpY是容器右上角的X,Y坐标.tmpHeightGrid,tmpWidthGrid是高占几格和宽占几格,以格子为单位.tmpHeight,tmpWidth是高和宽,以象素为单位.tmpBufferHeightGrid和tmpBufferHeight是缓冲区,让方块作进入容器的准备工作.
{
//System.out.println("in board() tmpX="+tmpX+" tmpY="+tmpY+" tmpHeight="+tmpHeight);
origin=new Point(tmpX,tmpY+tmpHeight);
//System.out.println("origin in board(): " +origin.x+","+origin.y);
iHeightGrid=tmpHeightGrid;
iWidthGrid=tmpWidthGrid;
iHeight=tmpHeight;
iWidth=tmpWidth;
iBufferHeightGrid=tmpBufferHeightGrid;
iBufferHeight=tmpBufferHeight;
aryGrids=new grid[iHeightGrid+iBufferHeightGrid][iWidthGrid]; //包括缓冲行,便于进行GAMEOVER判断.
calGridToPosition();
objDiamonds=new diamonds(iHeightGrid,iWidthGrid/2-1);
objSystemStatus=new systemStatus(10,10+300+20);
}
public void restart() //把所有格子的状态设为未使用.
{
for(int i=0;i<iHeightGrid+iBufferHeightGrid;i++)
for(int j=0;j<iWidthGrid;j++)
aryGrids[i][j].setInUse(0);
}
public int gameOverChk() //检查是
否已经GAMEOVER;返回值=0,没有GAMEOVER;=1,已经GAMEOVER.
{
int rtnGameOver=0;
for(int i=0;i<iWidthGrid;i++)
if(aryGrids[iHeightGrid][i
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库俄罗斯方块java(8)在线全文阅读。
相关推荐: