python實現簡單井字棋遊戲

2022-10-04 14:45:32 字數 2663 閱讀 6069

井字棋,英文名叫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 ...