两方玩家一方是圆形一方是叉,井字棋9个空位,双方一人一步中要有一方的图形成横竖或斜这的连续三个图形则为胜出如果两方都没有,则为平手。
theBoard = {'top-L':' ','top-M':' ','top-R':' ',
'mid-L':' ','mid-M':' ','mid-R':' ',
'low-L':' ','low-M':' ','low-R':' ',}
def printBoard(board):
print(board['top-L'] + '|' + board['top-M'] + '|' + board['top-R'])
print('-+-+-')
print(board['mid-L'] + '|' + board['mid-M'] + '|' + board['mid-R'])
print('-+-+-')
print(board['low-L'] + '|' + board['low-M'] + '|' + board['low-R'])
print('-+-+-')
turn = 'X'
for i in range(9):
printBoard(theBoard)
print('Turn for ' + turn + '.Move on which space?')
move = input()
theBoard[move] = turn
if turn == 'X':
turn = 'O'
else:
turn = 'X'
printBoard(theBoard)
m = list(theBoard.values)
结果
X|O|X
-+-+-
X|O|O
-+-+-
O|X|X
-+-+-
这不是一个完整的井字棋游戏(例如,它并不检查玩家是否获胜),但这已够展示如何在程序中使用字典数据结构。
完整版井字棋游戏请参考:
https://www.e-learn.cn/content/python/2208868
http://www.dengb.com/Pythonjc/1345489.html