簡體   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