对于我的研究,我需要在Python中创建一个二进制拼图:
首先,我需要为它制作一个游戏板,如图中所示。我正在尝试创建一个6乘6的板。玩家必须能够输入1
或0
。
如何创建棋盘以便玩家能够输入图片中的坐标?
经过一番研究后,我发现了这种创建董事会的方式:
col = 6
row = 6
board = []
for i in range(6):
board.append(["0"]*col)
print(board)
这里的问题是列表如下:
[[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], ...]
如何更改代码以使其相互影响?
如何在{{1}上添加A
,B
,C
/ 1
,2
,3
} / x
轴?
答案 0 :(得分:0)
简单的一些事情让你有所了解:
y_map = {'A':0, 'B':1, 'C':2, 'D':3, 'E':4, 'F':5}
def get_coords(coord_str):
x,y = coord_str.split()
x -= 1
y = y_map[y]
return (x,y)
user_coords = "A 4"
user_input = 1
user_coords = get_coords(user_coords)
grid[user_coords[1]][user_coords[0]] = user_input
需要一些工作,但我确信它足以开始。
答案 1 :(得分:0)
在打印电路板之前,一个接一个地打印字母。您也不想说print(board)
,而是创建自己的函数来打印电路板或在嵌套的for
循环中进行。打印该行中的所有元素后打印行标签。
def printBoard():
col_labels = ['A', 'B', 'C', 'D', 'E', 'F']
row_labels = ['1', '2', '3', '4', '5', '6']
for i in col_labels:
print(i)
print(" ")
for r in range(row):
for c in range(col):
print(board[r][c]
print(" ")
print(row_labels[r])
注意:未经测试的代码