if (intGame_Start==0) //判断游戏未开始
{
return; //走棋无效,返回
}
if (intGame_Body[x/20][y/20]!=0) //如果这个位置上已经有了棋子
{
return; //走棋无效,返回
}
Graphics g=getGraphics(); //获得画笔
if (color_Qizi==1)//判断黑子还是白子
{
g.setColor(Color.black); //设置颜色为黑色
color_Qizi=0; //下一步棋就会是白色了
}
else
{
g.setColor(Color.white); //设置颜色为白色
color_Qizi=1; //下一步棋颜色为黑色
}
g.fillOval(x-10,y-10,20,20); //画一个圆,前面两个参数是左上角坐标
intGame_Body[x/20][y/20]=color_Qizi+1; //棋盘状态中这个位置上相应地添上棋子,1为白棋2为黑棋0为空位置
if (Game_win_1(x/20,y/20)) //判断输赢,这么几个判断输赢的函数没找到嘛~楼主看看代码是不是全的
{
lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); //修改标签上的输赢的信息
intGame_Start=0; //游戏结束
}
if (Game_win_2(x/20,y/20)) //判断输赢
{
lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); //修改标签上的输赢的信息
intGame_Start=0; //游戏结束
}
if (Game_win_3(x/20,y/20)) //判断输赢
{
lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); //修改标签上的输赢的信息
intGame_Start=0; //游戏结束
}
if (Game_win_4(x/20,y/20)) //判断输赢
{
lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); //修改标签上的输赢的信息
intGame_Start=0; //游戏结束
}
}
public String Get_qizi_color(int x) //获得棋子颜色的字符串
{
if (x==0) //黑棋
{
return "黑子";
}
else //白棋
{
return "白子";
}
}public void draw_qipan(Graphics G) //画棋盘 15*15
{
G.setColor(Color.lightGray); //设置颜色为亮灰色
G.fill3DRect(10,10,300,300,true); //绘制一个用当前颜色填充的 3-D 高亮显示矩形,矩形的边是高亮显示的
G.setColor(Color.black); //设置颜色为黑色
for(int i=1;i<16;i++) //15*15的棋盘,横竖各有16道线
{
G.drawLine(20,20*i,300,20*i); //画竖线
G.drawLine(20*i,20,20*i,300); //画横线
}
}
public void Game_start() //游戏开始
{
intGame_Start=1; //游戏状态为 1游戏中
Game_btn_enable(false); //设置所有组件不可用
b2.setEnabled(true); //重新开始游戏的按钮可用
}
public void Game_start_csh() //游戏开始初始化
{
intGame_Start=0; //游戏状态为 0未开始游戏
Game_btn_enable(true); //设置所有组件可用
b2.setEnabled(false); //重新开始游戏的按钮不可用
ckbHB[0].setState(true); //默认设置为白棋先手
//下面的二重循环是初始化棋盘为空棋盘,即一个棋子都没有
for (int i=0;i<16 ;i++ )
{
for (int j=0;j<16 ;j++ )
{
intGame_Body[i][j]=0;
}
}
lblWin.setText(""); //输赢信息为空
}
public void Game_re() //游戏重新开始
{
repaint(); //界面重绘
Game_start_csh(); //
游戏重新初始化
}
public void Game_btn_enable(boolean e) //设置组件状态
{
b1.setEnabled(e); //第一个按钮设置为可用(e == true)或不可用(e == false)
b2.setEnabled(e); //第二个按钮设置 同上
ckbHB[0].setEnabled(e); //第一个checkbox设置 同上
ckbHB[1].setEnabled(e); //第二个checkbox设置 同上
}