ntered
   , SDL.windowInitialSize = V2 640 480
   }

rdrConfig = SDL.RendererConfig
   { SDL.rendererType = SDL.AcceleratedVSyncRenderer
   , SDL.rendererTargetTexture = True
   }

pressKey :: SDL.EventPayload -> Bool
pressKey (SDL.KeyboardEvent kEvtData) =
   -- 檢查 KeyboardEvent 是否為 Pressed
   let kPressed = SDL.keyboardEventKeyMotion kEvtData == SDL.Pressed
   -- 判斷 KeyboardEvent 到底詳細來說是由哪個按鍵觸發的
   in case (SDL.keysymKeycode $ SDL.keyboardEventKeysym kEvtData) of
         -- SDL.KeycodeW -> True && kPressed
         -- SDL.KeycodeS -> True && kPressed
         -- SDL.KeycodeA -> True && kPressed
         -- SDL.KeycodeD -> True && kPressed
         -- 按下 ESC 會回傳 True
         SDL.KeycodeEscape -> True && kPressed
         -- 按下其他按鍵或是其他事件會回傳 false
         _ -> False
pressKey (SDL.KeyboardEvent kEvtData) =
   -- 檢查 KeyboardEvent 是否為 Pressed
   let kPressed = SDL.keyboardEventKeyMotion kEvtData == SDL.Pressed
   -- 判斷 KeyboardEvent 到底詳細來說是由哪個按鍵觸發的
   in case (SDL.keysymKeycode $ SDL.keyboardEventKeysym kEvtData) of
         -- SDL.KeycodeW -> True && kPressed
         -- SDL.KeycodeS -> True && kPressed
         -- SDL.KeycodeA -> True && kPressed
         -- SDL.KeycodeD -> True && kPressed
         -- 按下 ESC 會回傳 True
         SDL.KeycodeEscape -> True && kPressed
         -- 按下其他按鍵或是其他事件會回傳 false
         _ -> False