创造一个谜题

时间:2014-11-27 17:29:13

标签: python binary puzzle

对于我的研究,我需要在Python中创建一个二进制拼图:

Puzzle layout

首先,我需要为它制作一个游戏板,如图中所示。我正在尝试创建一个6乘6的板。玩家必须能够输入10

如何创建棋盘以便玩家能够输入图片中的坐标?

经过一番研究后,我发现了这种创建董事会的方式:

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}上添加ABC / 123 } / x轴?

2 个答案:

答案 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])

注意:未经测试的代码