在网格内显示可移动角色

Displaying a moveable character inside of a grid

我正在尝试在控制台中创建竞技场风格的游戏,但我需要一点帮助。我有了网格,现在我可以移动玩家了,但我认为我没有尽我所能做到最好。什么是更好的方法?

import subprocess as sp
plyr_x, plyr_y = (9,5)

def create_board():
    board = []
    for _ in range(10):
        board.append(['-']*10)
    board[plyr_x][plyr_y] ='o'
    return board

def print_board(board):
    tmp = sp.call('clear')
    for row in board:
        print ' '.join(row)

board = create_board()
print_board(board)
while True:
    direction = raw_input('Which way do you want to move? ')
    if direction == 'up':
        plyr_x += -1
        print_board(create_board())
    elif direction == 'down':
        plyr_x += 1
        print_board(create_board())
    elif direction == 'right':
        plyr_y += 1
        print_board(create_board())
    elif direction == 'left':
        plyr_y += -1
        print_board(create_board())

例如:

将玩家当前位置保存在元组 (x,y) 中

提示:

direction = input('which direction?')

清除旧位置:

board[y][x] = ' '

更新新位置 (x,y)(将逻辑留给您)

更新板:

board[y][x] = 'X'