|
就是一定有一颗棋在中心(也就是4号位置)
位置和数字对应为:
0 1 2
3 4 5
6 7 8
theBoard={'top-L':'×','top-M':'×','top-R':'×',
'mid-L':' ','mid-M':' ','mid-R':' ',
'low-L':'o','low-M':'o','low-R':'o'}
def printtheborad(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'])
weizhi=['top-L', 'top-M', 'top-R', 'mid-L', 'mid-M', 'mid-R', 'low-L', 'low-M', 'low-R']
daihao=[0,1,2,3,4,5,6,7,8]
a=['0','1','2','3','4','5','6','7','8']
c=[]
for i in a:
for j in a:
c=c+[i+j]
while True:
print('请问是红方先下,还是蓝方先下?红方输入1,蓝方输入2。')
xianshou=input()
if xianshou=='1' or xianshou=='2':
xianshou=int(xianshou)
break
else:
print('请按照要求输入阵营!')
def bianhuancixu(xianshou):
if xianshou==1:
return 1
else:
return 2
print('对战开始!!!')
i=1
n=''
while True:
if bianhuancixu(xianshou)==1:
print('红方请输入你移动的棋子的位置和移动到的位置(格式如03)')
yidong=input()
if yidong not in c:
printtheborad(theBoard)
continue
if theBoard[weizhi[int(yidong[0])]]!='×' or theBoard[weizhi[int(yidong[1])]]!=' ':
printtheborad(theBoard)
continue
if int(yidong[1])!=int(yidong[0])+3 and int(yidong[1])!=int(yidong[0])+1 and int(yidong[1])!=int(yidong[0])-3 and int(yidong[1])!=int(yidong[0])-1:
printtheborad(theBoard)
continue
theBoard[weizhi[int(yidong[0])]]=' '
theBoard[weizhi[int(yidong[1])]]='×'
else:
print('蓝方请输入你移动的棋子的位置和移动到的位置(格式如73)')
yidong=input()
if yidong not in c:
printtheborad(theBoard)
continue
if theBoard[weizhi[int(yidong[0])]]!='o' or theBoard[weizhi[int(yidong[1])]]!=' ':
printtheborad(theBoard)
continue
if int(yidong[1])!=int(yidong[0])+3 and int(yidong[1])!=int(yidong[0])+1 and int(yidong[1])!=int(yidong[0])-3 and int(yidong[1])!=int(yidong[0])-1:
printtheborad(theBoard)
continue
theBoard[weizhi[int(yidong[0])]]=' '
theBoard[weizhi[int(yidong[1])]]='o'
j=[]
a=list(theBoard.values())
if bianhuancixu(xianshou)==1:
while len(j)<=2:
j=j+[a.index('×')]
a[a.index('×')]=' '
if j[1]==4:
for x in range(1,5):
if j[1]-j[0]==x and j[2]-j[1]==x:
n='h'
print('恭喜红方胜利!!!oh year!')
break
else:
while len(j)<=2:
j=j+[a.index('o')]
a[a.index('o')]=' '
if j[1]==4:
for x in range(1,5):
if j[1]-j[0]==x and j[2]-j[1]==x:
n='l'
print('恭喜蓝方胜利!!!oh year!')
break
if n=='h' or n=='l':
break
printtheborad(theBoard)
i=i+1
xianshou=xianshou+(-1)**(i)
printtheborad(theBoard)
|
|