Monad transformers
This commit is contained in:
parent
befd198c93
commit
b2b81b444c
3 changed files with 63 additions and 63 deletions
|
|
@ -24,9 +24,9 @@ renderTile :: Renderer -> Texture -> (Pos, Tile) -> IO ()
|
|||
renderTile renderer texture (pos, tile) = case tile of
|
||||
Empty -> return ()
|
||||
Apple -> renderSpriteAt renderer texture APPLE pos
|
||||
Snake orientation -> renderSpriteAt renderer texture (snakeSprite orientation) pos
|
||||
SnakeSegment orientation -> renderSpriteAt renderer texture (snakeSprite orientation) pos
|
||||
|
||||
snakeSprite :: SnakeOrientation -> Sprite
|
||||
snakeSprite :: SnakeSegmentOrientation -> Sprite
|
||||
snakeSprite HEAD_DOWN = SNAKE_HEAD_DOWN
|
||||
snakeSprite HEAD_LEFT = SNAKE_HEAD_LEFT
|
||||
snakeSprite HEAD_UP = SNAKE_HEAD_UP
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ main = do
|
|||
|
||||
texture <- IMG.loadTexture renderer "assets/spritesheet.png"
|
||||
|
||||
appLoop renderer texture (initialState (20, 20) (2, 2))
|
||||
appLoop renderer texture (initialState (10, 10) (2, 2))
|
||||
|
||||
destroyTexture texture
|
||||
destroyRenderer renderer
|
||||
|
|
@ -49,7 +49,7 @@ appLoop renderer texture game = do
|
|||
input = foldMap eventDirectionPressed events
|
||||
frameEnd <- getTicks
|
||||
let elapsed = frameEnd - frameStart
|
||||
let updatedGame = execTick game input
|
||||
(_, updatedGame) <- runTick game input
|
||||
renderFrame renderer texture updatedGame
|
||||
|
||||
unless exitPressed $ do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue