前提・実現したいこと
pythonを使って三目並べをつくっているのでが、いきずまってます。
ボードにoとxを表示させるとこまでできているのですが、勝敗判定をしたり勝敗がついたらゲームを終了させることが書けません。続きを書いてくれるとありがたいです。
発生している問題・エラーメッセージ
if the_board['1'] =='o' and the_board['2'] =='o' and the_board['3'] == 'o':
print("あなたの勝ちです")
仮にこのような文を打ち込んでも"あなたの勝ちです"と表示されないのですがどこがいけないのでしょうか
エラーメッセージ
該当のソースコード
#pythonで書きました
the_board = {'1': ' ', '2': ' ', '3': ' ',
'4': ' ', '5': ' ', '6': ' ', '7': ' ', '8': ' ', '9': ' '}
def print_board(board):
print(board['1'] + '|' + board['2'] + '|' + board['3']) print('-+-+-') print(board['4'] + '|' + board['5'] + '|' + board['6']) print('-+-+-') print(board['7'] + '|' + board['8'] + '|' + board['9'])
turn = 'x'
for i in range(9):
print_board(the_board) print(turn + 'の番です。どこに打つ? (1-9)') move = input() the_board[move] = turn if turn == 'x': turn = 'o' else: turn = 'x'
試したこと
もちろん縦横斜めに同じマークが並べば勝敗がつくことは分かるのですが、どのように書けばいいのかわかりません、
補足情報(FW/ツールのバージョンなど)
jupyter Notebookを使っています。