




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第python實現(xiàn)簡易五子棋游戲(控制臺版)本文實例為大家分享了python實現(xiàn)簡易五子棋游戲的具體代碼,供大家參考,具體內(nèi)容如下
運行效果:
完整代碼+注釋:
finish=False#游戲是否結(jié)束
flagNum=1
#當前下棋者標記
flagch='*'
#當前下棋者棋子
x=0
#當前棋子的橫坐標
y=0
#當前棋子的縱坐標
print('---------五子棋游戲(控制臺版)---------')
#棋盤初始化
checkerboard=[]
foriinrange(10):
checkerboard.append([])
forjinrange(10):
checkerboard[i].append('-')
defmsg():
#輸出最后勝利的棋盤
print("\033[1;37;44m--------------------------------")
print("
1
2
3
4
5
6
7
8
9
10")
foriinrange(len(checkerboard)):
print(chr(i+ord('A'))+"",end='')
forjinrange(len(checkerboard[i])):
print(checkerboard[i][j]+"",end='')
print()
print("--------------------------------\033[0m")
#輸出贏家
if(flagNum==1):
print('\033[32m*棋勝利!***\033[0m')
else:
print('\033[32mo棋勝利!***\033[0m')
whilenotfinish:
#打印棋盤
print("\033[1;30;46m--------------------------------")
print("
1
2
3
4
5
6
7
8
9
10")
foriinrange(len(checkerboard)):
print(chr(i+ord('A'))+"",end='');
forjinrange(len(checkerboard[i])):
print(checkerboard[i][j]+"",end='')
print()
print("--------------------------------\033[0m")
#判斷當前下棋者
ifflagNum==1:
flagch='*'
print('\033[1;37;40m請*輸入棋子坐標(例如A1):\033[0m',end='')#白字黑底
else:
flagch='o'
print('\033[1;30;42m請o輸入棋子坐標(例如J5):\033[0m',end='')#黑字綠底
#輸入棋子坐標
str=input()
ch=str[0]#獲取第一個字符的大寫形式
x=ord(ch)-65
y=int(str[1])-1
#判斷坐標是否在棋盤之內(nèi)
if(x0orx9ory0ory9):
print('\033[31m***您輸入的坐標有誤請重新輸入!***\033[0m')
continue
#判斷坐標上是否有棋子
if(checkerboard[x][y]=='-'):
if(flagNum==1):
checkerboard[x][y]='*'
else:
checkerboard[x][y]='o'
else:
print('\033[31m******您輸入位置已經(jīng)有其他棋子,請重新輸入!\033[0m')
continue
#判斷棋子左側(cè)
if(y-4=0):
if(checkerboard[x][y-1]==flagch
andcheckerboard[x][y-2]==flagch
andcheckerboard[x][y-3]==flagch
andcheckerboard[x][y-4]==flagch):
finish=True
msg()
#判斷棋子右側(cè)
if(y+4=9):
if(checkerboard[x][y+1]==flagch
andcheckerboard[x][y+2]==flagch
andcheckerboard[x][y+3]==flagch
andcheckerboard[x][y+4]==flagch):
finish=True
msg()
#判斷棋子上方
if(x-4=0):
if(checkerboard[x-1][y]==flagch
andcheckerboard[x-2][y]==flagch
andcheckerboard[x-3][y]==flagch
andcheckerboard[x-4][y]==flagch):
finish=True
msg()
#判斷棋子下方
if(x+4=9):
if(checkerboard[x+1][y]==flagch
andcheckerboard[x+2][y]==flagch
andcheckerboard[x+3][y]==flagch
andcheckerboard[x+4][y]==flagch):
finish=True
msg()
#判斷棋子右上方向
if(x-4=0andy-4=0):
if(checkerboard[x-1][y-1]==flagch
andcheckerboard[x-2][y-2]==flagch
andcheckerboard[x-3][y-3]==flagch
andcheckerboard[x-4][y-4]==flagch):
finish=True
msg()
#判斷棋子右下方向
if(x+4=9andy-4=0):
if(checkerboard[x+1][y-1]==flagch
andcheckerboard[x+2][y-2]==flagch
andcheckerboard[x+3][y-3]==flagch
andcheckerboard[x+4][y-4]==flagch):
finish=True
msg()
#判斷棋子左上方向
if(x-4=0andy+4=9):
if(checkerboard[x-1][y+1]==flagch
andcheckerboard[x-2][y+2]==flagch
andcheckerboard[x-3][y+3]==flagch
andcheckerboard[x-4][y+4]==flagch):
finish=True
msg()
#判斷棋子左下方向
if(x+4=9andy+4=9):
if(checkerboard[x+1][y+1]==flagch
andcheckerboard[x+2][y+2]==flagch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一級建造師考試復習資料的多樣化運用與實踐分享試題及答案
- 跟分包方簽勞務合同協(xié)議
- 2025年高層建筑消防設計試題及答案
- 無人機執(zhí)照考試的民用航空知識試題及答案
- 2024年民用航空器維修人員執(zhí)照考試流程導航試題及答案
- 初級審計師職業(yè)道德考察試題及答案
- 實戰(zhàn)2024年中級審計師試題及答案映射
- 2025年消防監(jiān)督機制試題及答案
- 中級會計實時學習技巧分享試題及答案
- 安全生產(chǎn)管理中的溝通和協(xié)調(diào)機制的探討試題及答案
- 濟南市海綿城市建設建筑與小區(qū)改造項目案例-山東省經(jīng)濟技術(shù)開發(fā)中心宿舍-2
- 辯護詞貪污罪、受賄罪
- 術(shù)后1月 省中乳腺breast-q量表附有答案
- 幼兒園辦學資料:幼兒圖書目錄
- 串聯(lián)分壓并聯(lián)分流
- 扣款申請單(標準模版)
- GB/T 13927-2022工業(yè)閥門壓力試驗
- GB/T 40931-2021滑雪板術(shù)語
- GB/T 40855-2021電動汽車遠程服務與管理系統(tǒng)信息安全技術(shù)要求及試驗方法
- GB/T 14949.6-1994錳礦石化學分析方法銅、鉛和鋅量的測定
- GB/T 14155-2008整樘門軟重物體撞擊試驗
評論
0/150
提交評論