井字棋在我國悠久的歷史上廣為流傳,同時它也是我們兒時遊戲的一個童年記憶,簡簡單單的九宮格棋盤就構成了我們童年時的美好點滴。
其實,在Python有一個很經典的關於對數據字典的實戰項目,便是我們曾經最熟悉不過的井字棋遊戲,同時用二十行代碼就可以將其實現!
它對數據字典進行了巧妙而又深刻的運用,因此很多Python教程中都將井字棋遊戲作為對數據字典的實戰項目之一。
所以今天大灰狼就來和小夥伴分享一下,運用數據字典構造井字棋盤的實戰項目。
我們所常見的井字棋盤,看起來就像一個大的字符(#),有九個空格,可以包含‘X’、‘O’或者‘ ’,因此我們要用字典來表示棋盤,可以為每一個空格分配一個字符串鍵,
可以用字符串值來表示每一個空格上都有什麼樣的棋子或者空值,如‘X’、‘O’或者空字符,因此我們就需要九個不同的鍵值對來表示井字棋盤上的每一個空格部分。
如我們可以用'top-L': ' ', 'top-M': ' ', 'top-R': ' ',表示井字棋盤最上邊一行的三個部分;
用'mid-L': ' ', 'mid-M' : ' ', 'mid-R': ' '表示井字棋盤中間部分;
用'low-L': ' ', 'low-M': ' ', 'low-R': ' '表示井字棋盤最下方的三格部分。
當我們打開一個文本編輯器窗口,輸入字典的以下代碼時,就可以呈現出井字棋盤的效果。
因為井字棋盤遊戲剛開始的時候,棋盤的九個空格每個部分都是空字符,所以我們可以用空格來表示一張乾淨的井字棋盤,當我們對每一個鍵所對應的值進行修改的時候,隨之變動的就是井字棋盤上相對應的空格部分。
所以我們可以專門定義一個函數來輸出井字棋盤以及井字棋盤的狀態,同時可以將這個井字棋盤進行實時輸出,確保玩家遊戲的實效性。
同時還應定義玩家輸入棋子所對應的景緻棋盤位置,根據玩家所輸入的位置,對井字棋盤進行修改,並及時輸出此時景緻棋盤狀態。
倘若有一個玩家獲勝,那麼它所對應的值便可以在井字棋盤上橫向縱向或斜向的形成三個相同的值。效果如下:
詳細實現代碼,可以在微信公眾號‘灰狼洞主’回覆“井字棋”獲取!
轉發分享,大灰狼陪你一起進步!
閱讀更多 灰狼布丁 的文章