Better code readability
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 24 Aug 2025 18:57:43 +0000 (21:57 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 24 Aug 2025 18:57:43 +0000 (21:57 +0300)
Games/Pomppu Paavo/Pomppu Paavo.bas

index ac8aa6f..907daef 100755 (executable)
@@ -23,18 +23,18 @@ DIM SHARED CurrentLevelNumber%
 DIM SHARED TerrainGrid(0 TO 34, -10 TO 20) AS STRING * 1\r
 DIM SHARED ObjectGrid(0 TO 34, -10 TO 20) AS STRING * 1\r
 \r
-' Full scale sprites\r
+' Full scale sprites (mostly 20x20 pixels)\r
 DIM SHARED SolidTerrainSprite(51)\r
 DIM SHARED EmptySpaceSprite(51)\r
-DIM SHARED kast(51)\r
-DIM SHARED mar1(70)\r
-DIM SHARED pilv(209)\r
-DIM SHARED taht(50)\r
+DIM SHARED BoxSprite(51)\r
+DIM SHARED PlayerSpriteBuffer(70)\r
+DIM SHARED CloudSprite(209)\r
+DIM SHARED StarSprite(50)\r
 DIM SHARED HedgehogSprite(30)\r
 DIM SHARED HedgehogSprite1(30)\r
 DIM SHARED HedgehogSprite2(30)\r
 DIM SHARED CoinSprite(30)\r
-DIM SHARED poosas(100)\r
+DIM SHARED BushSprite(100)\r
 DIM SHARED WindowSprite(100)\r
 DIM SHARED TrampolineSprite(50)\r
 DIM SHARED IntroScreen(6000)\r
@@ -49,18 +49,18 @@ DIM SHARED sipp20(51)
 DIM SHARED sipp3(51)\r
 DIM SHARED DoorSprite(120)\r
 \r
-' Small scale sprites (S suffix is used)\r
+' Small scale sprites (mostly 10x10 pixels) - denoted with "Small" suffix\r
 DIM SHARED SolidTerrainSpriteSmall(51)\r
 DIM SHARED EmptySpaceSpriteSmall(51)\r
-DIM SHARED kastm(51)\r
-DIM SHARED marm1(70)\r
-DIM SHARED pilvm(209)\r
-DIM SHARED tahtm(50)\r
+DIM SHARED BoxSpriteSmall(51)\r
+DIM SHARED PlayerSpriteBufferSmall(70)\r
+DIM SHARED CloudSpriteSmall(209)\r
+DIM SHARED StarSpriteSmall(50)\r
 DIM SHARED HedgehogSpriteSmall(30)\r
 DIM SHARED HedgehogSpriteSmall1(30)\r
 DIM SHARED HedgehogSpriteSmall2(30)\r
 DIM SHARED CoinSpriteSmall(30)\r
-DIM SHARED poosasm(100)\r
+DIM SHARED BushSpriteSmall(100)\r
 DIM SHARED WindowSpriteSmall(100)\r
 DIM SHARED TrampolineSpriteSmall(50)\r
 DIM SHARED TreeSpriteSmall(3000)\r
@@ -89,15 +89,15 @@ GET (1, 1)-(20, 20), EmptySpaceSprite
 RenderSpriteFromFile 0, 0, 1, 1, 1\r
 GET (1, 1)-(20, 20), SolidTerrainSprite\r
 RenderSpriteFromFile 0, 0, 4, 1, 1\r
-GET (1, 1)-(20, 20), kast\r
+GET (1, 1)-(20, 20), BoxSprite\r
 PUT (1, 180), SolidTerrainSprite, PSET\r
 PUT (300, 1), SolidTerrainSprite, PSET\r
 PUT (300, 180), SolidTerrainSprite, PSET\r
 RenderSpriteFromFile 30, 50, 2, 1, 1\r
-GET (31, 51)-(91, 76), pilv\r
-PUT (160, 10), pilv, PSET\r
+GET (31, 51)-(91, 76), CloudSprite\r
+PUT (160, 10), CloudSprite, PSET\r
 RenderSpriteFromFile 20, 100, 3, 1, 1\r
-GET (21, 101)-(31, 114), taht\r
+GET (21, 101)-(31, 114), StarSprite\r
 CLS\r
 RenderSpriteFromFile 0, 0, 5, 1, 1\r
 GET (1, 1)-(11, 8), HedgehogSprite\r
@@ -106,7 +106,7 @@ RenderSpriteFromFile 0, 0, 6, 1, 1
 GET (1, 1)-(8, 10), CoinSprite\r
 CLS\r
 RenderSpriteFromFile 0, 0, 7, 1, 1\r
-GET (1, 1)-(31, 11), poosas\r
+GET (1, 1)-(31, 11), BushSprite\r
 CLS\r
 RenderSpriteFromFile 0, 0, 8, 1, 1\r
 GET (1, 1)-(26, 21), WindowSprite\r
@@ -148,14 +148,14 @@ GET (1, 1)-(10, 10), EmptySpaceSpriteSmall
 RenderSpriteFromFile 0, 0, 1, 1, 2\r
 GET (1, 1)-(10, 10), SolidTerrainSpriteSmall\r
 RenderSpriteFromFile 0, 0, 4, 1, 2\r
-GET (1, 1)-(10, 10), kastm\r
+GET (1, 1)-(10, 10), BoxSpriteSmall\r
 PUT (1, 180), SolidTerrainSprite, PSET\r
 PUT (300, 1), SolidTerrainSprite, PSET\r
 PUT (300, 180), SolidTerrainSprite, PSET\r
 RenderSpriteFromFile 30, 50, 2, 1, 2\r
-GET (16, 26)-(46, 38), pilvm\r
+GET (16, 26)-(46, 38), CloudSpriteSmall\r
 RenderSpriteFromFile 20, 100, 3, 1, 2\r
-GET (11, 51)-(16, 72), tahtm\r
+GET (11, 51)-(16, 72), StarSpriteSmall\r
 CLS\r
 RenderSpriteFromFile 0, 0, 5, 1, 2\r
 GET (1, 1)-(6, 4), HedgehogSpriteSmall\r
@@ -164,7 +164,7 @@ RenderSpriteFromFile 0, 0, 6, 1, 2
 GET (1, 1)-(4, 5), CoinSpriteSmall\r
 CLS\r
 RenderSpriteFromFile 0, 0, 7, 1, 2\r
-GET (1, 1)-(16, 6), poosasm\r
+GET (1, 1)-(16, 6), BushSpriteSmall\r
 CLS\r
 RenderSpriteFromFile 0, 0, 8, 1, 2\r
 GET (1, 1)-(13, 11), WindowSpriteSmall\r
@@ -219,7 +219,7 @@ siie1 = 1
 MainGameLoop:\r
 keyboardInput$ = INKEY$\r
 IF GraphicsDisplayMode = 2 THEN b = b * 2: GOTO SmallScaleGameLoop\r
-IF b > 0 THEN GET (a, b)-(a + 20, b + 20), mar1\r
+IF b > 0 THEN GET (a, b)-(a + 20, b + 20), PlayerSpriteBuffer\r
 IF b > 0 THEN IF sipp = 1 THEN PUT (a, b), sipp1, OR\r
 IF b > 0 THEN IF sipp = 2 THEN PUT (a, b), sipp2, OR\r
 IF b > 0 THEN IF sipp = 10 THEN PUT (a, b), sipp10, OR\r
@@ -298,7 +298,7 @@ PUT (Companion2PositionX%, Companion2PositionY%), HedgehogSprite2, PSET
 PUT (Companion1PositionX%, Companion1PositionY%), HedgehogSprite1, PSET\r
 \r
 ' Restore previous player position\r
-IF b > 0 THEN PUT (a, b), mar1, PSET\r
+IF b > 0 THEN PUT (a, b), PlayerSpriteBuffer, PSET\r
 \r
 ' Handle sprite clearing after coin collection\r
 IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 20, (b \ 20) * 20), EmptySpaceSprite, PSET\r
