{
for(int x= ;x
{
if(hasclickbomb)
diamonds[y][x] clickshow(gg y x);
else
{
if(!diamonds[y][x] isOpened())
diamonds[y][x] draw(gg y x);
else
diamonds[y][x] clickshow(gg y x);
}
}
}
gg dispose();
}
}
Diamonds java文件
import java awt BasicStroke;
import java awt Color;
import java awt Graphics;
import java awt Graphics D;
import java awt RenderingHints;
/**
* 单元方格类
* @author dragon
*
*/
public class Diamonds
{
private Color fillcolor=Color darkGray;
private Color rimcolor=Color blue;
private boolean bomb=false;
private String showbyte= ;
private int diamondWidth= ;
private boolean opened=false;
private boolean signbomb=false;
public Diamonds(Color c int width)
{
this rimcolor=c;
this diamondWidth=width;
}
public Diamonds(int width)
{
this diamondWidth=width;
}
/**
* 设置是否被标记为炸弹
* dragon
*Sep
* @param b
*/
public void setSignBomb(boolean b)
{
this signbomb=b;
}
public boolean isSignBomb()
{
return this signbomb;
}
/**
* 设置方格的边长
* dragon
*Sep
* @param width
*/
public void setDiamondWidth(int width)
{
this diamondWidth=width;
}
/**
* 返回当前方格的字符串
* dragon
*Sep
* @return
*/
public String getShowByte()
{
return this showbyte;
}
/**
* 设置方格的字符串
* dragon
*Sep
* @param b
*/
public void setShowByte(String b)
{
showbyte=b;
}
/**
* 复位
*/
public void reset()
{
fillcolor=Color DARK_GRAY;
rimcolor=Color blue;
this signbomb=false;
bomb=false;
showbyte= ;
opened=false;
}
/**
* 判断方格是否已经被打开
*/
public boolean isOpened()
{
return this opened;
}
/**
* 打开该方格
*/
public void Opened()
{
this opened=true;
}
/**
* 判断是否是炸弹
*/
public boolean i *** omb()
{
return bomb;
}
/**
* 设置为炸弹
*/
public void setbomb()
{
this bomb=true;
}
/**
* 点击时的显示函数
*/
public void clickshow(Graphics D gg int r int c)
{
gg setStroke(new BasicStroke( f));
if(bomb)
{
if(opened)
this fillcolor=Color red;
gg setColor(this fillcolor);
gg fillRect(c*diamondWidth r*diamondWidth diamondWidth diamondWidth);
gg setColor(this rimcolor);
gg drawRect(c*diamondWidth r*diamondWidth diamondWidth diamondWidth);
gg setColor(Color black);
gg drawOval(c*diamondWidth+diamondWidth/ r*diamondWidth+diamondWidth/ diamondWidth/ diamondWidth/ );
}
else
{
gg setColor(this fillcolor);
gg fillRect(c*diamondWidth r*diamondWidth diamondWidth diamondWidth);
gg setColor(this rimcolor);
gg drawRect(c*diamondWidth r*diamondWidth diamondWidth diamondWidth);
gg setColor(Color black);
gg drawString(showbyte c*diamondWidth+diamondWidth/ r*diamondWidth+diamondWidth* / );
}
}
/**
* 绘画单元格
*/
public void draw(Graphics D gg int r int c)
{
gg setStroke(new BasicStroke( f));
gg setColor(this fillcolor);
gg fillRect(c*diamondWidth r*diamondWidth diamondWidth diamondWidth);
gg setColor(this rimcolor);
gg drawRect(c*diamondWidth r*diamondWidth diamondWidth diamondWidth);
}
/**
* 设置边框颜色
*/
public void setRimColor(Color c)
{
rimcolor=c;
}
/**
* 设置填充颜色
*/
public void setFillColor(Color c)
{
this fillcolor=c;
}