美文网首页
王后能吃到王吗

王后能吃到王吗

作者: Python_Camp | 来源:发表于2022-10-15 13:10 被阅读0次

在国际象棋游戏中,皇后是棋盘上最强的棋子。她可以在8个方向(向前、向后、向左、向右以及四个对角线中的每一个)的直线上移动无限多的方块。

下图显示了皇后在当前位置的影响力--她将能够吃掉标有 "X "的方格上的任何棋子。

可以被皇后吃掉的对手的国王被称为 "受制于人",然后需要找到一些方法来摆脱这种情况。

在任何正常的国际象棋比赛中,王后会在8x8的棋盘上与她的军队合作,以这种方式威胁国王,并最终试图赢得比赛。然而,在这个卡塔中,皇后将在一个5x5的棋盘上独自工作。

5x5棋盘将被表示为一个二维数组,(即:一个包含5个其他数组的数组,每个数组包含5个单字符元素)。每个子数组内的空位将用星号表示。"*",而这25个元素中的一个将用 "q"(女王)和 "k"(国王)表示。两者都将用小写表示。

2维棋盘数组看起来会是这样的。

board = [ [ '*', '*', '*', '*', '*' ] 。
          [ '*', '*', '*', '*', 'k' ],
          [ '*', '*', '*', '*', '*' ],
          [ '*', 'q', '*', '*', '*' ],
          [ '*', '*', '*', '*', '*' ] ]

你的任务是写一个函数,如果国王在检查中,它将返回真,如果他不在检查中,它将返回假。

点击这里查看更多关于国际象棋的深入指导。

基础知识

First solution

def check(board):
    for x,line in enumerate(board):
        for y,c in enumerate(line):
            if   c == 'q': xq,yq = x,y
            elif c == 'k': xk,yk = x,y
    return yk==yq or xk==xq or abs(xq-xk) == abs(yq-yk)

Second solution

def check(board):
    #In check or not ?
    #8 个方向如何解析表达?
    qneen,king = [],[]
    for i,row in enumerate(board):
        for j,col in enumerate(row):
            if board[i][j] == 'q':
                qneen = [i,j]
            elif board[i][j] == 'k':
                king = [i,j]
    
    x,y = qneen[0]-king[0],qneen[1]-king[1]
    if any([x==0,y==0]):return True

    else:       
        if abs(x) == abs(y):return True
        else:return False

本文由mdnice多平台发布

相关文章

  • 王后能吃到王吗

    在国际象棋游戏中,皇后是棋盘上最强的棋子。她可以在8个方向(向前、向后、向左、向右以及四个对角线中的每一个)的直线...

  • 第二章 见面

    “听说了吗?昨晚王下跟王后没有同房,看来这个应国公主就算长得再像先王后还是得不到大王的心。” “是吗?那看来这个新...

  • 山王之王(12)

    经过国师的调理,王和王后的身体逐渐康复。 “想不到这孩子竟是驱毒仙子。”王右手抱着自己的王后,左手抚过王后隆起的小...

  • 2022-05-13

    王后,王后,总在王身后。生死荣辱,皆为人赐。 女王,女王,女在王前。生杀予夺,随心所欲。

  • 王后vs王(网王)

    迹部景吾这辈子最后悔的一件事就是答应了日吉若爸爸关于戒骄戒躁的实验,带着网球部众人去了赌场练字,对没错,就是练字,...

  • 《以斯贴记》1、2章温良、柔顺、谦卑的以斯贴

    【斯2:17】王爱以斯帖过于爱众女,她在王眼前蒙宠爱比众处女更甚。王就把王后的冠冕戴在她头上,立她为王后,代替瓦实...

  • 王后与魔镜

    王后:魔镜、魔镜,谁是世界上最美丽的人? 魔镜:白雪公主。 王后:嗯? 魔镜:想知道为什么吗? 王后:为什么? 魔...

  • 西汉文帝刘恒之妻—窦太后

    窦太后史书没有记载叫什么名字,传说叫窦漪房,代王的王后死的很早,王后之子也早逝,窦漪房是代王的嫔妃,代王成为汉朝皇...

  • 每日灵修—以斯帖记‬ ‭1:11-12

    “请王后 瓦实提 头戴王后的冠冕到王面前,使各等臣民看她的美貌,因为她容貌甚美。 王后 瓦实提 却不肯遵太监...

  • 光棍怨

    每次喝闷酒喝到更郁闷时,我都要骂一个人:“死王能,乌鸦嘴。毒嘴王 ――八”。 毒嘴王后面本不该带八,带八...

网友评论

      本文标题:王后能吃到王吗

      本文链接:https://www.haomeiwen.com/subject/bcghzrtx.html