java 五子棋控制人和电脑轮换的问题!!!

u010161550 2013-10-30 11:15:11
public static void main(String[] args) {
// TODO Auto-generated method stub
Board b=new Board();//初始化棋盘

do{

switch(n%2){
/**
* 1.人执黑先行 得到x,y,n
* 2.执行落子算法
* 3.更新棋盘
* 4.n++
* 5.跳出循环
*/
case 1://扫描棋盘得到x y,n
Board.LuoZiGengXin(xx, yy);//落子 和 更新棋盘 处理
System.out.println("人下了一个棋");
break;
/**
*
*/
case 0:
if(Board.Max_white()>=Board.Max_black()){//执行进攻算法
Board.Attack();
System.out.println("电脑进攻下了一个棋");
}else{//执行 防守算法
Board.Defence();
System.out.println("电脑防守下了一个棋");
}
break;
}




}while(Board.Over());//有没有分出胜负
Board.WinOrFail();//谁赢?
}

问题是: 我现在可以做到人点棋盘的时候得到 坐标x,y ,n。n是静态变量 表示棋盘上的棋子个数 但是不知道该怎么控制 当我点击棋盘的时候 用这个时刻点击棋盘的xyn 来 更新棋盘。 求大神啊,做完这个我就可能拿到offer 应届毕业生求大神啊!!
...全文
254 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010161550 2013-10-30
  • 打赏
  • 举报
回复
引用 4 楼 AA5279AA 的回复:
[quote=引用 3 楼 u010161550 的回复:] [quote=引用 1 楼 AA5279AA 的回复:] 2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用 [/quote] 标记位?轮到电脑下棋的时候改为false,你点击先进行标记位判断,为false直接忽略。 电脑下完了改为true,然后就允许你点击了。[/quote] 可以具体点么 不懂什么叫标记位
失落夏天 2013-10-30
  • 打赏
  • 举报
回复
引用 3 楼 u010161550 的回复:
[quote=引用 1 楼 AA5279AA 的回复:] 2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用 [/quote] 标记位?轮到电脑下棋的时候改为false,你点击先进行标记位判断,为false直接忽略。 电脑下完了改为true,然后就允许你点击了。
u010161550 2013-10-30
  • 打赏
  • 举报
回复
引用 1 楼 AA5279AA 的回复:
2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用
u010161550 2013-10-30
  • 打赏
  • 举报
回复
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用
失落夏天 2013-10-30
  • 打赏
  • 举报
回复
2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
u010161550 2013-10-30
  • 打赏
  • 举报