@@ -356,7 +356,7 @@ GOTO MainGameLoop
 SmallScaleGameLoop:\r
 keyboardInput$ = INKEY$\r
 IF GraphicsDisplayMode = 1 THEN b = b / 2: GOTO MainGameLoop\r
-IF b > 0 THEN GET (a \ 2, b \ 2)-((a + 20) \ 2, (b + 20) \ 2), marm1\r
+IF b > 0 THEN GET (a \ 2, b \ 2)-((a + 20) \ 2, (b + 20) \ 2), PlayerSpriteBufferSmall\r
 IF b > 0 THEN IF sipp = 1 THEN PUT (a \ 2, b \ 2), sippm1, OR\r
 IF b > 0 THEN IF sipp = 2 THEN PUT (a \ 2, b \ 2), sippm2, OR\r
 IF b > 0 THEN IF sipp = 10 THEN PUT (a \ 2, b \ 2), sippm10, OR\r
@@ -433,7 +433,7 @@ PUT (Companion2PositionX% \ 2, Companion2PositionY% \ 2), HedgehogSpriteSmall2,
 PUT (Companion1PositionX% \ 2, Companion1PositionY% \ 2), HedgehogSpriteSmall1, PSET\r
 \r
 ' Restore previous player position\r
-IF b > 0 THEN PUT (a \ 2, b \ 2), marm1, PSET\r
+IF b > 0 THEN PUT (a \ 2, b \ 2), PlayerSpriteBufferSmall, PSET\r
 \r
 ' Handle sprite clearing after coin collection\r
 IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 10, (b \ 20) * 10), EmptySpaceSpriteSmall, PSET\r
