java基础:围棋小程序设计。思路是什么,感觉无从下手。就只会画棋盘棋子。吃子判定形式判定该怎么下手?

java基础:围棋小程序设计。思路是什么,感觉无从下手。就只会画棋盘棋子。吃子判定形式判定该怎么下手?,第1张

高深的算法就不告诉你了,用一个最简单的方法,围棋中判旦数定被吃的方法是无气,那最简单的方法,就是用递归去判断当前子位置的子周围是否有气(空位),上下左右,遇见白字继续递归余物,递归边界则是黑子或气,有任何一个位竖迟液置有气,就代表不被吃。

第一个:用Integer类的parseInt方法:

如迹指:int a=parseInt("1111111"段猜,"握州型2")那么a就是127了。(好像是parseInt("2","1111111")自己试试)

第二个:

static final int huLu=7.5//中元美元汇率

int a=100*huLu

System.out.println("¥"+Integer.toString(a))

第三个:做一个围棋棋盘的图片,加入程序就是了。

按围棋规则编写算法计算每颗棋子的气,可以根据棋盘经纬度及周边棋子的个数来判断;

按围棋规则连成片的棋子共享所有的气,将连成片的棋子定义为一个棋子组的对象,以哪厅告该片棋子经纬度最小的那个棋子做为该对象的唯一标记,在每颗棋子落子的时候,就会发生棋子组属性变化,包括棋子组的合并,棋子组气数的变化等各类情况;

为了方便发现每次落子会影响到的棋子组,可以将每个棋子组的气点经纬度做为索引,该索引也需要随着棋子组的变化而变伏迅化;

按围棋规则气数等于0的棋子组为死棋,当每颗棋子落子后,更新所有棋子组的信息后,遍历将所有气数为0的棋子组从棋盘移除。考虑到“打劫”规则,一方落子后,先判断对方死棋,再李明判断己方死棋,符合“打劫”情况还需要额外记录次数,防止棋盘陷入僵局;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12456516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存