java扫雷带注释源代码 java实现扫雷游戏( 四 )


if ( Integer.parseInt(map.get(Integer.toString(up)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(rightUp)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(right)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(down)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(rightDown)).toString())== 7 ) sum++;
map.put(Integer.toString(i),Integer.toString(sum));
sum=0;
continue;
}else if ( ((i+1)%30) == 0 ){//最后一列;
if ( Integer.parseInt(map.get(Integer.toString(leftUp)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(up)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(left)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(leftDown)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(down)).toString())== 7 ) sum++;
map.put(Integer.toString(i),Integer.toString(sum));
sum=0;
continue;
}else{//除去四周剩下的;
if ( Integer.parseInt(map.get(Integer.toString(leftUp)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(up)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(rightUp)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(left)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(right)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(leftDown)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(down)).toString())== 7 ) sum++;
if ( Integer.parseInt(map.get(Integer.toString(rightDown)).toString())== 7 ) sum++;
map.put(Integer.toString(i),Integer.toString(sum));
sum=0;
continue;
}
}
}
/**鼠标点击事件,参数i为点击按钮的位置 */
public void button_mouseClicked(MouseEvent e,int i){
int mKey = e.getButton();//点击的哪个键;
int landmineNum = Integer.parseInt(landmineTally.getText().toString());//所剩的雷数;
int num = Integer.parseInt(map.get(Integer.toString(i)).toString());//当前按钮的状态;
int flag = Integer.parseInt(flag_landmine.get(Integer.toString(i)).toString());//当前按钮的标记状态;
if ( (mKey == 3)( cardsBtn[i].getBorder()!= null)){//点击为鼠标右键,并且边框不为空(空的表示已按亮开的);
if (flag == 10){//如果没有标记,则改为标记状态;
flag_landmine.put(Integer.toString(i),Integer.toString(8));
ButtonIcon = createImageIcon("images/8.jpg");
cardsBtn[i].setIcon(ButtonIcon);
landmineTally.setText( Integer.toString(landmineNum - 1) );
if ( (landmineNum-1) == 0)//如果标记的雷数为99;
completeGame();//完成游戏;
}else if (flag == 8){//如果为标记状态,则改为问号;
flag_landmine.put(Integer.toString(i),Integer.toString(9));
ButtonIcon = createImageIcon("images/9.jpg");
cardsBtn[i].setIcon(ButtonIcon);
landmineTally.setText( Integer.toString(landmineNum + 1) );
if ( (landmineNum+1) == 0)//如果标记的雷数为99;
completeGame();//完成游戏;
}else if (flag == 9){//如果为问号,则取消标记;
flag_landmine.put(Integer.toString(i),Integer.toString(10));
cardsBtn[i].setIcon(null);
}
}else if (mKey == 1){//如果点击为鼠标左键;
flag_landmine.put(Integer.toString(i),Integer.toString(10)); //先清除所点击按钮的标记状态;
if ( (landmineNum+1) == 0)//如果标记的雷数为99;
completeGame();//完成游戏;
if (num == 7){//如果铵钮的状态为雷,则结束游戏;
overGame(i);
}else if (num == 0){//如果雷数为空
if ( flag == 8 ){ //如果已经标记为雷,计数器加1;
landmineTally.setText( Integer.toString(landmineNum + 1) );

推荐阅读