井字棋胜负
import randomdef drawBoard(board):
print('│'+board+' │'+board+' │'+board+' │')
print('│'+board+' │'+board+' │'+board+' │')
print('│'+board+' │'+board+' │'+board+' │')
def inputPlayerLetter():
letter = ''
while not (letter == 'X' or letter == 'O'):
print('Do you want to be X or O?')
letter = input().upper()
if letter == 'X':
return ['X', 'O']
else:
return ['O', 'X']
def whoGoesFirst():
if random.randint(0, 1) == 0:
return 'computer'
else:
return 'player'
def playAgain():
print('Do you want to play again? (yes or no)')
return input().lower().startswith('y')
def makeMove(board, letter, move):
board = letter
def isWinner(bo, le):
return ((bo == le and bo == le and bo == le) or
(bo == le and bo == le and bo == le) or
(bo == le and bo == le and bo == le) or
(bo == le and bo == le and bo == le) or
(bo == le and bo == le and bo == le) or
(bo == le and bo == le and bo == le) or
(bo == le and bo == le and bo == le) or
(bo == le and bo == le and bo == le))
除了这种判定胜利,还有其他的吗? def isWinner(bo, le):
bo2 = list(zip(**3))
for i in range(3):
for j in range(3):
if not 0<i+j<3: continue
try:
if bo2 == bo2 == bo2 == le: return True
except IndexError:
pass
try:
if bo2 == bo2 == bo2 == le: return True
except IndexError:
pass
try:
if bo2 == bo2 == bo2 == le: return True
except IndexError:
pass
return False{:10_293:} 还差一个判断 对角线还有有一种忘了{:10_292:} 越来越复杂
if bo2 == bo2 == bo2 == le
页:
[1]