利用python實現簡單的井字棋

筆者在最近的python學習中,寫了一段五子棋的簡單的顯示代碼(未能進行勝負的判斷),但是勝負判斷應該實現起來並不難,以前用C語言寫過一個完整的五子棋,相信對於很多人來說並不難。

  python語言比較精簡,相對於C語言和C++來說較爲容易上手,下面是我的代碼,若有不好的地方歡迎大家批評指正。

import os

def print_board(board):
    print(board[1] + '|' + board[2] + '|' + board[3])
    print('-+-+-')
    print(board[4] + '|' + board[5] + '|' + board[6])
    print('-+-+-')
    print(board[7] + '|' + board[8] + '|' + board[9])

def main():
    init_board = {1: ' ', 2: ' ', 3: ' ', 4: ' ', 5: ' ', 6: ' ', 7: ' ', 8: ' ', 9: ' ' }
    begin = True
    notchoose = True
    pieces = '甲方'
    count = 0
    while begin:
        curr_board = init_board.copy()
        begin = False
        turn = 'x'
        count = 0
        print_board(curr_board)
        num = int(input('輪到%s走棋,請輸入數字' % pieces))
        os.system('cls')
        print_board(curr_board)
        while count < 9:
            if turn == 'x':
                pieces = '乙方'
            else:
                pieces = '甲方'
            while (notchoose):
                move = int(input('輪到%s走棋,請輸入位置' % pieces))
                if (curr_board[move] != ' '):
                    notchoose = True
                else:
                    notchoose = False
            count += 1
            if turn == 'x':
                curr_board[move] = 'o'
                turn = 'o'
            else:
                curr_board[move] = 'x'
                turn = 'x'
            notchoose = True
            os.system('cls')
            print_board(curr_board)

if __name__ == '__main__':
  main()

整體實現比較簡單,用了一個字典來儲存棋盤的信息,然後拷貝一個字典來儲存棋盤的變化,python值傳遞的方式目前還未深入瞭解,因此這篇文章採用了最基本的語法來實現五子棋的基本功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章