Hakutaku 2018-04-29 12:44 采纳率: 100%
浏览 1672
已采纳

【Python】 如何用Python写出关于苏拉卡尔塔棋,吃子步骤的函数。详细如下。

图片说明

首先要写两个函数可以将棋盘str转成list形式,将棋盘list转成str:
将棋盘变成一个str形式,如上图黑棋为x红棋为o空白为. 则变为 'xxxxxxxxxxxx............oooooooooooo'
再将str转化成list的形式【['x','x','.','.','o','o'],['x','x','.','.','o','o'],['x','x','.','.','o','o'],['x','x','.','.','o','o'],['x','x','.','.','o','o'],['x','x','.','.','o','o']】以纵向切割。这样就可以得到每个棋子的坐标。如图图片说明
棋子坐标是一个元组(横向,纵向),比如(2,1)是一个黑棋x

def make_move_capture(board_string, start, end):
board_string为棋盘str 的形式
start是开始时棋子坐标元组
end是结束时棋子坐标元组

吃子条件:
若要吃掉对方棋子,必须横、竖行走并经过至少一条与路径相切的弧线,并且移动路
径中不可以有本方棋子阻挡

如果符合条件,则return出棋盘str的形式,如果不符合吃子条件,怎return None

例如:图片说明

  • 写回答

1条回答 默认 最新

  • devmiao 2018-04-29 15:40
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