From bad82054d24bdf119bb56679d515dab21586abda Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Sun, 24 Aug 2025 21:33:50 +0300 Subject: [PATCH] Better code readability --- Games/Pomppu Paavo/Pomppu Paavo.bas | 104 ++++++++++++++-------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/Games/Pomppu Paavo/Pomppu Paavo.bas b/Games/Pomppu Paavo/Pomppu Paavo.bas index 77ca1d4..13dabc4 100755 --- a/Games/Pomppu Paavo/Pomppu Paavo.bas +++ b/Games/Pomppu Paavo/Pomppu Paavo.bas @@ -17,7 +17,7 @@ DECLARE SUB DrawSprite (p%, o%, m%, fr%, teler%) DEFINT A-Z DIM SHARED graphicsMode DIM SHARED asciiLevelData(1 TO 20) AS STRING * 31 -DIM SHARED FirstCompanionY%, FirstCompanionX%, SecondCompanionY%, SecondCompanionX% +DIM SHARED Companion1PositionY%, Companion1PositionX%, Companion2PositionY%, Companion2PositionX% DIM SHARED LivesRemaining%, CoinsCollected% DIM SHARED DoorEntryX%, DoorEntryY%, DoorExitX%, DoorExitY% DIM SHARED CurrentLevelNumber% @@ -228,12 +228,12 @@ IF b > 0 THEN IF sipp = 20 THEN PUT (a, b), sipp20, OR IF b > 0 THEN IF sipp = 3 THEN PUT (a, b), sipp3, OR ' Draw first companion hedgehog -GET (FirstCompanionX%, FirstCompanionY%)-(FirstCompanionX% + 10, FirstCompanionY% + 10), siil1 -PUT (FirstCompanionX%, FirstCompanionY%), siil, OR +GET (Companion1PositionX%, Companion1PositionY%)-(Companion1PositionX% + 10, Companion1PositionY% + 10), siil1 +PUT (Companion1PositionX%, Companion1PositionY%), siil, OR ' Draw second companion hedgehog -GET (SecondCompanionX%, SecondCompanionY%)-(SecondCompanionX% + 10, SecondCompanionY% + 10), siil2 -PUT (SecondCompanionX%, SecondCompanionY%), siil, OR +GET (Companion2PositionX%, Companion2PositionY%)-(Companion2PositionX% + 10, Companion2PositionY% + 10), siil2 +PUT (Companion2PositionX%, Companion2PositionY%), siil, OR ' Create short delay using sound command (workaround for no built-in delay) SOUND 0, .8 @@ -279,24 +279,24 @@ IF ObjectGrid((a + 30) \ 20, (b + 21) \ 20) = "o" THEN TerrainGrid((a + 30) \ 20 IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "a" THEN TerrainGrid((a + 30) \ 20, (b + 38) \ 20) = "": ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1 ' First companion hedgehog terrain collision checks -IF TerrainGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 25) \ 20) = "z" THEN siiall = -1 -IF TerrainGrid((FirstCompanionX% + 30) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = -1 -IF TerrainGrid((FirstCompanionX% + 20) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = 1 +IF TerrainGrid((Companion1PositionX% + 25) \ 20, (Companion1PositionY% + 25) \ 20) = "z" THEN siiall = -1 +IF TerrainGrid((Companion1PositionX% + 30) \ 20, (Companion1PositionY% + 10) \ 20) = "z" THEN siie = -1 +IF TerrainGrid((Companion1PositionX% + 20) \ 20, (Companion1PositionY% + 10) \ 20) = "z" THEN siie = 1 ' Second companion hedgehog terrain collision checks -IF TerrainGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 25) \ 20) = "z" THEN siiall1 = -1 -IF TerrainGrid((SecondCompanionX% + 30) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = -1 -IF TerrainGrid((SecondCompanionX% + 20) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = 1 +IF TerrainGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 25) \ 20) = "z" THEN siiall1 = -1 +IF TerrainGrid((Companion2PositionX% + 30) \ 20, (Companion2PositionY% + 10) \ 20) = "z" THEN siie1 = -1 +IF TerrainGrid((Companion2PositionX% + 20) \ 20, (Companion2PositionY% + 10) \ 20) = "z" THEN siie1 = 1 ' Screen boundary checks for companions -IF FirstCompanionX% > 300 THEN siie = -1 -IF FirstCompanionX% < 3 THEN siie = 1 -IF SecondCompanionX% > 300 THEN siie1 = -1 -IF SecondCompanionX% < 3 THEN siie1 = 1 +IF Companion1PositionX% > 300 THEN siie = -1 +IF Companion1PositionX% < 3 THEN siie = 1 +IF Companion2PositionX% > 300 THEN siie1 = -1 +IF Companion2PositionX% < 3 THEN siie1 = 1 ' Restore previous companion positions -PUT (SecondCompanionX%, SecondCompanionY%), siil2, PSET -PUT (FirstCompanionX%, FirstCompanionY%), siil1, PSET +PUT (Companion2PositionX%, Companion2PositionY%), siil2, PSET +PUT (Companion1PositionX%, Companion1PositionY%), siil1, PSET ' Restore previous player position IF b > 0 THEN PUT (a, b), mar1, PSET @@ -308,16 +308,16 @@ IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 20, ((b + 28) \ 20) * IF makk = 1 THEN makk = 0: a = a - 20 -ObjectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "": ObjectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "" +ObjectGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 8) \ 20) = "": ObjectGrid((Companion1PositionX% + 25) \ 20, (Companion1PositionY% + 8) \ 20) = "" ' Update companion positions -FirstCompanionX% = FirstCompanionX% + siie -FirstCompanionY% = FirstCompanionY% + siiall -SecondCompanionX% = SecondCompanionX% + siie1 -SecondCompanionY% = SecondCompanionY% + siiall1 +Companion1PositionX% = Companion1PositionX% + siie +Companion1PositionY% = Companion1PositionY% + siiall +Companion2PositionX% = Companion2PositionX% + siie1 +Companion2PositionY% = Companion2PositionY% + siiall1 ' Mark new companion positions in object grid -ObjectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "q": ObjectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "q" +ObjectGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 8) \ 20) = "q": ObjectGrid((Companion1PositionX% + 25) \ 20, (Companion1PositionY% + 8) \ 20) = "q" ' Apply gravity to companions (max downward velocity = 2) siiall = siiall + 1: IF siiall > 2 THEN siiall = 2 @@ -365,10 +365,10 @@ IF b > 0 THEN IF sipp = 20 THEN PUT (a \ 2, b \ 2), sippm20, OR IF b > 0 THEN IF sipp = 3 THEN PUT (a \ 2, b \ 2), sippm3, OR ' Draw companions in scaled down mode -GET (FirstCompanionX% \ 2, FirstCompanionY% \ 2)-((FirstCompanionX% + 10) \ 2, (FirstCompanionY% + 10) \ 2), siilm1 -PUT (FirstCompanionX% \ 2, FirstCompanionY% \ 2), siilm, OR -GET (SecondCompanionX% \ 2, SecondCompanionY% \ 2)-((siia1 + 10) \ 2, (SecondCompanionY% + 10) \ 2), siilm2 -PUT (SecondCompanionX% \ 2, SecondCompanionY% \ 2), siilm, OR +GET (Companion1PositionX% \ 2, Companion1PositionY% \ 2)-((Companion1PositionX% + 10) \ 2, (Companion1PositionY% + 10) \ 2), siilm1 +PUT (Companion1PositionX% \ 2, Companion1PositionY% \ 2), siilm, OR +GET (Companion2PositionX% \ 2, Companion2PositionY% \ 2)-((siia1 + 10) \ 2, (Companion2PositionY% + 10) \ 2), siilm2 +PUT (Companion2PositionX% \ 2, Companion2PositionY% \ 2), siilm, OR ' Small delay to limit framerate SOUND 0, .8 @@ -414,24 +414,24 @@ IF ObjectGrid((a + 30) \ 20, (b + 21) \ 20) = "o" THEN TerrainGrid((a + 30) \ 20 IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "a" THEN TerrainGrid((a + 30) \ 20, (b + 38) \ 20) = "": ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1 ' First companion hedgehog terrain collision checks -IF TerrainGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 25) \ 20) = "z" THEN siiall = -1 -IF TerrainGrid((FirstCompanionX% + 30) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = -1 -IF TerrainGrid((FirstCompanionX% + 20) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = 1 +IF TerrainGrid((Companion1PositionX% + 25) \ 20, (Companion1PositionY% + 25) \ 20) = "z" THEN siiall = -1 +IF TerrainGrid((Companion1PositionX% + 30) \ 20, (Companion1PositionY% + 10) \ 20) = "z" THEN siie = -1 +IF TerrainGrid((Companion1PositionX% + 20) \ 20, (Companion1PositionY% + 10) \ 20) = "z" THEN siie = 1 ' Second companion hedgehog terrain collision checks -IF TerrainGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 25) \ 20) = "z" THEN siiall1 = -1 -IF TerrainGrid((SecondCompanionX% + 30) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = -1 -IF TerrainGrid((SecondCompanionX% + 20) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = 1 +IF TerrainGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 25) \ 20) = "z" THEN siiall1 = -1 +IF TerrainGrid((Companion2PositionX% + 30) \ 20, (Companion2PositionY% + 10) \ 20) = "z" THEN siie1 = -1 +IF TerrainGrid((Companion2PositionX% + 20) \ 20, (Companion2PositionY% + 10) \ 20) = "z" THEN siie1 = 1 ' Screen boundary checks for companions -IF FirstCompanionX% > 600 THEN siie = -1 -IF FirstCompanionX% < 3 THEN siie = 1 -IF SecondCompanionX% > 600 THEN siie1 = -1 -IF SecondCompanionX% < 3 THEN siie1 = 1 +IF Companion1PositionX% > 600 THEN siie = -1 +IF Companion1PositionX% < 3 THEN siie = 1 +IF Companion2PositionX% > 600 THEN siie1 = -1 +IF Companion2PositionX% < 3 THEN siie1 = 1 ' Restore previous companion positions -PUT (SecondCompanionX% \ 2, SecondCompanionY% \ 2), siilm2, PSET -PUT (FirstCompanionX% \ 2, FirstCompanionY% \ 2), siilm1, PSET +PUT (Companion2PositionX% \ 2, Companion2PositionY% \ 2), siilm2, PSET +PUT (Companion1PositionX% \ 2, Companion1PositionY% \ 2), siilm1, PSET ' Restore previous player position IF b > 0 THEN PUT (a \ 2, b \ 2), marm1, PSET @@ -443,16 +443,16 @@ IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 10, ((b + 28) \ 20) * IF makk = 1 THEN makk = 0: a = a - 20 -ObjectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "": ObjectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "" +ObjectGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 8) \ 20) = "": ObjectGrid((Companion1PositionX% + 25) \ 20, (Companion1PositionY% + 8) \ 20) = "" ' Update companion positions -FirstCompanionX% = FirstCompanionX% + siie -FirstCompanionY% = FirstCompanionY% + siiall -SecondCompanionX% = SecondCompanionX% + siie1 -SecondCompanionY% = SecondCompanionY% + siiall1 +Companion1PositionX% = Companion1PositionX% + siie +Companion1PositionY% = Companion1PositionY% + siiall +Companion2PositionX% = Companion2PositionX% + siie1 +Companion2PositionY% = Companion2PositionY% + siiall1 ' Mark new companion positions in object grid -ObjectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "q": ObjectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "q" +ObjectGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 8) \ 20) = "q": ObjectGrid((Companion1PositionX% + 25) \ 20, (Companion1PositionY% + 8) \ 20) = "q" siiall = siiall + 1: IF siiall > 2 THEN siiall = 2 siiall1 = siiall1 + 1: IF siiall1 > 2 THEN siiall1 = 2 @@ -561,10 +561,10 @@ END SUB SUB LoadCurrentLevel (y) 125 -FirstCompanionX% = 0 -FirstCompanionY% = 0 +Companion1PositionX% = 0 +Companion1PositionY% = 0 aiia1 = 0 -SecondCompanionY% = 0 +Companion2PositionY% = 0 FOR a1 = 1 TO 32 FOR b1 = 1 TO 20 TerrainGrid(a1, b1) = "" @@ -646,8 +646,8 @@ IF q$ = "m" THEN PUT (D * 20, e * 20), SolidTerrainSprite, PSET: TerrainGrid(D + IF q$ = "o" THEN PUT (D * 20, e * 20), kast, PSET: TerrainGrid(D + 1, e + 1) = "z": ObjectGrid(D + 1, e + 1) = "o" IF q$ = "." THEN PUT (D * 20, e * 20), taht, PSET IF q$ = "-" THEN PUT (D * 20, e * 20), pilv, PSET -IF q$ = "x" THEN FirstCompanionX% = D * 20: FirstCompanionY% = (e + 1) * 20 -IF q$ = "y" THEN SecondCompanionX% = D * 20: SecondCompanionY% = (e + 1) * 20 +IF q$ = "x" THEN Companion1PositionX% = D * 20: Companion1PositionY% = (e + 1) * 20 +IF q$ = "y" THEN Companion2PositionX% = D * 20: Companion2PositionY% = (e + 1) * 20 IF q$ = "1" THEN PUT (D * 20, e * 20), CoinSprite, PSET: TerrainGrid(D + 1, e + 1) = "1" IF q$ = "p" THEN PUT (D * 20, (e * 20) + 10), poosas, PSET IF q$ = "h" THEN PUT (D * 20, e * 20), WindowSprite, PSET @@ -669,8 +669,8 @@ IF q$ = "m" THEN PUT (D * 10, e * 10), SolidTerrainSpriteSmall, PSET: TerrainGri IF q$ = "o" THEN PUT (D * 10, e * 10), kastm, PSET: TerrainGrid(D + 1, e + 1) = "z": ObjectGrid(D + 1, e + 1) = "o" IF q$ = "." THEN PUT (D * 10, e * 10), tahtm, PSET IF q$ = "-" THEN PUT (D * 10, e * 10), pilvm, PSET -IF q$ = "x" THEN FirstCompanionX% = D * 20: FirstCompanionY% = (e + 1) * 20 -IF q$ = "y" THEN SecondCompanionX% = D * 20: SecondCompanionY% = (e + 1) * 20 +IF q$ = "x" THEN Companion1PositionX% = D * 20: Companion1PositionY% = (e + 1) * 20 +IF q$ = "y" THEN Companion2PositionX% = D * 20: Companion2PositionY% = (e + 1) * 20 IF q$ = "1" THEN PUT (D * 10, e * 10), CoinSpriteSmall, PSET: TerrainGrid(D + 1, e + 1) = "1" IF q$ = "p" THEN PUT (D * 10, (e * 10) + 5), poosasm, PSET IF q$ = "h" THEN PUT (D * 10, e * 10), WindowSpriteSmall, PSET -- 2.20.1