欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

python如何實現(xiàn)簡單的井字棋小游戲-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關python如何實現(xiàn)簡單的井字棋小游戲的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)主營博興網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,app軟件開發(fā)公司,博興h5微信平臺小程序開發(fā)搭建,博興網(wǎng)站營銷推廣歡迎博興等地區(qū)企業(yè)咨詢

用python實現(xiàn)的一個井字棋游戲:

#Tic-Tac-Toe 井字棋游戲
#全局常量
X="X"
O="O"
EMPTY=" "
#詢問是否繼續(xù)
def ask_yes_no(question):
 response=None;
 while response not in("y","n"):
  response=input(question).lower()
 return response
#輸入位置數(shù)字
def ask_number(question ,low,high):
 response=None
 while response not in range(low,high):
  response=int(input(question))
 return response
#詢問誰先走,先走方為X,后走方為O
#函數(shù)返回計算機方,玩家的角色代號
def pieces():
 go_first=ask_yes_no("玩家你是否先走(y/n):")
 if go_first=="y":
  print("\n玩家你先走.")
  human=X
  computer=O
 else:
  print("\n計算機先走.")
  computer=X
  human=O
 return computer,human
#產(chǎn)生新的棋盤
def new_board():
 board=[]
 for square in range(9):
  board.append(EMPTY)
 return board
#顯示棋盤
def display_board(board):
 board2=board[:]
 for i in range(len(board)):
  if board[i]==EMPTY:
   board2[i]=i
 print("\t",board2[0],"|",board2[1],"|",board2[2])
 print("\t","----------")
 print("\t",board2[3],"|",board2[4],"|",board2[5])
 print("\t", "----------")
 print("\t",board2[6],"|",board2[7],"|",board2[8],"\n")
 #產(chǎn)生可以合法走棋位置序列(也就是還未下過子位置)
def legal_moves(board):
 moves=[]
 for square in range(9):
  if board[square]==EMPTY:
   moves.append(square)
 return moves
 #判斷輸贏
def winner(board):
  # 所有贏得可能情況,例如(0,1,2)就是第一行,(0,4,8,),(2,4,6)就是對角線
 WAYS_TO_WIN=((0,1,2,),(3,4,5),(6,7,8),(0,3,6),(1,4,7),(2,5,8),(0,4,8),(2,4,6))
 for row in WAYS_TO_WIN:
  if board[row[0]]==board[row[1]]==board[row[2]]!=EMPTY:
   winner=board[row[0]]
   return winner
   #棋盤沒有空位置
 if EMPTY not in board:
  return "TIE"
 return False
  #人走棋
def human_move (board,human):
 legal =legal_moves(board)
 move =None
 while move not in legal:
  move=ask_number("你走那個位置?(0-8):",0,9)
  if move not in legal:
   print("\n此位置已經(jīng)落過子了")
     #print("Fine...")
 return move
  #計算機走棋
def computer_move(board,computer ,human):
 board=board[:]
   #按優(yōu)劣順序排序的下棋走子
 BEST_MOVES=(4,0,2,6,8,1,3,5,7) #最佳下棋位置順序表
   #如果計算機能贏,就走那個位置
 for move in legal_moves(board):
   board[move]=computer
   if winner(board)==computer:
    print("計算機下棋位置...",move)
    return move
    #取消走棋方案
   board[move]=EMPTY
   #如果玩家能贏就堵住那個位置
 for move in legal_moves(board):
   board[move]=human
   if winner(board)==human:
    print("計算機下棋位置...",move)
    return move
    #取消走棋方案
   board[move]=EMPTY
   #如果不是上面情況,也就是這一輪贏不了
   #則是從最佳下棋位置表中挑出第一個合法位置
 for move in BEST_MOVES:
  if move in legal_moves(board):
   print("計算機下棋位置....",move)
   return move
  #轉(zhuǎn)換角色
def next_turn(turn):
 if turn ==X:
   return O
 else:
  return X
  #主函數(shù)
def main():
  computer,human=pieces()
  turn =X
  board=new_board()
  display_board(board)
  while not winner(board):
   if turn ==human:
    move=human_move(board,human)
    board[move]=human
   else:
    move=computer_move(board,computer,human)
    board[move]=computer
   display_board(board)
   turn=next_turn(turn) #轉(zhuǎn)換角色
     #游戲結(jié)束輸出輸贏或和棋信息
  the_winner=winner(board)
  if the_winner==computer:
   print("計算機贏!\n")
  elif the_winner==human:
   print("玩家贏!\n")
  elif the_winner=="TIE":
   print("平局,游戲結(jié)束\n")

main()
input("按任意鍵退出游戲")

感謝各位的閱讀!關于“python如何實現(xiàn)簡單的井字棋小游戲”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)頁標題:python如何實現(xiàn)簡單的井字棋小游戲-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article18/hoegp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計商城網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站策劃、服務器托管、網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
日本束缚人妻一区二区三区| 亚洲国产免费一区二区| 亚洲av网站女性向在线观看| 亚洲国产精品一区二区电影| 国产传媒在线免费播放| 久久一区二区视频在线观看| 自拍偷拍欧美日韩第一页| 久久精品国产普通话对白| 最新国产成人免费在线视频| 亚洲美女国产精选999| 人妻一区二区三区中文字幕| 亚洲一区二区三区色婷婷| 亚洲五月婷婷久久综合| 熟妇丰满多毛的大阴户| 亚洲av免费一区二区三区| 九九九热视频这里只有精品| 中文字幕精品一区二区三区在线| 女人高潮被爽到呻吟在线| 暖暖免费中文高清日本三区| 国产一区二区成人精品| 日韩精品视频一二三区| 男人的天堂av免费看看| 日韩人妻精品在线一区二区| 自偷自拍亚洲综合精品| 国内一级片内射免费视频观看| 国产丝袜美腿在线观看| 亚洲综合国产一区二区| 91伊人日本在线视频| 欧美性做爰片免费视频网| 欧美日韩一区二区激情在线| 国产精品国产三级国产专区| 亚洲精品紧身裙女教师av| 国产日韩欧美精品激情| 久久精品国产亚洲av高清不卡| 一区三区三区日韩高清不卡| 日本一区二区三区播放| 国产一区二区三区不卡av| 亚洲日本韩国视频久久精品| 国产精品视频一区二区三区网站| 日韩中文字幕一二三| 国产成年人拍拍免费视频|