从游戏网格插入和获取成员

时间:2017-10-29 07:36:59

标签: python python-2.7 python-3.x

对于文字游戏,在网格中,在不同的图块(something similar to this)中输入各种字母,我必须创建一个6 * 6网格(我使用_和|创建它们)然后执行操作它像:

  1. 将磁贴放在网格中的特定位置
  2. 返回网格上任何图块的位置
  3. 确定网格中得分最高的单词
  4. 直到现在我已经设法创建网格,但我不知道如何在特定网格上放置图块或获取网格上图块的位置。我创建了以下网格:

    grid = [[" _" for x in range(6)]]
    for y in range(6):
        list1 = []
        for x in range(13):
            if x%2 == 0:
                list1.append("|")
            else:
                list1.append("_")
        grid.append(list1)
    
    
    for row in grid:
        print("".join(row))
    

1 个答案:

答案 0 :(得分:0)

首先只存储网格中的字母,以便您可以通过输入单元格的y坐标和x坐标来更轻松地访问项目:

grid[1][2] = 'o'

网格应该是您可以使用嵌套列表解析创建的列表(行)列表:

grid = [['_' for _ in range(6)] for _ in range(6)]

将打印代码放入一个函数中,这样您就可以调用print_grid(grid)来显示网格。添加管道以及打印期间要显示的所有其他内容,但不要将这些内容添加到实际网格中。这是一个完整的例子:

def print_grid(grid):
    print(' _'*len(grid[0]))
    for row in grid:
        for letter in row:
            # Draw pipes followed by the letters on the same line.
            print('|', letter, sep='', end='')
        # Draw the last pipe and go to the next line.
        print('|')

# Use a list of lists for the grid.
grid = [['_' for _ in range(6)] for _ in range(6)]

# Insert letters (y-coordinate first then x).
grid[3][4] = 'x'
grid[1][2] = 'o'
grid[2][2] = 'z'

print_grid(grid)