在网格内显示可移动字符

2024-06-01 01:45:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在控制台中创建一个竞技场风格的游戏,但我需要一点帮助。我有了格子,我现在可以移动球员,但我不认为我做的最好的方式。有什么更好的方法?在

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())

Tags: inboard游戏for风格defcreatesp
1条回答
网友
1楼 · 发布于 2024-06-01 01:45:30

例如:

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

提示:

direction = input('which direction?')

清除旧位置:

^{pr2}$

更新新位置(x,y)(把逻辑留给你)

更新电路板:

board[y][x] = 'X'

相关问题 更多 >