1. 连连看的制作要求往里面添加数字以及数字由一个圆包围着,我们可以在重新绘画的时候可以将圆和数字写在同一个二维数组试遍历的双 for循环中;paint外边就不要在定义圆了,在相同就消的同时我要将圆和数字一起消掉可以这样做:
for(...... ) {
for (........){
if( ){ //括号中可以写上二维数组中第i个数组j个元素不等于0才执行;
//里面画圆和添加数字,添加数字用drawString(String ,x,y )这个方法来时现,注意" " +认何数字 都表示String类型;
}
}
}
2.我们给 String类型的二维数组赋值时 , 如果用到了 随机数,那吗我们可以直接在这样赋值:
列如:String [ ][ ] shuZi =new String[20][20];
public void fuzhi(){
for( int i =0;i<shuZi.length;i++){
for(int j =0;j<shuZi[i].length;j++){
int a =(int)(Math.random()*20+1);
shuZi[i][j] =" "+a;
}
}
}
/ /记住因为panit是在我们设置窗口可见时就掉用的方法,所以我们要把fuzhi这个方法放到窗口可
见的前面;否责就会出现在paint方法中shuZi[i][j]包空指针异常;
3.要求我们在鼠标点击的时候出现如果第一个点与第二个点的数字值相同那吗我们就要将这两个点消掉:
Dian dian;
public void mousePressed(MouseEvent e) {
int x = e.getX(); class Dian ( ) {
int y = e.getY(); int x; int y , String str;
int chessx = (x - Config.START_X) / Config.SIZE; Dian (int x ,int y ,String str ) {
int chessy = (y - Config.START_Y) / Config.SIZE; this. x =x; this.y = y;
*****String str = my.shuZi[chessx][chessy]; this.str = str;
if (dian == null) { }
******dian =new Dian(chessx,chessy,str); 当我们要保存2个点,并判断这 }
}else { 2个点的数字是否相等时,我可以new一个Dian的新对象,然后用这个对象来报存第一个点;
if(str.equals(dian.str)) { 之后我们就可以判断假如第一个点不是空我们就把我们点的这一个点赋值给这个点;如果不为
my.shuZi[dian.x][dian.y] = null; 空,那吗就可以判断了;
my.shuZi[chessx][chessy] = null; **我们要赋值为空第一个点;我们可以用对想掉用来是现;
dian =null;
}else {
dian =null;
}
}
}