From: Svjatoslav Agejenko Date: Mon, 24 Feb 2025 15:50:55 +0000 (+0200) Subject: Improve code readability X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=commitdiff_plain;h=bdebae0fbf760b4b24be10cee9063d884730e593;p=qbasicapps.git Improve code readability --- diff --git a/Graphics/Presentations/AI/AI demo.bas b/Graphics/Presentations/AI/AI demo.bas index c6922e9..43a24c3 100644 --- a/Graphics/Presentations/AI/AI demo.bas +++ b/Graphics/Presentations/AI/AI demo.bas @@ -1,3 +1,24 @@ +DECLARE SUB start () +DECLARE SUB sc1 () +DECLARE SUB sc2 () +DECLARE SUB sc3 () +DECLARE SUB sc4 () +DECLARE SUB sc5 () +DECLARE SUB sc6 () +DECLARE SUB sc7 () +DECLARE SUB sc8 () +DECLARE SUB sc10 () +DECLARE SUB sc9 () +DECLARE SUB box (x1!, y1!, x2!, y2!) +DECLARE SUB calc (tx1!, ty1!, tz1!, tx2!, ty2!, tz2!, tx3!, ty3!, tz3!, c!) +DECLARE SUB getan (x1!, y1!, x2!, y2!, N!) +DECLARE SUB rot (zx!, zy!, x1!, y1!, N!) +DECLARE SUB fp (x1!, y1!, x2!, y2!, x3!, y3!, c!) +DECLARE SUB InitializeFont () +DECLARE SUB inpur () +DECLARE SUB mkback () +DECLARE SUB SetPalette (r!, g!, b!, c!) +DECLARE SUB pri (x!, y!, s!, c!, a$) ' AI presentation ' made by Svjatoslav Agejenko ' in 2002 @@ -156,21 +177,20 @@ SUB getan (x1, y1, x2, y2, N) 2 END SUB -SUB getfnt -'DIM SHARED font(0 TO 7, 0 TO 7, 10 TO 200) - -pal 0, 0, 0, 70 -COLOR 70 -FOR a = 32 TO 150 - LOCATE 1, 1 - PRINT CHR$(a) - FOR y = 0 TO 7 - FOR x = 0 TO 7 - font(x, y, a) = POINT(x, y) - NEXT x - NEXT y -NEXT a - +' Subroutine to initialize font data +SUB InitializeFont + ' Capture font data into array + SetPalette 0, 0, 0, 70 + COLOR 70 + FOR a = 32 TO 150 + LOCATE 1, 1 + PRINT CHR$(a) + FOR y = 0 TO 7 + FOR x = 0 TO 7 + font(x, y, a) = POINT(x, y) + NEXT x + NEXT y + NEXT a END SUB SUB inpur @@ -181,12 +201,12 @@ END SUB DEFINT A-Z SUB mkback CLS -pal 0, 5, 5, 250 -pal 0, 5, 5, 251 -pal 0, 5, 5, 252 -pal 0, 5, 5, 253 -pal 0, 5, 5, 254 -pal 0, 5, 5, 255 +SetPalette 0, 5, 5, 250 +SetPalette 0, 5, 5, 251 +SetPalette 0, 5, 5, 252 +SetPalette 0, 5, 5, 253 +SetPalette 0, 5, 5, 254 +SetPalette 0, 5, 5, 255 FOR a = 0 TO 127 OUT &H3C8, a @@ -250,20 +270,6 @@ IF s > 2 THEN GOTO 5 END SUB DEFSNG A-Z -SUB pal (r, g, b, c) - IF r < 0 THEN r = 0 - IF g < 0 THEN g = 0 - IF b < 0 THEN b = 0 - IF r > 63 THEN r = 63 - IF g > 63 THEN g = 63 - IF b > 63 THEN b = 63 - - OUT &H3C8, c - OUT &H3C9, r - OUT &H3C9, g - OUT &H3C9, b -END SUB - SUB pri (x, y, s, c, a$) IF s = 1 THEN x2 = x @@ -276,7 +282,7 @@ SUB pri (x, y, s, c, a$) IF c1 > 0 THEN PSET (x1 + x2, y1 + y), c NEXT x1 NEXT y1 - 7 +7 x2 = x2 + 8 NEXT a END IF @@ -292,7 +298,7 @@ SUB rot (zx, zy, x1, y1, N) END SUB SUB sc1 -pal 0, 63, 20, 255 +SetPalette 0, 63, 20, 255 DIM px(0 TO 1000) DIM py(0 TO 1000) DIM pz(0 TO 1000) @@ -325,7 +331,7 @@ inco = 0 inpo = 0 nlt = 0 -pal 40, 40, 40, 254 +SetPalette 40, 40, 40, 254 COLOR 254 LOCATE 2, 11 PRINT "�ks hetk" @@ -446,7 +452,7 @@ mkback box 30, 50, 250, 180 -pal 32, 64, 32, 250 +SetPalette 32, 64, 32, 250 y = -8 pri 30, 70 + y, 1, 250, " Kasutatud kirjandus:" y = y + 20 @@ -469,7 +475,7 @@ inpur END SUB SUB sc2 -pal 0, 63, 20, 255 +SetPalette 0, 63, 20, 255 CLS angl1 = 0 angl2 = 1.5 @@ -534,11 +540,11 @@ FOR a = 0 TO np NEXT a 'FOR a = 1 TO 63 -'pal COS(a / 9) * 30 + 30, SIN(a / 5) * 30 + 30, SIN(a / 13) * 30 + 30, a +'SetPalette COS(a / 9) * 30 + 30, SIN(a / 5) * 30 + 30, SIN(a / 13) * 30 + 30, a 'NEXT a FOR a = 1 TO 49 - pal a * 1.1 + 20, a * 1.1 + 10, a * 1.1, a + SetPalette a * 1.1 + 20, a * 1.1 + 10, a * 1.1, a NEXT a DIM polz(1 TO nl) @@ -590,7 +596,7 @@ FOR y = 0 TO 30 PUT (x, 1), buf(1), PSET NEXT x FOR a = 1 TO 49 - pal a * 1.1 + (20 - y), a * 1.1 + 10 + (y / 1.5), a * 1.1, a + SetPalette a * 1.1 + (20 - y), a * 1.1 + 10 + (y / 1.5), a * 1.1, a NEXT a SOUND 0, 1 LINE (160 - buf1(y), 20)-(160 + buf1(y), 20), 255 @@ -598,9 +604,9 @@ NEXT y LOCATE 1, 1 COLOR 254 -pal 0, 0, 0, 254 +SetPalette 0, 0, 0, 254 PRINT "Tehisintellekt" -pal 63, 0, 0, 253 +SetPalette 63, 0, 0, 253 FOR y = 0 TO 8 FOR x = 0 TO 120 c = POINT(x, y) @@ -624,7 +630,7 @@ FOR a = 1 TO 10 NEXT a COLOR 253 -pal 0, 0, 0, 253 +SetPalette 0, 0, 0, 253 LOCATE 1 PRINT " autor: Svjatoslav Agejenko 30.09.2001 " GET (0, 0)-(319, 8), buf(1) @@ -632,7 +638,7 @@ LOCATE 1 PRINT " " PUT (0, 190), buf(1), PSET FOR a = 1 TO 32 - pal 0, a, a * 2, 253 + SetPalette 0, a, a * 2, 253 SOUND 0, 1 NEXT a inpur @@ -644,7 +650,7 @@ mkback box 30, 50, 290, 150 -pal 32, 64, 32, 250 +SetPalette 32, 64, 32, 250 y = 0 pri 30, 70 + y, 1, 250, " Spatial vision" y = y + 16 @@ -663,7 +669,7 @@ mkback box 30, 50, 290, 150 -pal 32, 64, 32, 250 +SetPalette 32, 64, 32, 250 y = -8 pri 30, 70 + y, 1, 250, "Tunnuste ekstraheerimise protsess" y = y + 20 @@ -686,7 +692,7 @@ mkback box 30, 50, 290, 150 -pal 32, 64, 32, 250 +SetPalette 32, 64, 32, 250 y = -8 pri 30, 70 + y, 1, 250, "* Depth extraction" y = y + 20 @@ -700,7 +706,7 @@ inpur END SUB SUB sc7 -pal 0, 0, 0, 0 +SetPalette 0, 0, 0, 0 FOR a = 0 TO 19 FOR y = a TO 199 STEP 20 LINE (0, y)-(319, y), 0 @@ -712,7 +718,7 @@ END SUB SUB sc8 FOR a = 1 TO 50 - pal 0, 0, 0, a + SetPalette 0, 0, 0, a NEXT a DIM px(0 TO 800) @@ -808,11 +814,11 @@ NEXT z LINE (0, 0)-(319, 199), 0, BF -pal 0, 0, 0, 0 -pal 0, 40, 10, 1 -pal 0, 32, 64, 2 -pal 50, 50, 0, 3 -pal 64, 20, 0, 4 +SetPalette 0, 0, 0, 0 +SetPalette 0, 40, 10, 1 +SetPalette 0, 32, 64, 2 +SetPalette 50, 50, 0, 3 +SetPalette 64, 20, 0, 4 mx = 200 mz = 200 @@ -1056,17 +1062,35 @@ mkback box 30, 50, 290, 80 -pal 32, 64, 32, 250 +SetPalette 32, 64, 32, 250 y = -8 pri 30, 70 + y, 1, 250, " T�nan t�helepanu eest" inpur END SUB +' Subroutine to set color palette +SUB SetPalette (r, g, b, c) + ' Ensure color values are within valid range + IF r < 0 THEN r = 0 + IF g < 0 THEN g = 0 + IF b < 0 THEN b = 0 + IF r > 63 THEN r = 63 + IF g > 63 THEN g = 63 + IF b > 63 THEN b = 63 + + ' Set palette color + OUT &H3C8, c + OUT &H3C9, r + OUT &H3C9, g + OUT &H3C9, b +END SUB + SUB start SCREEN 13 pi = 3.141592 pii = pi fac = 360 / (pi * 2) -getfnt +InitializeFont END SUB +