python制作簡(jiǎn)單五子棋游戲
本文實(shí)例為大家分享了python五子棋游戲的具體代碼,供大家參考,具體內(nèi)容如下
#五子棋
‘''
矩陣做棋盤 16*16 “+”
打印棋盤 for for
游戲是否結(jié)束
開始下棋 while 游戲是否結(jié)束:
黑白交替 player=0 p%2==0 ==1 p+=1
下棋動(dòng)作一樣 但是棋子不一樣
‘''
代碼
#創(chuàng)建棋盤的程序 def initBoard(): global board #調(diào)用全局的board board=[None]*16 for i in range(len(board)): board[i]=["+ "]*16 #打印棋盤的程序 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%2==0: #黑方下棋 print("==>黑方下棋") if not playChess("●"): continue else: #白方下棋 print("==>白方下棋") if not playChess("○"): continue player+=1 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("==> 已有棋子 請(qǐng)重新落子\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<=11: if board[i][j]==board[i][j+1]==board[i][j+2]==board[i][j+3]==board[i][j+4]: whoWin(i,j) return False #豎向 if i<=11: if board[i][j]==board[i+1][j]==board[i+2][j]==board[i+3][j]==board[i+4][j]: whoWin(i,j) return False #反斜 if i<=11 and j<=11: if board[i][j]==board[i+1][j+1]==board[i+2][j+2]==board[i+3][j+3]==board[i+4][j+4]: whoWin(i,j) return False #正斜 if i>=4 and j<=11: if board[i][j]==board[i-1][j+1]==board[i-2][j+2]==board[i-3][j+3]==board[i-4][j+4]: whoWin(i,j) return False return True def whoWin(i,j): if board[i][j]=="●": print("黑方勝!") else: print("白方勝!") for i in range(10): print("\a") board=[] initBoard() printBoard() startGame()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用python serial 獲取所有的串口名稱的實(shí)例
今天小編就為大家分享一篇使用python serial 獲取所有的串口名稱的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Ubuntu下使用Python實(shí)現(xiàn)游戲制作中的切分圖片功能
這篇文章主要介紹了Ubuntu下使用Python實(shí)現(xiàn)游戲制作中的切分圖片功能,涉及Python針對(duì)圖片的讀取、載入、切分運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03Python探索之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的HTTP服務(wù)器
這篇文章主要介紹了Python探索之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的HTTP服務(wù)器,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10Pycharm運(yùn)行程序時(shí),控制臺(tái)輸出PyDev?console:starting問題
Pycharm運(yùn)行程序時(shí),控制臺(tái)輸出PyDev?console:starting問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05new_zeros() pytorch版本的轉(zhuǎn)換方式
今天小編就為大家分享一篇new_zeros() pytorch版本的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python內(nèi)置函數(shù)map()的具體使用
Python中的map()函數(shù)是一個(gè)高效的內(nèi)置函數(shù),用于將指定函數(shù)應(yīng)用于序列的每個(gè)元素,通過接收一個(gè)函數(shù)和一個(gè)或多個(gè)序列,本文就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2024-09-09