之前我們講過了幾個 Utility 型別 Ⅰ,忘記了的小夥伴可以再來看看。TypeScript 還提供了其它的 Utility 型別工具: Extract Ex...
Conditional types很有意思,因為TypeScript有些很好用的utility types其實是用conditional types定義出來的。...
創建型:工廠模式 工廠模式顧名就是創造東西,可能是物件、類別、甚至方法。 以下這些都是工廠模式: 用函式、方法來做程式的圖形介面 來創造用戶的類別 靜態方法呼...
遊戲中總有某些音效需要循環播放,像是迴旋鏢在飛行時產生的咻咻聲,小火堆的辟啪聲,牛群經過時的咚咚聲。如果遊戲能確保聲音來源的數量,那可能沒什麼問題。但像是Min...
Day 10 MongoDB 儲存後端 昨天我們實作了一個簡單的儲存後端,但是這個後端只是用 Map 來儲存資料,所以當機器人關閉時,所有資料都會消失。 今天我...
這豈不是無敵了?? > *當ES6 遇上了TypeScript,* > *這豈不是無敵了?!。* > *──────────────────...
這就是一隻鴨子 當我看到一隻鳥像鴨子一樣走路像鴨子一樣游泳,像鴨子一樣嘎嘎叫時,我就叫那隻鳥為鴨子────────────────── By James W...
筆者最近在學習 TypeScript 的 Class,覺得非常有趣,且學到了不少新的東西所以把幾個覺得不錯的語法做個筆記,跟大家分享如果文章中有任何錯誤都歡迎留...
你這鴨子怎麼咬人了呢? 會游泳、嗄嗄叫肥嘟嘟的一隻,沒錯就是鴨子ㄟ~!!你這鴨子怎麼咬人了呢?───────────────────────── By Op...
Type Narrowing 是一種概念,指在程式碼執行過程中,根據特定條件,將變數的型別從一個較廣泛的型別縮小為較特定的型別,以提供更精確的型別資訊,這種功能...
沒想到還可以超載起來 一個function不夠?那我就再宣告一個。───────────────────────── By Opshell 目標: 學會...
Day 4 模組化 現在多數的 Discord Bot 的概念,都是一個 Bot 對應到多個 Guild,就跟一般人在 Discord 時一樣,一個人加入多個伺...
實踐好每一種狀態物件之後, 接下來在VendingMachine 類別物件中, 初始化現在的狀態 class VendingMachine { priva...
Day 13 終於來到函式(function),函式篇章也不會太難,只是有一些觀念要留意。 函式 在TypeScript裡,要替函式加上型別的語法如下: fu...
這是 TS 系列的最後一篇文章,今天我們會來討論 Typescript narrowing 跟 type guard! 什麼是 type guard 跟 na...
在寫遊戲流程的時候,常常會遇到需要等待某件事情發生,接著再去做另一件事的情況。比如說城內守衛要巡邏,那是不是要先規畫好巡邏站一二三,然後先設定目標為第一站,逛逛...
Day15 在 Space Invaders 的遊戲設計中,除了隨著不斷前進而產生的壓迫感之外,Enemy 的射擊也扮演了相輔相成的作用。 他讓遊戲內容不只是單...
今天要來介紹 Discriminated Union、Type casting、Index properties。 Discriminated Union 可以...
Day 12 同樣因為Tutorial的迴圈(loop)觀念跟JavaScript是相同的,所以只會回顧迴圈的重點。 迴圈(loop)代表的是重複做相同或類似...
用別人的輪子 別人的輪子用起來等等這輪子的規格好像怪怪的...───────────────────── By Opshell 目標:檔案宣告 今天我...
好的,Max 的課程進行到這邊,是時候來休息一下,整合前面所學的東西了。要來做的是一個可以讓使用者新增專案的小專案~ 專案的結構長這樣: HTML 的 head...
這個抽象類別(Class) 就是一個共同的狀態類別, 當作為共同的介面, 定義如下 abstract class State { abstract ins...
上一篇 提到type predicates是TypeScript裡面的一種narrowing技巧,今天就來看narrowing,以及同樣和narrowing有關...
Day 6 模組 Pipeline 今天來說說我們的 Bot,也就是框架的部分是如何來處理模組的。 使用模組 .use 我們從最簡單的骨架開始,Bot 中會擁...
Day17 開始做 介面 (HUD),接下來都是用之前有實作過的技巧! Render 因為要調整 Text 的位置,我們需要調整一下 render。 funct...
今天要討論的是Enum,Enum是個很有趣的東西,它是Object的一種變形,而Enum最重要的優點就是能提升程式碼的可讀性,所以接下來要好好來認識Enum,以...
大部分解開始~ 清槍開始、清槍蹲下將槍枝斜舉於左胸膛,檢視藥室內有無子彈───────────────────────── By TW 國軍 目標:In...
原本要介紹Type Guard和Narrowing,後來發現Type Predicates是Narrowing的一種技巧,所以今天先來看看Type Predic...
Day12 Level Design 接下來我們要開始設計關卡,小蜜蜂的關卡很單純,但是背後的心理卻很深奧。 不過卡比目前只需要完成基本的就行了,也就是將 En...
Day14 在 Space Invaders 的遊戲設計中,Enemy 的移動邏輯扮演了非常重要的角色,他為遊戲提供了難度,並隨著玩家每次擊殺 Enemy 增加...