在网格内显示可移动角色
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'
我正在尝试在控制台中创建竞技场风格的游戏,但我需要一点帮助。我有了网格,现在我可以移动玩家了,但我认为我没有尽我所能做到最好。什么是更好的方法?
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'