筆者在最近的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值傳遞的方式目前還未深入瞭解,因此這篇文章採用了最基本的語法來實現五子棋的基本功能。