俄罗斯方块java
iScore=0;
}
public void restart()
{
iScore=0;
}
public void drawScore(Graphics g)
{
g.setColor(Color.black);
String strScore;
strScore="得分:";
g.drawString(strScore,origin.x,origin.y);
strScore=" "+iScore; //在分数前面空出一个汉字的宽度.
g.drawString(strScore,origin.x,origin.y+ROWINTERVAL);
}
public void addScore(int tmpLineNum) //tmpLineNum是消除的行数.根据消除的行数来计分.
{
switch(tmpLineNum)
{
case 1:
iScore+=100;
break;
case 2:
iScore+=300;
break;
case 3:
iScore+=600;
break;
case 4:
iScore+=1000;
break;
}
}
private final int ROWINTERVAL=15; //2行字符串之间的行间距.
private Point origin; //得分字符串的最左边字符左下角的坐标.
private int iScore;
}
class preview
{
public preview(int tmpX,int tmpY,int tmpHeightGrid,int tmpWidthGrid,int tmpHeight,int tmpWidth)
{
origin=new Point(tmpX,tmpY+tmpHeight);
iHeightGrid=tmpHeightGrid;
iWidthGrid=tmpWidthGrid;
iHeight=tmpHeight;
iWidth=tmpWidth;
aryGrids=new grid[iHeightGrid][iWidthGrid];
calGridToPosition();
}
public void calGridToPosition() //计算出预览框中各个格子左上角的坐标.
{
//对容器中的4*4个格子进行初始化.
for(int i=0;i<iHeightGrid;i++)
{
for(int j=0;j<iWidthGrid;j++)
{
aryGrids[i][j]=new grid(iHeight/iHeightGrid,iWidth/iWidthGrid,origin.x+j*(iWidth/iWidthGrid),origin.y-i*(iHeight/iHeightGrid),1,1,0);
}
}
}
public void drawGrids(Graphics g,int[][] tmpRowColNos) //tmpRowColNos存放有方块在预览框中显示的行号和列号.
{
//在预览框中显示方块.
for(int i=0;i<tmpRowColNos.length;i++)
if((tmpRowColNos[i][0]!=-1)&&(tmpRowColNos[i][1]!=-1))
aryGrids[tmpRowColNos[i][0]][tmpRowColNos[i][1]].drawDiamonds(g); //tmpRowColNos[i][0]是行号,tmpRowColNos[i][1]是列号.
}
public void drawGridFrame(Graphics g)
{
//画各个格子之间的分割线
g.setColor(Color.lightGray);
//画格子的竖分隔线
for(int i=1;i<iWidthGrid;i++)
{
g.drawLine(origin.x+i*(iWidth/iWidthGrid),origin.y,origin.x+i*(iWidth/iWidthGrid),origin.y-iHeight);
}
//画格子的横分隔线
for(int i=1;i<iHeigh
tGrid;i++)
{
g.drawLine(origin.x,origin.y-i*(iHeight/iHeightGrid),origin.x+iWidth,origin.y-i*(iHeight/iHeightGrid));
}
//画容器的整
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库俄罗斯方块java(2)在线全文阅读。
相关推荐: