五子棋代码求解

qq_38901644 qq_38901644 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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的值
}
});
}
...全文
评论
收藏 已收藏
分享
返回顶部
qq_38901644
Java SE 62,620 成员 307,251 内容