書評 - 麻醉之後
書名 | 麻醉之後:揭開醫學中最奧妙難解、無人能清醒述說的感官與認知祕密 |
原書名 | Anesthesia The Gift of Oblivion and the Mystery of Consciousness |
作者 | Kate Cole-Adams |
譯者 | 呂奕欣 |
出版商 | 臉譜 |
出版日 | 2020-08-06 |
ISBN | 9789862358528 |
書名 | 麻醉之後:揭開醫學中最奧妙難解、無人能清醒述說的感官與認知祕密 |
原書名 | Anesthesia The Gift of Oblivion and the Mystery of Consciousness |
作者 | Kate Cole-Adams |
譯者 | 呂奕欣 |
出版商 | 臉譜 |
出版日 | 2020-08-06 |
ISBN | 9789862358528 |
故事是這個樣子的,寫 C/C++ 必定會遇到的就是每個檔案開頭的 #include,這可以帶入其他人寫好的程式碼,最後連結的時候再連結函式庫完成整個程式。
不過大家都知道,程式不是寫完就算了,是會長大跟更新,這時候 include 就會慢慢過時,可能本來需要的 include 現在不需要了,但通常我們不會意識到這點。
另外,在一些 project 上,會出現所謂的組合的標頭檔,例如 Qt 會有 QtGui 標頭檔,內含幾乎所有 Qt 元件的標頭,
不管需要什麼 Qt Widget 只要有 QtGui 都能搞定,但問題就是 include 一個標頭檔會帶進標頭檔裡所有程式碼,巨大的標頭檔如 QtGui 會顯著拖慢編譯速度;
如果只是一兩個檔案當然沒什麼,但在大 project 上,例如我之前改的 qucs
,
我把裡面的 QtGui 全部換成專屬的 Qt Widget
之後,單核心編譯時間從原本的344秒加速到245秒,提速 29 %。
10/10
浪費時間
看看就好
值得一看
非看不可
故事這樣子的,在經歷了 2018 年的澇賽跟 2019 年打醬油之後,這周末終於達成了人生成就,在 MOPCON 當講者。
這一路走來真的是一路坎坷,不若強者我同學在尼德蘭大殺四方的 qcl 大大,在四年前 YAHOO 技驚四座時就在 MOPCON 達成三場聯播的成就。
這章我們要一口氣新增兩個新的狀態:StateMenu 跟 StateOver,基本上因為不同的 state 都分到不同的檔案,所以多幾個 state 也沒差。
這章其實沒有太多需要介紹的,只有在 state 轉換上面多費點功夫,這部分可以先畫一個狀態圖讓整體更清楚:
上一篇我們做了兩個 state:遊戲進行和暫停的 state,理論上整個遊戲還需要更多的 state:像是遊戲結束、遊戲選單等等,但在這之前我們要先介紹 amethyst 的 event channel。
先前我們在 state 間切換是透過按下鍵盤的事件,但遊戲進行間可能有些場景的轉換是由遊戲內的事件發動的,
例如我們的太空船被隕石砸到,要從遊戲狀態切到遊戲結束,這時候就要透過 event channel 來發送事件了;
同時,用了 EventChannel 可以讓我們改寫一些之前的程式碼,把不同功用的程式分到不用的 system 裡,不用全塞在一起。
因為搬家(詳見上一篇
)的關係好久沒有更新了;現在搬完家終於可以回來繼續寫 amethyst 的文章啦,
現在寫文章插 code 根本是一種享受,跟 blogger 那種鳥編輯器完全不一樣。
到目前為止,我們討論的範圍都不脫 ECS 的範疇,這兩章我們會實作更多有關 state 的部分,
我覺得寫到這邊我比較有感受到 amethyst 整體的架構是怎麼實作的,但也只是個人的感覺就是。
我們這章先來實作一個小小的功能,就是按下 esc 鍵的時候,能讓遊戲暫停下來, 對應 amethyst 的文件是第十章的 controlling system execution ;
...工程師如何搬家,給工程師一個死線,時間到了家就搬好了。
簡單來說,搬家基本上來說可以分成三步驟:
看到這個標題大概就知道發生什麼事了……。
是的,經過十年 blogger 寫作,我終於決定要搬家了。
現在讓我們來建 UI,我覺得建 UI 是目前掌握度比較低的部分,我也在想怎麼做才是對的。
本篇目標是加上一個計分用的文字: