2015/10/25

益智遊戲:華容道

孟德百萬雄師,意欲掃平江東,孫劉聯盟,赤壁鏖兵,公瑾設妙計,苦肉詐降將,孔明借東風,火燒連環船。敗走受追擊,雲長義釋曹。

華容道遊戲,英文名Klotski,源自波蘭文klocki,意思是木塊,英國人John Harold Fleming在1932年發明,之後加上三國背景。

遊戲玩法如下,只能在平面方向滑動木塊,不能拿出來,目標是讓曹操逃到下方。從圖中可知,關鍵角色是關羽,必須移動到左右某一邊,曹操才能從另一邊往下走。

記得我小時候玩過,完全抓不著頭緒,也就放棄了。底下是在Raspberry Pi/Raspbian上安裝,也有Windows與Mac OS X的版本,請自行搜尋關鍵字「華容道」或「Klotski」。

嘿,試著在Raspberry Pi/Raspbian上玩玩吧,首先更新套件清單與升級。
$ sudo apt-get update
$ sudo apt-get upgrade -y

安裝華容道遊戲套件,套件名gnome-klotski,這是視窗介面版。
$ sudo apt-get install gnome-klotski

出現囉。不過這是較簡單的開局,棋子大小也不同。
換一下吧,從左方選擇不同的開局,其中Red Donkey就是華容道。
嘿,聽說最少要81步才能讓曹操脫逃,加油吧。

22 comments:

  1. 正在拜讀您的arduino大作
    書中問題不知方不方便請教
    我將程式碼5.6中的第二行及第十二行的行為轉用在程式碼5.11中
    我將六個#define 都改成這樣的方式硬體方面卻無法趨動
    是否事情不是愚人所想的那麼簡單
    或這樣的應用是可以的 , 是我需要再檢查我的接線
    有勞指點 , 感激不盡

    ReplyDelete
    Replies
    1. 看不懂你的問題。
      程式碼5.6,第二行是空白行。
      什麼行為?
      改成什麼方式?

      Delete
    2. 不敢透露出您書中的內容,得先得到您的同意

      Delete
    3. 有問題就問吧。

      Delete
    4. 那就先謝了
      首先您在程式碼5.6中將類比腳位定義為數位輸出趨動七段顥示器
      那我就在想了
      如此一來我的LCD是否可以全使用類比腳位來趨動
      我把LCD中的define 全寫成類比腳位如下所示
      #include
      #define LCD_RS_PIN A0
      #define LCD_E_PIN A1
      #define LCD_D4_PIN A2
      #define LCD_D5_PIN A3
      #define LCD_D6_PIN A4
      #define LCD_D7_PIN A5
      如此的程式在verify時沒有發生錯誤
      且upload 也是成功的
      但是我的LCD就是只有白白的一片
      是否是我太天真了還是其實它是可行的有可能是我接線有問題(我己檢查兩次了)

      Delete
    5. 反之
      是否可以將類比腳位當成是數位輸入
      反正只要我的輸入固定為5V , 讓類比讀取大於一定值
      再去趨動我要做的動作
      感覺起來這樣還比較可行
      可以達成我的目的:使用ATMEGA328P-PU到最多的腳位

      Delete
    6. 類比腳位A0~A5也可作為數位腳位使用。
      你的板子是Uno嗎?
      有先使用一般數位腳位試試看嗎?

      Delete
    7. 既然將類比腳位當成是數位輸入,就是以digitalRead讀取,讀取到的值只會有兩種。

      Delete
    8. 沒有用板子 , 用ATmeta328P-PU + Uno的bootloader (用Nano燒的) + FAT232 upload (是您書上教的)
      未使用一般數位腳 , 今晚試試
      感謝指教

      Delete
    9. 我的第一本書是碁峯的一試就上手
      板大的書讓我對程式有不一樣的思維
      是同好者的褔音
      希望大家有機會買回來看看(我在博客來買的很方便)

      Delete
    10. 直接用ATmeta328P-PU啊,嗯,應該一樣才對。
      我在論壇上看到有人用類比腳位來連接LCD,沒問題。

      可能你電路接錯了。請給照片。
      先試試一般數位腳位吧,先讓LCD動起來。

      暫時想不到其他造成錯誤的原因。

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. 我以NANO測試OK了
    無論是DPIN或是APIN都測試沒有問題
    應是我太粗心了
    報歉讓板大白忙了

    ReplyDelete
    Replies
    1. 不會。

      多謝回報。

      Delete
    2. 找到問題了
      RW未接地

      Delete
  4. This comment has been removed by the author.

    ReplyDelete
  5. 想問板大
    我的相片應如何貼上去呢?
    我之前的論譠經驗是上傳到免費圖檔的空間
    再將image address貼上即可顥示在論譠上
    我剛試著把我的FB的image address 貼上卻只顥示address字串
    我應如何處理呢?
    感謝指教

    ReplyDelete
    Replies
    1. 一樣啊,貼上網址。不過這裡部落格的留言,無法自動顯示圖片。

      Delete
  6. 所以是這樣囉?

    https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-xpt1/v/t1.0-9/12027809_735620983205241_3392087939264026360_n.jpg?oh=424e6e046d1716d6c0a87bf20ec3ee5a&oe=56F08E62&__gda__=1454990182_abc88fac66fb49eba89d7edcffef337d

    ReplyDelete
    Replies
    1. 嘛,差不多。 但看不清楚。

      還有什麼問題嗎?

      Delete
  7. 沒有了
    感謝指教
    晚安

    ReplyDelete