row_len = 5
col_len = 5
matrix = []
#Fills the matrix with #'s
def fill_maze():
row = []
for i in range(row_len):
row.append("#")
for i in range (col_len):
matrix.append(row)
# Draws the maze to the screen
def draw():
for i in range(col_len):
row = matrix[i]
a = ("")
for i in row:
a += i
print(a)
#Swaps out the character in the given coordinate with @
def dig(x, y):
row = matrix[y]
row[x] = "@"
matrix[y] = row
create_maze()
dig(2, 3)
print("")
draw()
我正在制作这个文本迷宫游戏,其中角色必须穿过迷宫,并且我将迷宫存储为矩阵。目前,我在使用此
dig(x, y)
功能更改迷宫的某些部分时遇到麻烦。
我想我已经将问题归咎于这个函数:
def dig(x, y):
row = matrix[y]
row[x] = "@"
matrix[y] = row
当我运行程序时,我希望它输出:
#####
#####
#####
##@##
#####
但是它输出:
##@##
##@##
##@##
##@##
##@##
我尝试删除这部分功能:
matrix[y] = row
我也尝试过:
def dig(x, y):
matrix[x][y] = "@"
但这给出了相同的输出。
您使用两个坐标输入玩家的位置,但只使用一个。