From ffb2a087e10838092a58af804e1a11267276e759 Mon Sep 17 00:00:00 2001 From: Oleg Sobolev Date: Mon, 30 Mar 2026 00:01:17 +0300 Subject: [PATCH] Score rendering --- app/Assets.hs | 18 ++++++ app/Graphics.hs | 38 ++++++++++-- app/Main.hs | 64 +++++++++++++------- assets/font.ttf | Bin 0 -> 285136 bytes snake-hs.cabal | 8 ++- src/{SnakeLib.hs => Snake.hs} | 110 ++++++++++------------------------ src/Tile.hs | 74 +++++++++++++++++++++++ test/Main.hs | 10 +--- 8 files changed, 203 insertions(+), 119 deletions(-) create mode 100644 app/Assets.hs create mode 100644 assets/font.ttf rename src/{SnakeLib.hs => Snake.hs} (66%) create mode 100644 src/Tile.hs diff --git a/app/Assets.hs b/app/Assets.hs new file mode 100644 index 0000000..95380b4 --- /dev/null +++ b/app/Assets.hs @@ -0,0 +1,18 @@ +module Assets where + +import SDL +import qualified SDL.Image as IMG +import qualified SDL.Font as FONT + +type Assets = (Texture, FONT.Font) + +loadAssets :: Renderer -> IO Assets +loadAssets renderer = do + texture <- IMG.loadTexture renderer "assets/spritesheet.png" + font <- FONT.load "assets/font.ttf" 24 + pure (texture, font) + +freeAssets :: Assets -> IO () +freeAssets (texture, font) = do + destroyTexture texture + FONT.free font diff --git a/app/Graphics.hs b/app/Graphics.hs index 2e797de..1b7b427 100644 --- a/app/Graphics.hs +++ b/app/Graphics.hs @@ -1,19 +1,32 @@ module Graphics ( - renderFrame + renderFrame, + tileSize ) where import SDL -import SnakeLib +import qualified SDL.Font as FONT import Foreign.C (CInt) import Data.Array (assocs) import Control.Monad (void) -renderFrame :: Renderer -> Texture -> Game -> IO () -renderFrame renderer texture game = do +import Snake + +import Assets +import qualified Data.Text as Text + +spriteSize :: CInt +spriteSize = 16 + +tileSize :: CInt +tileSize = 64 + +renderFrame :: Renderer -> Assets -> Game -> IO () +renderFrame renderer (texture, font) game = do rendererDrawColor renderer $= V4 32 32 32 255 clear renderer rendererDrawColor renderer $= V4 255 255 255 255 renderGame renderer texture game + renderScore renderer font game present renderer renderGame :: Renderer -> Texture -> Game -> IO () @@ -26,6 +39,19 @@ renderTile renderer texture (pos, tile) = case tile of Apple -> renderSpriteAt renderer texture APPLE pos SnakeSegment orientation -> renderSpriteAt renderer texture (snakeSprite orientation) pos +renderScore :: Renderer -> FONT.Font -> Game -> IO () +renderScore renderer font game = do + let score = snakeSegmentCount game + surface <- FONT.blended font (V4 255 255 255 255) $ Text.pack ("Score: " ++ show score) + texture <- createTextureFromSurface renderer surface + freeSurface surface + + width <- textureWidth <$> queryTexture texture + height <- textureHeight <$> queryTexture texture + copy renderer texture Nothing (Just (Rectangle (P (V2 20 20)) (V2 width height))) + + destroyTexture texture + snakeSprite :: SnakeSegmentOrientation -> Sprite snakeSprite HEAD_DOWN = SNAKE_HEAD_DOWN snakeSprite HEAD_LEFT = SNAKE_HEAD_LEFT @@ -45,11 +71,11 @@ snakeSprite TAIL_LEFT = SNAKE_TAIL_LEFT renderSpriteAt :: Renderer -> Texture -> Sprite -> (Int, Int) -> IO () renderSpriteAt renderer texture sprite (x, y) = do let srcRect = getSpriteSheetLocation $ getSpriteIndex sprite - let dstRect = Rectangle (P (V2 (64 * (fromIntegral x)) (64 * (fromIntegral y)))) (V2 64 64) + let dstRect = Rectangle (P (V2 (tileSize * (fromIntegral x)) (tileSize * (fromIntegral y)))) (V2 tileSize tileSize) copy renderer texture (Just srcRect) (Just dstRect) getSpriteSheetLocation :: (Int, Int) -> Rectangle CInt -getSpriteSheetLocation (y, x) = Rectangle (P (V2 (16 * (fromIntegral x)) (16 * (fromIntegral y)))) (V2 16 16) +getSpriteSheetLocation (y, x) = Rectangle (P (V2 (spriteSize * (fromIntegral x)) (spriteSize * (fromIntegral y)))) (V2 spriteSize spriteSize) getSpriteIndex :: Sprite -> (Int, Int) getSpriteIndex SNAKE_HEAD_DOWN = (0, 0) diff --git a/app/Main.hs b/app/Main.hs index c950c07..e559480 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -1,25 +1,28 @@ module Main where import SDL -import qualified SDL.Image as IMG +import qualified SDL.Font as FONT import qualified Data.Text as Text import Control.Monad (unless) -import Graphics -import SnakeLib import SDL.Raw (getTicks) import Data.Word (Word32) +import Foreign.C (CInt) + +import Snake + +import Assets +import Graphics main :: IO () main = do initializeAll - window <- createWindow (Text.pack "Hello, World") defaultWindow + FONT.initialize + window <- createWindow (Text.pack "Haskell Snake") defaultWindow {windowInitialSize = snakeWindowSize} renderer <- createRenderer window (-1) defaultRenderer - texture <- IMG.loadTexture renderer "assets/spritesheet.png" - - appLoop renderer texture (initialState (10, 10) (2, 2)) - - destroyTexture texture + assets <- loadAssets renderer + appLoop renderer assets (initialState boardSize (2, 2)) + freeAssets assets destroyRenderer renderer destroyWindow window @@ -29,32 +32,47 @@ targetFps = 5 targetFrameMs :: Word32 targetFrameMs = 1000 `div` targetFps -appLoop :: Renderer -> Texture -> Game -> IO () -appLoop renderer texture game = do +boardSize :: (Int, Int) +boardSize = (12, 8) + +boardWindowSize :: (Int, Int) -> V2 CInt +boardWindowSize (w, h) = V2 (fromIntegral w * tileSize) (fromIntegral h * tileSize) + +snakeWindowSize :: V2 CInt +snakeWindowSize = boardWindowSize boardSize + +appLoop :: Renderer -> Assets -> Game -> IO () +appLoop renderer assets game = do frameStart <- getTicks events <- pollEvents let eventIsExitPress event = case eventPayload event of - KeyboardEvent keyboardEvent -> - keyboardEventKeyMotion keyboardEvent == Pressed && - keysymKeycode (keyboardEventKeysym keyboardEvent) == KeycodeQ - WindowClosedEvent _ -> True - _ -> False + KeyboardEvent keyboardEvent -> + keyboardEventKeyMotion keyboardEvent == Pressed && + keysymKeycode (keyboardEventKeysym keyboardEvent) == KeycodeQ + WindowClosedEvent _ -> True + _ -> False exitPressed = any eventIsExitPress events - let eventDirectionPressed event = case eventPayload event of + let eventIsRestartPress event = case eventPayload event of + KeyboardEvent keyboardEvent -> + keyboardEventKeyMotion keyboardEvent == Pressed && + keysymKeycode (keyboardEventKeysym keyboardEvent) == KeycodeR + _ -> False + restartPresssed = any eventIsRestartPress events + let eventDirectionPress event = case eventPayload event of KeyboardEvent keyboardEvent -> if keyboardEventKeyMotion keyboardEvent == Pressed then getInputByKeycode $ keysymKeycode (keyboardEventKeysym keyboardEvent) else NothingPressed _ -> NothingPressed - input = foldMap eventDirectionPressed events - frameEnd <- getTicks - let elapsed = frameEnd - frameStart - (_, updatedGame) <- runTick game input - renderFrame renderer texture updatedGame + input = foldMap eventDirectionPress events + (_, updatedGame) <- if restartPresssed then pure (IntoEmpty, initialState (10, 8) (2, 2)) else runTick game input + renderFrame renderer assets updatedGame unless exitPressed $ do + frameEnd <- getTicks + let elapsed = frameEnd - frameStart delay (targetFrameMs - elapsed) - appLoop renderer texture updatedGame + appLoop renderer assets updatedGame getInputByKeycode :: Keycode -> MovementInput getInputByKeycode KeycodeW = UpPressed diff --git a/assets/font.ttf b/assets/font.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7340a40aab55849fd94d6d8c4ec9ce64e0200e92 GIT binary patch literal 285136 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