回复
引用 10 楼 AA5279AA 的回复:
[quote=引用 9 楼 u010161550 的回复:] [quote=引用 8 楼 AA5279AA 的回复:] [quote=引用 6 楼 u010161550 的回复:] [quote=引用 4 楼 AA5279AA 的回复:] [quote=引用 3 楼 u010161550 的回复:] [quote=引用 1 楼 AA5279AA 的回复:] 2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用 [/quote] 标记位?轮到电脑下棋的时候改为false,你点击先进行标记位判断,为false直接忽略。 电脑下完了改为true,然后就允许你点击了。[/quote] 就是允不允许我点击 这个代码怎么写[/quote] 不是不允许点击,是点击了之后没反应。。。和不点击一样。。 比如点击触发方法click(); 方法内 public void click(){ if(flag==false)return; //下面写正常的点击后的逻辑就行了。 } [/quote] 就不在允许监听 人点击的事件怎么写?[/quote] 我崩溃,怎么解释你就听不懂呢。。 不允许监听实现起来不现实,你需要去声明取消监听状态。。 但是监听到事件时候所执行的代码和操作我们可以判断是否允许其运行。。 [/quote] 哦 我在想想 大概明白了 但是函数还不知道是哪个 我去查查
失落夏天 2013-10-30
  • 打赏
  • 举报
回复
引用 9 楼 u010161550 的回复:
[quote=引用 8 楼 AA5279AA 的回复:] [quote=引用 6 楼 u010161550 的回复:] [quote=引用 4 楼 AA5279AA 的回复:] [quote=引用 3 楼 u010161550 的回复:] [quote=引用 1 楼 AA5279AA 的回复:] 2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用 [/quote] 标记位?轮到电脑下棋的时候改为false,你点击先进行标记位判断,为false直接忽略。 电脑下完了改为true,然后就允许你点击了。[/quote] 就是允不允许我点击 这个代码怎么写[/quote] 不是不允许点击,是点击了之后没反应。。。和不点击一样。。 比如点击触发方法click(); 方法内 public void click(){ if(flag==false)return; //下面写正常的点击后的逻辑就行了。 } [/quote] 就不在允许监听 人点击的事件怎么写?[/quote] 我崩溃,怎么解释你就听不懂呢。。 不允许监听实现起来不现实,你需要去声明取消监听状态。。 但是监听到事件时候所执行的代码和操作我们可以判断是否允许其运行。。
u010161550 2013-10-30
  • 打赏
  • 举报
回复
引用 8 楼 AA5279AA 的回复:
[quote=引用 6 楼 u010161550 的回复:] [quote=引用 4 楼 AA5279AA 的回复:] [quote=引用 3 楼 u010161550 的回复:] [quote=引用 1 楼 AA5279AA 的回复:] 2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用 [/quote] 标记位?轮到电脑下棋的时候改为false,你点击先进行标记位判断,为false直接忽略。 电脑下完了改为true,然后就允许你点击了。[/quote] 就是允不允许我点击 这个代码怎么写[/quote] 不是不允许点击,是点击了之后没反应。。。和不点击一样。。 比如点击触发方法click(); 方法内 public void click(){ if(flag==false)return; //下面写正常的点击后的逻辑就行了。 } [/quote] 就不在允许监听 人点击的事件怎么写?
失落夏天 2013-10-30
  • 打赏
  • 举报
回复
引用 6 楼 u010161550 的回复:
[quote=引用 4 楼 AA5279AA 的回复:] [quote=引用 3 楼 u010161550 的回复:] [quote=引用 1 楼 AA5279AA 的回复:] 2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用 [/quote] 标记位?轮到电脑下棋的时候改为false,你点击先进行标记位判断,为false直接忽略。 电脑下完了改为true,然后就允许你点击了。[/quote] 就是允不允许我点击 这个代码怎么写[/quote] 不是不允许点击,是点击了之后没反应。。。和不点击一样。。 比如点击触发方法click(); 方法内 public void click(){ if(flag==false)return; //下面写正常的点击后的逻辑就行了。 }
失落夏天 2013-10-30
  • 打赏
  • 举报
回复
引用 5 楼 u010161550 的回复:
[quote=引用 4 楼 AA5279AA 的回复:] [quote=引用 3 楼 u010161550 的回复:] [quote=引用 1 楼 AA5279AA 的回复:] 2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用 [/quote] 标记位?轮到电脑下棋的时候改为false,你点击先进行标记位判断,为false直接忽略。 电脑下完了改为true,然后就允许你点击了。[/quote] 可以具体点么 不懂什么叫标记位 [/quote] 就是我在类里面创建一个静态的boolean形式的成员变量, static boolean flag=false; 这样每次操作我只需要对这个成员变量判断值,如果符合就执行,不符合就跳过。 如果执行的话执行完毕可以修改这个成员变量值,就不如人下完了棋等待电脑下棋了,那么我就设置为false,就不再允许监听人的点击事件了。
u010161550 2013-10-30
  • 打赏
  • 举报
回复
引用 4 楼 AA5279AA 的回复:
[quote=引用 3 楼 u010161550 的回复:] [quote=引用 1 楼 AA5279AA 的回复:] 2013届么? 调用repaint()方法可以刷新页面。 你的意思是不是想让我们帮你去实现Board.LuoZiGengXin(xx, yy); 方法?
不是,repaint()方法已经写了,就说下棋这个过程吧 1. 是我下棋 2.我点棋盘 得到xyn 然后在重绘棋盘 3.该电脑下棋了,电脑根据现在的情况下棋 在重绘棋盘 4. 判断输赢 没输赢继续下棋 然后就是循环这个 我的问题是 到我下棋的时候 怎么让 我点击棋盘得到xyn的时候在 重绘 没到我下棋的时候 我点击棋盘也没用 [/quote] 标记位?轮到电脑下棋的时候改为false,你点击先进行标记位判断,为false直接忽略。 电脑下完了改为true,然后就允许你点击了。[/quote] 就是允不允许我点击 这个代码怎么写
内容概要:本文提出了一种基于混沌系统与DNA编码的复合型彩色数字图像加密方案,旨在解决传统加密算法密钥空间小、抗干扰能力弱的问题。该方案利用混沌系统生成伪随机序列,结合DNA碱基编码规则对图像RGB三通道进行像素级置换与混淆扩散,实现高安全性加密;解密过程则通过逆操作精确还原原始图像。文章重点对该方案进行了系统的抗噪声与抗裁剪性能分析,实验结果表明,该算法在面对高斯噪声、椒盐噪声以及不同面积、位置的裁剪攻击时均表现出优良的鲁棒性,能够有效恢复图像核心信息,适用于网络传输与私密存储等复杂环境下的图像安全保护。; 适合人群:具备一定信号处理或信息安全基础知识,从事图像加密、信息隐藏、多媒体安全等相关领域的科研人员及研究生。; 使用场景及目标:①用于提升数字图像在网络传输中的安全性,防止窃听与篡改;②适用于医疗影像、军事测绘、商业机密等对图像安全性和抗干扰性要求较高的应用场景;③为研究高鲁棒性图像加密技术提供理论支持与实验参考。; 阅读建议:建议读者结合Matlab代码实践加密与解密流程,并自行设计不同强度的噪声与裁剪干扰实验,深入理解混沌置乱与DNA编码在提升算法鲁棒性方面的协同机制。

62,620

社区成员

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

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