快速判斷N是否為2的次方數

前陣子遇到一個題目 : 請你判斷一個正整數N是否為2的次方。

 

我遇到這題目時,直覺想到的就是,透過迴圈從1開始檢查所有2的次方數,像這樣 :

雖然這樣就解決了,但我一直在想是否有效率更高的方法。

Read More

關於浮點數誤差與IEEE-754

在程式語言中,浮點數基本都是用 float 與 double來表示,但都會存在誤差

正常6.9 * 10 應該要等於6.9,但是答案卻是不相等?

這個原因跟浮點數的儲存原理有關,讓我們開始吧!

Read More

遊戲中的碰撞檢測Collision Detection

應該很多人對電腦遊戲中如何處理碰撞處理感興趣,希望大家在讀完這篇文章後能了解電腦是如何偵測物體的碰撞。

而這篇文有三個主要目的 :

  1. 對遊戲中的碰撞感興趣,卻不會寫程式的人可以了解原理
  2. 讓有能力實作的人,可以跟著文章寫出簡易的多邊形碰撞檢測
  3. 自己的學習筆記

讓我們開始吧。

 

這次要來介紹的主題是分離軸碰撞檢測(Separating Axis Theorem, SAT)

分離軸定理通常用語檢測兩個多邊形或多邊形與圓之間的碰撞,跟所有演算法一樣他具有一定的優勢與缺點。

我會慢慢講解背後的原理,並使用程式碼做簡易的範例。

Read More

JS 超級球球

模仿雷電系列與彈幕遊戲所製作而成

這小遊戲是我第一個破千行程式碼的專案,前前後後花了2個月左右,花了很多時間在想架構跟遊戲特效的呈現,到目前的進度算是有點成果,放到網站做個記錄。

Read More