如何实现字段和象他们一样解决国际象棋

我想实现一个叫做Pah Tum的游戏。 (它是如何工作的我的问题,这是不相关的。)我想在这样一个控制台创建一个字段:如何实现字段和象他们一样解决国际象棋

A B C D 

1 [] [] [] []

2 [] [] [] []

3 [] [] [] []

4 [] [] [] []

我已经想通了如何打印但是: 我要定义一个函数中我可以解决特定领域和阻止他们,就像这样:B3

A B C D 

1 [] [] [] []

2 [] [] [] []

3 [] [X][] []

4 [] [] [] []

不知怎的,我无法弄清楚如何做到这一点,而无需使用百行代码,我打印一步一步的。

回答:

您可以创建一个类,并使用__setitem__

import string 

class Board:

def __init__(self, width):

self.w = width

self.board = [[[] for i in range(width)] for b in range(width)]

def __setitem__(self, coords, val):

self.board[coords[0]][coords[-1]] = [val]

def __repr__(self):

return ' '+' '.join(list(string.ascii_lowercase[:self.w]))+"\n"+'\n'.join(string.ascii_lowercase[a]+' '.join(str(i) for i in b) for a, b in enumerate(self.board))

board = Board(4)

board[(2, 2)] = 'X'

print(board)

输出:

a b c d 

a[] [] [] []

b[] [] [] []

c[] [] ['X'] []

d[] [] [] []

以上是 如何实现字段和象他们一样解决国际象棋 的全部内容, 来源链接: utcz.com/qa/258067.html

回到顶部