為了避免大家越級打怪,先用一個很簡單的終極密碼來解釋。
//怕有人不會用連結,這是一個線上跑程式的網站,先按下 run,然後在右邊輸入數字。
再來介紹貪吃蛇的程式流程:
但目前的程式寫法還沒辦法應付貪吃蛇的遊戲,這是因為一般文字輸入的時候,程式會 block 住,所以我們需要引入類似像 kbhit() 這樣的函數,避免程式卡死不動。現在的 GUI 介面裡面都有一個事件迴圈,它運作的方式跟你現在看到程式寫法差很多,但是這樣的遊戲循環(輸出、輸入、更新狀態)依然是不變的。
後面會使用像是 onclick, keydown, keypress, keyup...等事件傳給程式處理,程式變成被動等待使用者輸入的狀況。這樣的事件架構在 js 很好找,現在大部份的事件系統都是這樣運作的。
明天會討論如何解決程式因為等待輸入卡死的問題,然後如何透過多工機制讓程式可以同時跑不同的運算。
之後會迅速地帶過一些概念
如果各位讀者發現跟不上麻煩留言回覆,我會再調整一下文章的深度
謝謝收看,我們明天見!