井字棋,英文名叫tic-tac-toe,是一種在3*3格仔上進行的連珠遊戲,和五子棋類似,由於棋盤一般不畫邊框,格線排成井字故得名。遊戲需要的工具僅為紙和筆,然後由分別代表o和x的兩個遊戲者輪流在格仔裡留下標記(一般來說先手者為x),任意三個標記形成一條直線,則為獲勝。
遊戲的難點在於,如何判斷連線成了一條線;橫、豎、斜三個方向;
遊戲的**:
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
u'''
created on 2023年4月13日
@author: wuluo
'''__author__ = 'wuluo'
__version__ = '1.0.0'
__company__ = u'重慶交大'
__updated__ = '2019-04-13'
# 建立井字棋的程式
def initboard():
global board # 呼叫全域性的board
board = [none] * 3
print("井字棋:")
for i in range(len(board)):
board[i] = ["+ "] * 3
# 列印井字棋的程式
def printboard():
global board
for i in range(len(board)):
for j in range(len(board[i])):
print(board[i][j], end=" ")
print("")
# 開始下棋的程式
def startgame():
global board
player = 0
while isgamecontinue():
if player <= 8:
if player % 2 == 0:
# 甲方下棋
print("==>黑方下棋")
if not playchess("x"):
continue
else:
# 乙方下棋
print("==>白方下棋")
if not playchess("○"):
continue
player += 1
else:
print("平局")
break
def playchess(chess):
# 獲取位置
x = int(input("==> x=")) - 1
y = int(input("==> y=")) - 1
if board[x][y] == "+ ":
board[x][y] = chess
printboard(程式設計客棧)
return true # 落子成功
else:
print("==> 已有棋子 請重新落子\a")
printboard()
return false # 落子失敗
def isgamecontinue():
for i in range(len(board)):
for j in range(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]:
程式設計客棧 wh 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 in range(3):
print("win")
class main():
board =
initboard()
printboard()
startgame()
if __name__ == "__main__":
main()
遊戲結果:
還有一種結果是平局:
本文標題: python實現簡單井字棋遊戲
本文位址: /jiaoben/python/302102.html
井字棋遊戲
三連棋遊戲 兩人輪流在印有九格方盤上劃 或 o 字,誰先把三個同一記號排成橫線 直線 斜線,即是勝者 程式提供隨機演算法和智慧型演算法兩種ai,隨機演算法使用隨機數隨意選擇棋盤上的位置,智慧型演算法通過對每隔落子位置權重的計算,選取最優的落子點。include include include inc...
井字棋遊戲
井字棋,英文名叫tic tac toe,是一種在3 3格仔上進行的連珠遊戲,和五子棋類似,由於棋盤一般不畫邊框,格線排成井字故得名。遊戲需要的工具僅為紙和筆,然後由分別代表o和x的兩個遊戲者輪流在格仔裡留下標記 一般來說先手者為x 任意三個標記形成一條直線,則為獲勝。py100天day7 井字棋這個...
C 實現井字棋遊戲
初步實現雙玩家輸入,操作遊戲 下一步將實現人機博弈 include lwww.cppcns.comt iostream using namespace std void player1 void 玩家1輸入 操作 函式 void player2 void 玩家2輸入 操作 函式 void game ...