import random
#测试井字棋游戏
ROW = 3
COL = 3
def PlayerMove(board,row,col):
print("玩家走: >")
x,y = map(int,input().split())
if(x>=1 and x<= row and y>=1 and y <= col):
if(board[x-1][y-1]=='_'):
board[x-1][y-1]='*'
else:
print("被占用")
else:
print("你乱输是吧,重新写")
def ComputerMove(board,row,col):
x=0
y=0
print("电脑走: >")
while(1):
x=int(random.uniform(1,10))%row
y=int(random.uniform(1,10))%col
if(board[x][y]=='_'):
board[x][y]='#'
break
def IsFull(board,row,col):
for i in range(row):
for j in range(col):
if board[i][j] == '_':
return False
return True
def IsWin(board,row,col):
for i in range(row):
if(board[i][0]==board[i][1] and board[i][1]==board[i][2] and board[i][0]!='_' and board[i][1] != '_' and board[i][2] != '_'):
return board[i][0]
for i in range(col):
if(board[0][i]==board[1][i] and board[1][i]==board[2][i] and board[0][i]!='_' and board[1][i] != '_' and board[2][i] != '_'):
return board[1][i]
if(board[0][0]==board[1][1] and board[1][1]==board[2][2] and board[0][0] !='—' and board[1][1] != '_' and board[2][2] != '_'):
return board[0][0]
if(board[2][0]==board[1][1] and board[1][1]==board[0][2] and board[2][0] !='_' and board[1][1] != '_' and board[0][2] != '_'):
return board[1][1]
if IsFull(board,3,3):
return 'Q'
return 'C'
def DisplayBoard(board,row,col):
for i in range(row):
for j in range(col):
print(f'{board[i][j]} ',end='')
print('\n')
def IntBoard(board,row,col):
for i in range(row):
board.append([])
for j in range(col):
board[i].append('_')
return board
def menu():
print("****************\n")
print("*****1.play 0.exit*****\n")
print("****************\n")
spot = input()
if spot == '1':
return True
elif spot == '0':
return False
else:
print("你tm乱输是吧,重新写")
menu()
#游戏的实现
def game(board):
check = menu()
if check:
ret =0
#创建数组 3 3
board = IntBoard(board,3,3)#初始化棋盘
#打印棋盘
DisplayBoard(board,3,3)
while(1):
PlayerMove(board,3,3)
DisplayBoard(board,3,3)
ret=IsWin(board,3,3)
if ret != 'C':
break
ComputerMove(board,3,3)
DisplayBoard(board,3,3)
ret=IsWin(board,3,3)
if ret != 'C':
break
if ret=='*':
print("玩家赢\n")
elif ret=='#':
print("电脑赢\n")
else:
print(f'平局{ret}')
else:
print("退出游戏")
if __name__ == '__main__':
board = []
game(board)