[英]Python game player movement
我开始使用Python编程语言制作一个简单的游戏。
我从左下角开始生成了一个带有玩家(P)的网格。
玩家可以输入纵行和纵行,但从左上角开始吗? 我希望玩家的动作从左下角开始。
board = []
pcol = 7
prow = 0
for x in range(8):
board.append([" * "] * 8)
# player position
def player():
board[pcol][prow] = " P "
def printboard(board):
for row in board:
row = " ".join(row)
print (row)
def playermovement():
global pcol
global prow
# clear position
board[pcol][prow] = " * "
# new position
pcol = int(input("Column: "))
prow = int(input("Vertical: "))
return board, pcol, prow
player()
printboard(board)
playermovement()
player()
printboard(board)
所以你想要那样吗?
board = []
pcol = 7
prow = 0
for x in range(8):
board.append([" * "] * 8)
# player position
def player():
board[pcol][prow] = " P "
def printboard(board):
for row in board:
row = " ".join(row)
print (row)
def playermovement():
global pcol
global prow
# clear position
board[pcol][prow] = " * "
# new position
pcol = int(input("Column: "))
prow = int(input("Vertical: "))
pcol=7-pcol
return board, pcol, prow
player()
printboard(board)
playermovement()
player()
printboard(board)
如果那是您想要实现的目标,那将非常简单...
您已正确理解以下代码:
def printboard(board):
for row in board:
板上的每个项目都是一行,而不是一列,并且每一行都包含属于不同列的单元格。
同样,您需要解决此问题:
def player():
board[pcol][prow] = " P "
首先获取正确的行,然后获取列,即:
def player():
board[prow][pcol] = " P "
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.