From eb0505888f20dc645bed90f2f6dc43111828f77f Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Thu, 21 Aug 2025 19:38:46 +0300 Subject: [PATCH] Better code readability --- Games/Pomppu Paavo.bas | 44 +++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/Games/Pomppu Paavo.bas b/Games/Pomppu Paavo.bas index 4b56e5b..c74b013 100755 --- a/Games/Pomppu Paavo.bas +++ b/Games/Pomppu Paavo.bas @@ -18,8 +18,8 @@ DEFINT A-Z DIM SHARED graphicsMode DIM SHARED asciiLevelData(1 TO 20) AS STRING * 31 DIM SHARED FirstCompanionY%, FirstCompanionX%, SecondCompanionY%, SecondCompanionX% -DIM SHARED remainingLives, coinCount -DIM SHARED uks1, uks2, uks3, uks4 +DIM SHARED LivesRemaining%, CoinsCollected% +DIM SHARED DoorEntryX%, DoorEntryY%, DoorExitX%, DoorExitY% DIM SHARED currentLevelNumber DIM SHARED text$(1 TO 1000) DIM SHARED pikkus @@ -79,15 +79,11 @@ DIM SHARED uksm(50) DIM SHARED kuikiir -DIM SHARED vas7$ -DIM SHARED rightArrowKey$ -DIM SHARED ule7$ -DIM SHARED all7$ leftArrowKey$ = CHR$(0) + "K" rightArrowKey$ = CHR$(0) + "M" upArrowKey$ = CHR$(0) + "H" downArrowKey$ = CHR$(0) + "P" -remainingLives = 10 +LivesRemaining% = 10 SCREEN 1 currentLevelNumber = 1 REM joonist @@ -250,9 +246,9 @@ IF terrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = IF terrainGrid((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 IF terrainGrid((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 -qwer = qwer + 1: IF objectGrid((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: remainingLives = remainingLives - 1: eda = -10: all = -5: DisplayGameStatistics +qwer = qwer + 1: IF objectGrid((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: LivesRemaining% = LivesRemaining% - 1: eda = -10: all = -5: DisplayGameStatistics IF qwer > 100 THEN qwer = 50 - IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN coinCount = coinCount + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "" + IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN CoinsCollected% = CoinsCollected% + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "" IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3 IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3 IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3 @@ -291,9 +287,9 @@ a = a + eda b = b + all IF a > 297 THEN a = 2: currentLevelNumber = currentLevelNumber + 1: LoadLevel currentLevelNumber: siie = 1: siie1 = 1 IF a < 1 THEN a = 296: IF currentLevelNumber = 1 THEN LoadLevel currentLevelNumber: ELSE currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: IF graphicsMode = 2 THEN a = 594 -IF b > 179 THEN remainingLives = remainingLives - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = uks3 + 10: b = uks4: eda = 0 -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = uks1 + 10: b = uks2: eda = 0 +IF b > 179 THEN LivesRemaining% = LivesRemaining% - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics +IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = DoorExitX% + 10: b = DoorExitY%: eda = 0 +IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = DoorEntryX% + 10: b = DoorEntryY%: eda = 0 WEND a$ = kbd$: kbd$ = "" IF a$ = rightArrowKey$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5 @@ -338,9 +334,9 @@ IF terrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = IF terrainGrid((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 IF terrainGrid((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 -qwer = qwer + 1: IF objectGrid((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: remainingLives = remainingLives - 1: eda = -5: all = -3: DisplayGameStatistics +qwer = qwer + 1: IF objectGrid((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: LivesRemaining% = LivesRemaining% - 1: eda = -5: all = -3: DisplayGameStatistics IF qwer > 100 THEN qwer = 50 -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN coinCount = coinCount + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "" +IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN CoinsCollected% = CoinsCollected% + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "" IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3 IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3 IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3 @@ -379,9 +375,9 @@ a = a + eda b = b + all IF a > 594 THEN a = 2: currentLevelNumber = currentLevelNumber + 1: LoadLevel currentLevelNumber: siie = 1: siie1 = 1 IF a < 1 THEN a = 594: IF currentLevelNumber = 1 THEN LoadLevel currentLevelNumber: ELSE currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: IF graphicsMode = 1 THEN a = 297 -IF b > 358 THEN remainingLives = remainingLives - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = uks3 + 5: b = uks4: eda = 0 -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = uks1 + 5: b = uks2: eda = 0 +IF b > 358 THEN LivesRemaining% = LivesRemaining% - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics +IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = DoorExitX% + 5: b = DoorExitY%: eda = 0 +IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = DoorEntryX% + 5: b = DoorEntryY%: eda = 0 WEND a$ = kbd$: kbd$ = "" IF a$ = rightArrowKey$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5 @@ -401,11 +397,11 @@ SUB DisplayGameStatistics LOCATE 1, 1 IF graphicsMode = 2 THEN GOTO 12 PRINT " " -IF coinCount > 9 THEN coinCount = 0: remainingLives = remainingLives + 1 +IF CoinsCollected% > 9 THEN CoinsCollected% = 0: LivesRemaining% = LivesRemaining% + 1 LOCATE 1, 1 -PRINT "o "; coinCount; " Lives "; remainingLives +PRINT "o "; CoinsCollected%; " Lives "; LivesRemaining% 12 -IF remainingLives < 0 THEN END +IF LivesRemaining% < 0 THEN END END SUB SUB DrawSprite (p, o, m, fr, teler) @@ -1144,8 +1140,8 @@ IF q$ = "t" THEN PUT (D * 20, e * 20), puu, PSET IF q$ = ">" THEN PUT (D * 20, e * 20), noolt, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = ">" IF q$ = "<" THEN PUT (D * 20, e * 20), noolt1, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "<" IF q$ = "a" THEN PUT (D * 20, e * 20), auk, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "a" -IF q$ = "u" THEN PUT (D * 20, e * 20), uks, PSET: terrainGrid(D + 1, e + 1) = "u": uks1 = D * 20: uks2 = e * 20 -IF q$ = "U" THEN PUT (D * 20, e * 20), uks, PSET: terrainGrid(D + 1, e + 1) = "U": uks3 = D * 20: uks4 = e * 20 +IF q$ = "u" THEN PUT (D * 20, e * 20), uks, PSET: terrainGrid(D + 1, e + 1) = "u": DoorEntryX% = D * 20: DoorEntryY% = e * 20 +IF q$ = "U" THEN PUT (D * 20, e * 20), uks, PSET: terrainGrid(D + 1, e + 1) = "U": DoorExitX% = D * 20: DoorExitY% = e * 20 NEXT D NEXT e GOTO 123 @@ -1167,8 +1163,8 @@ IF q$ = "t" THEN PUT (D * 10, e * 10), puum, PSET IF q$ = ">" THEN PUT (D * 10, e * 10), nooltm, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = ">" IF q$ = "<" THEN PUT (D * 10, e * 10), nooltm1, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "<" IF q$ = "a" THEN PUT (D * 10, e * 10), aukm, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "a" -IF q$ = "u" THEN PUT (D * 10, e * 10), uksm, PSET: terrainGrid(D + 1, e + 1) = "u": uks1 = D * 20: uks2 = e * 20 -IF q$ = "U" THEN PUT (D * 10, e * 10), uksm, PSET: terrainGrid(D + 1, e + 1) = "U": uks3 = D * 20: uks4 = e * 20 +IF q$ = "u" THEN PUT (D * 10, e * 10), uksm, PSET: terrainGrid(D + 1, e + 1) = "u": DoorEntryX% = D * 20: DoorEntryY% = e * 20 +IF q$ = "U" THEN PUT (D * 10, e * 10), uksm, PSET: terrainGrid(D + 1, e + 1) = "U": DoorExitX% = D * 20: DoorExitY% = e * 20 NEXT D NEXT e 123 -- 2.20.1