Tic-tac-toe(英語名はTic-Tac-Toe)は、3 * 3グリッドでプレイする一種の連射ゲームで、Gobangに似ています。ボードには通常境界線がないため、グリッド線がtic-tac-toeに配置されて名前が付けられます。ゲームに必要なツールは紙とペンだけです。次に、OとXを表す2人のプレーヤーが交代でグリッドにマークを残し(通常、最初のプレーヤーはXです)、3つのマークが直線を形成します。これが勝利です。 。
ゲームの難しさは、接続を線、水平、垂直、斜めの方向として判断する方法にあります。
ゲームコード:
#! /usr/bin/env python3
# - *- coding:utf-8-*-
u'''
2019年4月13日に作成
@ author: wuluo
'''
__ author__ ='wuluo'
__ version__ ='1.0.0'
__ company__ = u'チョンチン嘉通大学'
__ updated__ ='2019-04-13'
# tic-tac-toeを作成するためのプログラム
def initBoard():
global board #グローバルボードに電話する
board =[None]*3print("○×ゲーム:")for i inrange(len(board)):
board[i]=["+ "]*3
# tic-tac-toeを印刷するためのプログラム
def printBoard():
global board
for i inrange(len(board)):for j inrange(len(board[i])):print(board[i][j], end=" ")print("")
# チェスを始めるプログラム
def startGame():
global board
player =0whileisGameContinue():if player <=8:if player %2==0:
# パーティーAはチェスをします
print("==黒はチェスをします")if not playChess("x"):continueelse:
# パーティーBはチェスをします
print("==ホワイトはチェスをします")if not playChess("○"):continue
player +=1else:print("ドロー")break
def playChess(chess):
# 場所を取得する
x =int(input("== X="))-1
y =int(input("== Y="))-1if board[x][y]=="+ ":
board[x][y]= chess
printBoard()return True #成功
else:print("==すでにピースがありますので、リセットしてください\a")printBoard()return False #失敗しました
def isGameContinue():for i inrange(len(board)):for j inrange(len(board[i])):if board[i][j]!="+ ":
# 水平
if j ==0:if board[i][j]== board[i][j +1]== board[i][j +2]:whoWin(i, j)return False
# 垂直
if i ==0:if board[i][j]== board[i +1][j]== board[i +2][j]:whoWin(i, j)return False
# 前方斜め
if i ==0 and j ==0:if board[i][j]== board[i +1][j +1]== board[i +2][j +2]:whoWin(i, j)return False
# バックスラッシュ
if i ==2 and j ==0:if board[i][j]== board[i -1][j +1]== board[i -2][j +2]:whoWin(i, j)return False
return True
def whoWin(i, j):if board[i][j]=="x":print("黒が勝ちます!")else:print("白が勝ちます!")for i inrange(3):print("win")classmain():
board =[]initBoard()printBoard()startGame()if __name__ =="__main__":main()
ゲームの結果:
別の結果は同点です:
以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。
Recommended Posts