# 制作一个棋盘"""
++++++++++
++++++++++
++++++++++
++++++++++
"""defcreateBoard():
board =[]for i inrange(15):
board.append(["+"]*15)return board
defprintBoard():print(" ", end="")for i inrange(1,16):
number =str(i).rjust(3)print(number, end="")print()for i inrange(15):
number =str(i +1).ljust(3)print(number, end="")for j inrange(15):print(board[i][j], end=" ")print()defisGameOver():
count =0# 先判断连续for x inrange(15):for y inrange(15):if board[x][y]!="+":
count +=1# 向右if y <11:
flag =True#表示默认游戏结束for c inrange(y +1, y +5):if board[x][y]!= board[x][c]:
flag =Falsebreakif flag:if board[x][y]=="●":print(">>>黑方胜!")else:print(">>>白方胜!")returnTrue;# 表示游戏结束# 向下if x <11:if board[x][y]== board[x+1][y]== board[x+2][y]== board[x+3][y]== board[x+4][y]:if board[x][y]=="●":print(">>>黑方胜!")else:print(">>>白方胜!")returnTrue# 向右下if x <11and y <11:if board[x][y]== board[x+1][y+1]== board[x+2][y+2]== board[x+3][y+3]== board[x+4][y+4]:if board[x][y]=="●":print(">>>黑方胜!")else:print(">>>白方胜!")returnTrue# 向右上if x >3and y <11:if board[x][y]== board[x-1][y+1]== board[x-2][y+2]== board[x-3][y+3]== board[x-4][y+4]:if board[x][y]=="●":print(">>>黑方胜!")else:print(">>>白方胜!")returnTrue# 再判断和棋if count ==15**2:print(">>>和棋!")returnTruereturnFalsedefchess(c):
x, y =eval(input("请输入坐标:"))
x -=1
y -=1if board[x][y]=="+":
board[x][y]= c
returnTrueelse:print(">>>此处已有棋子,请重新下棋!")returnFalse# 程序的开始
board = createBoard();
printBoard()
player =0whilenot isGameOver():if player %2==0:print(">>>请黑方下棋,", end="")ifnot chess("●"):continueelse:print(">>>请白方下棋,", end="")ifnot chess("○"):continue
printBoard()
player +=1print(">>>游戏结束!")