From cd0744a1a937b1100fff748bc34534547350ef48 Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Sun, 24 Aug 2025 22:11:12 +0300 Subject: [PATCH] Better code readability --- Games/Pomppu Paavo/Pomppu Paavo.bas | 39 +++++++++++++++-------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/Games/Pomppu Paavo/Pomppu Paavo.bas b/Games/Pomppu Paavo/Pomppu Paavo.bas index edba001..58df50c 100755 --- a/Games/Pomppu Paavo/Pomppu Paavo.bas +++ b/Games/Pomppu Paavo/Pomppu Paavo.bas @@ -85,7 +85,8 @@ LivesRemaining% = 10 SCREEN 1 CurrentLevelNumber% = 1 -' Capture sprite images from screen drawing operations +' Capture sprite images from screen drawing operations. +' This technique uses GET command to save drawn graphics into arrays. GET (1, 1)-(20, 20), EmptySpaceSprite RenderSpriteFromFile 0, 0, 1, 1, 1 GET (1, 1)-(20, 20), SolidTerrainSprite @@ -144,7 +145,7 @@ GET (1, 1)-(20, 20), sipp3 CLS -' Capture small scale versions of sprites +' Capture small scale versions of sprites (half size) GET (1, 1)-(10, 10), EmptySpaceSpriteSmall RenderSpriteFromFile 0, 0, 1, 1, 2 GET (1, 1)-(10, 10), SolidTerrainSpriteSmall @@ -215,7 +216,7 @@ key$ = INPUT$(1) LoadCurrentLevel 1 a = 50 b = 50 -siie = 1 +Companion1HorizontalVelocity = 1 Companion2HorizontalVelocity = 1 MainGameLoop: keyboardInput$ = INKEY$ @@ -280,8 +281,8 @@ IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "a" THEN TerrainGrid((a + 30) \ 20 ' First companion hedgehog terrain collision checks 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 +IF TerrainGrid((Companion1PositionX% + 30) \ 20, (Companion1PositionY% + 10) \ 20) = "z" THEN Companion1HorizontalVelocity = -1 +IF TerrainGrid((Companion1PositionX% + 20) \ 20, (Companion1PositionY% + 10) \ 20) = "z" THEN Companion1HorizontalVelocity = 1 ' Second companion hedgehog terrain collision checks IF TerrainGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 25) \ 20) = "z" THEN siiall1 = -1 @@ -289,8 +290,8 @@ IF TerrainGrid((Companion2PositionX% + 30) \ 20, (Companion2PositionY% + 10) \ 2 IF TerrainGrid((Companion2PositionX% + 20) \ 20, (Companion2PositionY% + 10) \ 20) = "z" THEN Companion2HorizontalVelocity = 1 ' Screen boundary checks for companions -IF Companion1PositionX% > 300 THEN siie = -1 -IF Companion1PositionX% < 3 THEN siie = 1 +IF Companion1PositionX% > 300 THEN Companion1HorizontalVelocity = -1 +IF Companion1PositionX% < 3 THEN Companion1HorizontalVelocity = 1 IF Companion2PositionX% > 300 THEN Companion2HorizontalVelocity = -1 IF Companion2PositionX% < 3 THEN Companion2HorizontalVelocity = 1 @@ -311,7 +312,7 @@ IF makk = 1 THEN makk = 0: a = a - 20 ObjectGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 8) \ 20) = "": ObjectGrid((Companion1PositionX% + 25) \ 20, (Companion1PositionY% + 8) \ 20) = "" ' Update companion positions -Companion1PositionX% = Companion1PositionX% + siie +Companion1PositionX% = Companion1PositionX% + Companion1HorizontalVelocity Companion1PositionY% = Companion1PositionY% + siiall Companion2PositionX% = Companion2PositionX% + Companion2HorizontalVelocity Companion2PositionY% = Companion2PositionY% + siiall1 @@ -328,7 +329,7 @@ a = a + eda b = b + all ' Level transition when reaching right edge -IF a > 297 THEN a = 2: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadCurrentLevel CurrentLevelNumber%: siie = 1: Companion2HorizontalVelocity = 1 +IF a > 297 THEN a = 2: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadCurrentLevel CurrentLevelNumber%: Companion1HorizontalVelocity = 1: Companion2HorizontalVelocity = 1 ' Level transition when reaching left edge IF a < 1 THEN a = 296: IF CurrentLevelNumber% = 1 THEN LoadCurrentLevel CurrentLevelNumber%: ELSE CurrentLevelNumber% = CurrentLevelNumber% - 1: LoadCurrentLevel CurrentLevelNumber%: IF GraphicsDisplayMode = 2 THEN a = 594 @@ -346,8 +347,8 @@ IF keyboardInput$ = leftArrowKey$ THEN IF sipa = 1 THEN sipp = 10: ELSE sipp = IF keyboardInput$ = leftArrowKey$ THEN eda = eda - 1: IF eda < -3 THEN eda = -3: r = 0 ELSE IF lke > 10 THEN eda = -5 IF keyboardInput$ = upArrowKey$ AND lk < 10 THEN all = all - 5: lk = 20: r1 = 0: sipp = 3 IF keyboardInput$ = downArrowKey$ THEN all = all + 1 -IF keyboardInput$ = "/" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadCurrentLevel CurrentLevelNumber%: siie = 1: Companion2HorizontalVelocity = 1 -IF keyboardInput$ = "+" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 5: LoadCurrentLevel CurrentLevelNumber%: siie = 1: Companion2HorizontalVelocity = 1 +IF keyboardInput$ = "/" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadCurrentLevel CurrentLevelNumber%: Companion1HorizontalVelocity = 1: Companion2HorizontalVelocity = 1 +IF keyboardInput$ = "+" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 5: LoadCurrentLevel CurrentLevelNumber%: Companion1HorizontalVelocity = 1: Companion2HorizontalVelocity = 1 IF keyboardInput$ = "q" THEN END sipa = sipa + 1 IF sipa = 3 THEN sipa = 1 @@ -418,8 +419,8 @@ IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "a" THEN TerrainGrid((a + 30) \ 20 ' First companion hedgehog terrain collision checks 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 +IF TerrainGrid((Companion1PositionX% + 30) \ 20, (Companion1PositionY% + 10) \ 20) = "z" THEN Companion1HorizontalVelocity = -1 +IF TerrainGrid((Companion1PositionX% + 20) \ 20, (Companion1PositionY% + 10) \ 20) = "z" THEN Companion1HorizontalVelocity = 1 ' Second companion hedgehog terrain collision checks IF TerrainGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 25) \ 20) = "z" THEN siiall1 = -1 @@ -427,8 +428,8 @@ IF TerrainGrid((Companion2PositionX% + 30) \ 20, (Companion2PositionY% + 10) \ 2 IF TerrainGrid((Companion2PositionX% + 20) \ 20, (Companion2PositionY% + 10) \ 20) = "z" THEN Companion2HorizontalVelocity = 1 ' Screen boundary checks for companions -IF Companion1PositionX% > 600 THEN siie = -1 -IF Companion1PositionX% < 3 THEN siie = 1 +IF Companion1PositionX% > 600 THEN Companion1HorizontalVelocity = -1 +IF Companion1PositionX% < 3 THEN Companion1HorizontalVelocity = 1 IF Companion2PositionX% > 600 THEN Companion2HorizontalVelocity = -1 IF Companion2PositionX% < 3 THEN Companion2HorizontalVelocity = 1 @@ -449,7 +450,7 @@ IF makk = 1 THEN makk = 0: a = a - 20 ObjectGrid((Companion2PositionX% + 25) \ 20, (Companion2PositionY% + 8) \ 20) = "": ObjectGrid((Companion1PositionX% + 25) \ 20, (Companion1PositionY% + 8) \ 20) = "" ' Update companion positions -Companion1PositionX% = Companion1PositionX% + siie +Companion1PositionX% = Companion1PositionX% + Companion1HorizontalVelocity Companion1PositionY% = Companion1PositionY% + siiall Companion2PositionX% = Companion2PositionX% + Companion2HorizontalVelocity Companion2PositionY% = Companion2PositionY% + siiall1 @@ -464,7 +465,7 @@ a = a + eda b = b + all ' Level transition when reaching right edge -IF a > 594 THEN a = 2: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadCurrentLevel CurrentLevelNumber%: siie = 1: Companion2HorizontalVelocity = 1 +IF a > 594 THEN a = 2: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadCurrentLevel CurrentLevelNumber%: Companion1HorizontalVelocity = 1: Companion2HorizontalVelocity = 1 ' Level transition when reaching left edge IF a < 1 THEN a = 594: IF CurrentLevelNumber% = 1 THEN LoadCurrentLevel CurrentLevelNumber%: ELSE CurrentLevelNumber% = CurrentLevelNumber% - 1: LoadCurrentLevel CurrentLevelNumber%: IF GraphicsDisplayMode = 1 THEN a = 297 @@ -482,8 +483,8 @@ IF keyboardInput$ = leftArrowKey$ THEN IF sipa = 1 THEN sipp = 10: ELSE sipp = IF keyboardInput$ = leftArrowKey$ THEN eda = eda - 1: IF eda < -3 THEN eda = -3: r = 0 ELSE IF lke > 10 THEN eda = -5 IF keyboardInput$ = upArrowKey$ AND lk < 10 THEN all = all - 5: lk = 20: r1 = 0: sipp = 3 IF keyboardInput$ = downArrowKey$ THEN all = all + 1 -IF keyboardInput$ = "/" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadCurrentLevel CurrentLevelNumber%: siie = 1: Companion2HorizontalVelocity = 1 -IF keyboardInput$ = "+" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 5: LoadCurrentLevel CurrentLevelNumber%: siie = 1: Companion2HorizontalVelocity = 1 +IF keyboardInput$ = "/" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadCurrentLevel CurrentLevelNumber%: Companion1HorizontalVelocity = 1: Companion2HorizontalVelocity = 1 +IF keyboardInput$ = "+" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 5: LoadCurrentLevel CurrentLevelNumber%: Companion1HorizontalVelocity = 1: Companion2HorizontalVelocity = 1 IF keyboardInput$ = "q" THEN END sipa = sipa + 1 -- 2.20.1