#奥赛罗! 锻炼
规则: :
播放示例: :
在这里,我们有了Othello游戏的有效实现。 单击棋盘会将那个单元分配给当前玩家,重新渲染棋盘,并更新轮到谁。
但是,有一件非常重要的事情遗漏了:规则!
目前,Game.doTurn()方法是幼稚的,即使单击了另一位玩家的棋子,也只是将单击的单元格分配给当前玩家并重新绘制棋盘(请参见下面的TODO)。
您的任务:根据上面链接中概述的规则,根据新放置的棋子实施翻转敌人棋子的规则。
重要信息:为简单起见,您可以忽略规则2和规则7-10; 当所有方格都满时,游戏结束。
请记住,每次移动都需要检查8个方向的翻转,并且每个方向都是独立翻转的; 没有波纹效应(即,在扫描北时进行的翻转不会影响在扫描北东时进行的任何可能的翻转)。 尝试避免对8个方向中的每个方向都使用“复制粘贴”解决方案-比这更优雅的解决方案。
可以以任何方式扩展,重构
1