Python簡易井字棋小遊戲

2021-10-25 08:50:35 字數 3976 閱讀 7306

你好啊,我是乙個自學python的小白.才剛學會基礎的迴圈,方法這些.利用這些寫了乙個超簡易的井字棋小遊戲,希望你能喜歡.不要忘了點讚哦

from sys import ar**

import sys

#輸入提示符,可不要

promot=

">"

#陣列,用來模擬棋盤

arr=[[

0for i in

range(3

)]for i in

range(3

)]#棋盤輸出

defprint_board

(arr)

:print

("棋盤:"

)for i in

range(3

):for j in

range(3

):print

(arr[i]

[j],end=

' ')

,print()

#用來判斷紅方是否勝利

defcheck_win_red

(arr):if

((arr[0]

[0]==arr[0]

[1]==arr[0]

[2]==

'*')

or(arr[1]

[0]==arr[1]

[1]==arr[1]

[2]==

'*')

or(arr[2]

[0]==arr[2]

[1]==arr[2]

[2]==

'*')

or(arr[0]

[0]==arr[1]

[0]==arr[2]

[0]==

'*')

or(arr[0]

[1]==arr[1]

[1]==arr[2]

[1]==

'*')

or(arr[0]

[2]==arr[1]

[2]==arr[2]

[2]==

'*')

or(arr[0]

[0]==arr[1]

[1]==arr[2]

[2]==

'*')

or(arr[0]

[2]==arr[2]

[0]==arr[1]

[1]==

'*')):

return

true

else

:return

false

#用來判斷黑方是否勝利

defcheck_win_black

(arr):if

((arr[0]

[0]==arr[0]

[1]==arr[0]

[2]==

'#')

or(arr[1]

[0]==arr[1]

[1]==arr[1]

[2]==

'#')

or(arr[2]

[0]==arr[2]

[1]==arr[2]

[2]==

'#')

or(arr[0]

[0]==arr[1]

[0]==arr[2]

[0]==

'#')

or(arr[0]

[1]==arr[1]

[1]==arr[2]

[1]==

'#')

or(arr[0]

[2]==arr[1]

[2]==arr[2]

[2]==

'#')

or(arr[0]

[0]==arr[1]

[1]==arr[2]

[2]==

'#')

or(arr[0]

[2]==arr[2]

[0]==arr[1]

[1]==

'#')):

return

true

else

:return

false

#獲取幫助的方法

defget_help()

:print

("""

*輸入橫座標縱座標回車落子,eg:1 1

*當每行或者每列或者對角滿足三個相同為勝

*因為還不會,所以必須輸入兩個數並且空格開,沒辦法,才剛開始學

""")#進入遊戲

while

true

:print

("歡迎體驗簡易五子棋模擬器,回車繼續,輸入q回車退出"

)print

("輸入h獲取提示"

) q =

input

(promot)

if q==

'q':

break

elif q==

'h':

get_help(

)else

:while

true

:while

true

: print_board(arr)

#紅方先走1

print

("請紅方輸入落子處,中間用空格分開:"

) x,y =

input

(promot)

.split(

) x =

int(x)-1

y =int(y)-1

if x notin(

0,1,

2)or y notin(

0,1,

2):print

("請輸入3以內的一對數湊成座標"

)elif arr[x]

[y]==

'*'or arr[x]

[y]==

'#':

print

("請在沒有子的地方落子"

)else

: arr[x]

[y]=

'*'break

if check_win_red(arr)

:print

("red win"

) print_board(arr)

print

("********************=="

)break

while

true

: print_board(arr)

print

("請黑方輸入落子處,中間用空格分開:"

) x,y =

input

(promot)

.split(

) x =

int(x)-1

y =int(y)-1

if x notin(

0,1,

2)or y notin(

0,1,

2):print

("請輸入3以內的一對數湊成座標"

)elif arr[x]

[y]==

'*'or arr[x]

[y]==

'#':

print

("請在沒有子的地方落子"

井字棋小遊戲

include include define row 3 define col 3 define player piece x define computer piece o 開始選單 void menu 函式宣告 void game void rule void board char board ...

井字棋遊戲

三連棋遊戲 兩人輪流在印有九格方盤上劃 或 o 字,誰先把三個同一記號排成橫線 直線 斜線,即是勝者 程式提供隨機演算法和智慧型演算法兩種ai,隨機演算法使用隨機數隨意選擇棋盤上的位置,智慧型演算法通過對每隔落子位置權重的計算,選取最優的落子點。include include include inc...

井字棋遊戲

井字棋,英文名叫tic tac toe,是一種在3 3格仔上進行的連珠遊戲,和五子棋類似,由於棋盤一般不畫邊框,格線排成井字故得名。遊戲需要的工具僅為紙和筆,然後由分別代表o和x的兩個遊戲者輪流在格仔裡留下標記 一般來說先手者為x 任意三個標記形成一條直線,則為獲勝。py100天day7 井字棋這個...