4ZU;qVSABW4a$A@*mV=LK^{u$lxPk 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�hQ=ra~TsEQeozPa^Mt@0?*`tW?4WREWmBa&rBRl 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Π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

RWiBsU+QkED!Q8tm$Hnq4=a}lE0+u_tC^_@ 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 r>A!Wd5F(pV>)*A1TR) l NothingPressed = l + NothingPressed <> r = r + l <> _ = l + +instance Monoid MovementInput where + mempty = NothingPressed + +data MovementResult = IntoApple | IntoSnake | IntoEmpty deriving (Eq, Show) + emptyBoard :: (Int, Int) -> Array (Int, Int) Tile emptyBoard (w, h) = array ((0, 0), (w-1, h-1)) [((i, j), Empty) | i <- [0..w-1], j <- [0..h-1]] @@ -51,7 +66,7 @@ gameTick input = do advanceSnake :: MonadState Game m => MovementInput -> m MovementResult advanceSnake input = do - idleDirection <- headDirection + idleDirection <- getHeadDirection let inputDirection = case input of UpPressed -> UP RightPressed -> RIGHT @@ -67,8 +82,8 @@ advanceSnake input = do Empty -> moveHead direction >> pure IntoEmpty SnakeSegment _ -> pure IntoSnake -headDirection :: MonadState Game m => m Direction -headDirection = gets f +getHeadDirection :: MonadState Game m => m Direction +getHeadDirection = gets f where f :: Game -> Direction f game = case tileAt (gameBoard game) (snakeHead game) of @@ -90,27 +105,6 @@ moveHead direction = do let modifiedBoard = board // [(pos, SnakeSegment $ growHead orientation direction), (destination, SnakeSegment $ getNewHead direction)] modify (\s -> s {gameBoard=modifiedBoard, snakeHead=destination}) -growHead :: SnakeSegmentOrientation -> Direction -> SnakeSegmentOrientation -growHead HEAD_UP UP = VERTICAL -growHead HEAD_UP LEFT = TURN_DOWN_LEFT -growHead HEAD_UP RIGHT = TURN_DOWN_RIGHT -growHead HEAD_RIGHT RIGHT = HORIZONTAL -growHead HEAD_RIGHT UP = TURN_UP_LEFT -growHead HEAD_RIGHT DOWN = TURN_DOWN_LEFT -growHead HEAD_DOWN DOWN = VERTICAL -growHead HEAD_DOWN RIGHT = TURN_UP_RIGHT -growHead HEAD_DOWN LEFT = TURN_UP_LEFT -growHead HEAD_LEFT LEFT = HORIZONTAL -growHead HEAD_LEFT DOWN = TURN_DOWN_RIGHT -growHead HEAD_LEFT UP = TURN_UP_RIGHT -growHead _ _ = error "Invalid growHead arguments" - -getNewHead :: Direction -> SnakeSegmentOrientation -getNewHead UP = HEAD_UP -getNewHead RIGHT = HEAD_RIGHT -getNewHead DOWN = HEAD_DOWN -getNewHead LEFT = HEAD_LEFT - shrinkSnake :: MonadState Game m => m () shrinkSnake = do pos <- gets snakeTail @@ -130,25 +124,6 @@ shrinkSnake = do let modifiedBoard = board // [(pos, Empty), (destination, SnakeSegment $ shrinkTail orientation direction)] modify (\s -> s {gameBoard=modifiedBoard, snakeTail=destination}) -shrinkTail :: SnakeSegmentOrientation -> Direction -> SnakeSegmentOrientation -shrinkTail HEAD_UP UP = TAIL_UP -shrinkTail HEAD_RIGHT RIGHT = TAIL_RIGHT -shrinkTail HEAD_DOWN DOWN = TAIL_DOWN -shrinkTail HEAD_LEFT LEFT = TAIL_LEFT -shrinkTail TURN_UP_RIGHT LEFT = TAIL_UP -shrinkTail TURN_UP_RIGHT DOWN = TAIL_RIGHT -shrinkTail TURN_DOWN_RIGHT LEFT = TAIL_DOWN -shrinkTail TURN_DOWN_RIGHT UP = TAIL_RIGHT -shrinkTail TURN_DOWN_LEFT RIGHT = TAIL_DOWN -shrinkTail TURN_DOWN_LEFT UP = TAIL_LEFT -shrinkTail TURN_UP_LEFT RIGHT = TAIL_UP -shrinkTail TURN_UP_LEFT DOWN = TAIL_LEFT -shrinkTail HORIZONTAL RIGHT = TAIL_RIGHT -shrinkTail HORIZONTAL LEFT = TAIL_LEFT -shrinkTail VERTICAL UP = TAIL_UP -shrinkTail VERTICAL DOWN = TAIL_DOWN -shrinkTail o d = error ("Invalid shrinkTail arguments: " ++ show o ++ " " ++ show d) - spawnApple :: (MonadState Game m, MonadIO m) => m () spawnApple = do (w, h) <- gets gameBoardSize @@ -158,6 +133,12 @@ spawnApple = do Empty -> modify (\s -> s {gameBoard = gameBoard s // [(pos, Apple)]}) _ -> spawnApple +snakeSegmentCount :: Game -> Int +snakeSegmentCount = length . filter isSnakeSegment . elems . gameBoard + +isSnakeSegment :: Tile -> Bool +isSnakeSegment (SnakeSegment _) = True +isSnakeSegment _ = False tileAt :: Board -> Pos -> Tile tileAt board (x, y) = (board ! (x, y)) @@ -174,36 +155,5 @@ shiftPos (x, y) direction = do size <- gets gameBoardSize pure $ wrapPos size (x + dx, y + dy) -data MovementInput = UpPressed | RightPressed | DownPressed | LeftPressed | NothingPressed deriving (Eq, Show) -instance Semigroup MovementInput where - (<>) l NothingPressed = l - NothingPressed <> r = r - l <> _ = l -instance Monoid MovementInput where - mempty = NothingPressed - -data MovementResult = IntoApple | IntoSnake | IntoEmpty deriving (Eq, Show) - -data SnakeSegmentOrientation = - HEAD_DOWN | HEAD_LEFT | HEAD_UP | HEAD_RIGHT | - TURN_UP_RIGHT | TURN_DOWN_RIGHT | TURN_DOWN_LEFT | TURN_UP_LEFT | - VERTICAL | HORIZONTAL | - TAIL_UP | TAIL_RIGHT | TAIL_DOWN | TAIL_LEFT - deriving (Eq, Show) - -data Direction = DOWN | LEFT | UP | RIGHT deriving (Eq, Show) - -areOpposite :: Direction -> Direction -> Bool -areOpposite UP DOWN = True -areOpposite DOWN UP = True -areOpposite LEFT RIGHT = True -areOpposite RIGHT LEFT = True -areOpposite _ _ = False - -getDelta :: Direction -> (Int, Int) -getDelta UP = (0, -1) -getDelta RIGHT = (1, 0) -getDelta DOWN = (0, 1) -getDelta LEFT = (-1, 0) diff --git a/src/Tile.hs b/src/Tile.hs new file mode 100644 index 0000000..730becb --- /dev/null +++ b/src/Tile.hs @@ -0,0 +1,74 @@ +module Tile ( + Tile (..), + SnakeSegmentOrientation (..), + Direction (..), + areOpposite, + growHead, + getNewHead, + shrinkTail, + getDelta +) where + +data Tile = SnakeSegment SnakeSegmentOrientation | Apple | Empty deriving (Eq, Show) + +data SnakeSegmentOrientation = + HEAD_DOWN | HEAD_LEFT | HEAD_UP | HEAD_RIGHT | + TURN_UP_RIGHT | TURN_DOWN_RIGHT | TURN_DOWN_LEFT | TURN_UP_LEFT | + VERTICAL | HORIZONTAL | + TAIL_UP | TAIL_RIGHT | TAIL_DOWN | TAIL_LEFT + deriving (Eq, Show) + +data Direction = DOWN | LEFT | UP | RIGHT deriving (Eq, Show) + +areOpposite :: Direction -> Direction -> Bool +areOpposite UP DOWN = True +areOpposite DOWN UP = True +areOpposite LEFT RIGHT = True +areOpposite RIGHT LEFT = True +areOpposite _ _ = False + +growHead :: SnakeSegmentOrientation -> Direction -> SnakeSegmentOrientation +growHead HEAD_UP UP = VERTICAL +growHead HEAD_UP LEFT = TURN_DOWN_LEFT +growHead HEAD_UP RIGHT = TURN_DOWN_RIGHT +growHead HEAD_RIGHT RIGHT = HORIZONTAL +growHead HEAD_RIGHT UP = TURN_UP_LEFT +growHead HEAD_RIGHT DOWN = TURN_DOWN_LEFT +growHead HEAD_DOWN DOWN = VERTICAL +growHead HEAD_DOWN RIGHT = TURN_UP_RIGHT +growHead HEAD_DOWN LEFT = TURN_UP_LEFT +growHead HEAD_LEFT LEFT = HORIZONTAL +growHead HEAD_LEFT DOWN = TURN_DOWN_RIGHT +growHead HEAD_LEFT UP = TURN_UP_RIGHT +growHead _ _ = error "Invalid growHead arguments" + +getNewHead :: Direction -> SnakeSegmentOrientation +getNewHead UP = HEAD_UP +getNewHead RIGHT = HEAD_RIGHT +getNewHead DOWN = HEAD_DOWN +getNewHead LEFT = HEAD_LEFT + +shrinkTail :: SnakeSegmentOrientation -> Direction -> SnakeSegmentOrientation +shrinkTail HEAD_UP UP = TAIL_UP +shrinkTail HEAD_RIGHT RIGHT = TAIL_RIGHT +shrinkTail HEAD_DOWN DOWN = TAIL_DOWN +shrinkTail HEAD_LEFT LEFT = TAIL_LEFT +shrinkTail TURN_UP_RIGHT LEFT = TAIL_UP +shrinkTail TURN_UP_RIGHT DOWN = TAIL_RIGHT +shrinkTail TURN_DOWN_RIGHT LEFT = TAIL_DOWN +shrinkTail TURN_DOWN_RIGHT UP = TAIL_RIGHT +shrinkTail TURN_DOWN_LEFT RIGHT = TAIL_DOWN +shrinkTail TURN_DOWN_LEFT UP = TAIL_LEFT +shrinkTail TURN_UP_LEFT RIGHT = TAIL_UP +shrinkTail TURN_UP_LEFT DOWN = TAIL_LEFT +shrinkTail HORIZONTAL RIGHT = TAIL_RIGHT +shrinkTail HORIZONTAL LEFT = TAIL_LEFT +shrinkTail VERTICAL UP = TAIL_UP +shrinkTail VERTICAL DOWN = TAIL_DOWN +shrinkTail o d = error ("Invalid shrinkTail arguments: " ++ show o ++ " " ++ show d) + +getDelta :: Direction -> (Int, Int) +getDelta UP = (0, -1) +getDelta RIGHT = (1, 0) +getDelta DOWN = (0, 1) +getDelta LEFT = (-1, 0) diff --git a/test/Main.hs b/test/Main.hs index b99cff1..46f5ab1 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -1,7 +1,7 @@ module Main (main) where -import Data.Array (elems, (!)) -import SnakeLib +import Data.Array ((!)) +import Snake import Test.Tasty (TestTree, defaultMain, testGroup) import Test.Tasty.HUnit (assertEqual, testCase) @@ -125,9 +125,3 @@ runTickTests = assertEqual "tail advanced" (1, 0) (snakeTail step4) ] -snakeSegmentCount :: Game -> Int -snakeSegmentCount = length . filter isSnakeSegment . elems . gameBoard - -isSnakeSegment :: Tile -> Bool -isSnakeSegment (SnakeSegment _) = True -isSnakeSegment _ = False