五子棋代码求解

qq_38901644 2017-05-24 12:26:32
import java.awt.*;
import java.net.*;
import java.io.*;
import java.util.*;
import java.awt.event.*;
import java.awt.geom.*;
class OmokBoard extends Canvas{
public static final int BLACK=1, WHITE=-1;//定义黑白颜色初始值
private int[][] map;//定义二维数组用于记录地图坐标
private int size, cell;//定义大小和表格
private String info="游戏终止";//定于提示信息
private int color=BLACK;//定义颜色初始值

红色字体 是否是构造器
private boolean enable=false;//定义布尔类型值
private boolean running=false;//定义布尔类型值
此处定义的布尔类型 是什么意思

private PrintWriter writer;
private Graphics gboard, gbuff;//定义图形抽象类
private Image buff;

OmokBoard(int s, int c){
this.size=s;this.cell=c;
map=new int[size+2][];//实例化地图
for(int i=0;i<map.length;i++)//for循环生成地图
map[i]=new int[size+2];//设置地图元素
setBackground(new Color(200,200,100));//设置背景颜色及大小
setSize(size*(cell+1)+size, size*(cell+1)+size);//设置大小


addMouseListener(new MouseAdapter(){//鼠标监听事件
public void mousePressed(MouseEvent me){//鼠标经过事件
if(!enable)return;//判断enable的值。如果enable为假则进入方法体 这个位置enable进入的方法是什么?

int x=(int)Math.round(me.getX()/(double)cell);//四舍五入得到值 此处的XY是落子的位置吗
int y=(int)Math.round(me.getY()/(double)cell);
if(x==0 || y==0 || x==size+1 || y==size+1)return;//判断并返回
if(map[x][y]==BLACK || map[x][y]==WHITE)return;//判断并返回
writer.println("[STONE]"+x+" "+y);//打印出石子
map[x][y]=color;//设置指定位置的颜色
if(check(new Point(x, y), color)){
info="获胜.";//设置消息 此处出现获胜的条件是什么
writer.println("[WIN]");//打印信息
}
else info="等待对方落子.";//设置消息
repaint();
enable=false;//设置enable的值
}
});
}
...全文
299 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