@@ -642,13 +642,13 @@ FOR e = 0 TO 9
 FOR D = 0 TO 15\r
 q$ = RIGHT$(LEFT$(AsciiLevelData(e + 1), D + 1), 1)\r
 IF q$ = "m" THEN PUT (D * 20, e * 20), SolidTerrainSprite, PSET: TerrainGrid(D + 1, e + 1) = "z"\r
-IF q$ = "o" THEN PUT (D * 20, e * 20), kast, PSET: TerrainGrid(D + 1, e + 1) = "z": ObjectGrid(D + 1, e + 1) = "o"\r
-IF q$ = "." THEN PUT (D * 20, e * 20), taht, PSET\r
-IF q$ = "-" THEN PUT (D * 20, e * 20), pilv, PSET\r
+IF q$ = "o" THEN PUT (D * 20, e * 20), BoxSprite, PSET: TerrainGrid(D + 1, e + 1) = "z": ObjectGrid(D + 1, e + 1) = "o"\r
+IF q$ = "." THEN PUT (D * 20, e * 20), StarSprite, PSET\r
+IF q$ = "-" THEN PUT (D * 20, e * 20), CloudSprite, PSET\r
 IF q$ = "x" THEN Companion1PositionX% = D * 20: Companion1PositionY% = (e + 1) * 20\r
 IF q$ = "y" THEN Companion2PositionX% = D * 20: Companion2PositionY% = (e + 1) * 20\r
 IF q$ = "1" THEN PUT (D * 20, e * 20), CoinSprite, PSET: TerrainGrid(D + 1, e + 1) = "1"\r
-IF q$ = "p" THEN PUT (D * 20, (e * 20) + 10), poosas, PSET\r
+IF q$ = "p" THEN PUT (D * 20, (e * 20) + 10), BushSprite, PSET\r
 IF q$ = "h" THEN PUT (D * 20, e * 20), WindowSprite, PSET\r
 IF q$ = "v" THEN PUT (D * 20, (e * 20) + 10), TrampolineSprite, PSET: TerrainGrid(D + 1, e + 1) = "v"\r
 IF q$ = "t" THEN PUT (D * 20, e * 20), TreeSprite, PSET\r
@@ -665,13 +665,13 @@ FOR e = 0 TO 19
 FOR D = 0 TO 30\r
 q$ = RIGHT$(LEFT$(AsciiLevelData(e + 1), D + 1), 1)\r
 IF q$ = "m" THEN PUT (D * 10, e * 10), SolidTerrainSpriteSmall, PSET: TerrainGrid(D + 1, e + 1) = "z"\r
-IF q$ = "o" THEN PUT (D * 10, e * 10), kastm, PSET: TerrainGrid(D + 1, e + 1) = "z": ObjectGrid(D + 1, e + 1) = "o"\r
-IF q$ = "." THEN PUT (D * 10, e * 10), tahtm, PSET\r
-IF q$ = "-" THEN PUT (D * 10, e * 10), pilvm, PSET\r
+IF q$ = "o" THEN PUT (D * 10, e * 10), BoxSpriteSmall, PSET: TerrainGrid(D + 1, e + 1) = "z": ObjectGrid(D + 1, e + 1) = "o"\r
+IF q$ = "." THEN PUT (D * 10, e * 10), StarSpriteSmall, PSET\r
+IF q$ = "-" THEN PUT (D * 10, e * 10), CloudSpriteSmall, PSET\r
 IF q$ = "x" THEN Companion1PositionX% = D * 20: Companion1PositionY% = (e + 1) * 20\r
 IF q$ = "y" THEN Companion2PositionX% = D * 20: Companion2PositionY% = (e + 1) * 20\r
 IF q$ = "1" THEN PUT (D * 10, e * 10), CoinSpriteSmall, PSET: TerrainGrid(D + 1, e + 1) = "1"\r
-IF q$ = "p" THEN PUT (D * 10, (e * 10) + 5), poosasm, PSET\r
+IF q$ = "p" THEN PUT (D * 10, (e * 10) + 5), BushSpriteSmall, PSET\r
 IF q$ = "h" THEN PUT (D * 10, e * 10), WindowSpriteSmall, PSET\r
 IF q$ = "v" THEN PUT (D * 10, (e * 10) + 5), TrampolineSpriteSmall, PSET: TerrainGrid(D + 1, e + 1) = "v"\r
 IF q$ = "t" THEN PUT (D * 10, e * 10), TreeSpriteSmall, PSET\r