繁体   English   中英

Python玩家运动

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM