+DECLARE SUB start ()\r
+DECLARE SUB sc1 ()\r
+DECLARE SUB sc2 ()\r
+DECLARE SUB sc3 ()\r
+DECLARE SUB sc4 ()\r
+DECLARE SUB sc5 ()\r
+DECLARE SUB sc6 ()\r
+DECLARE SUB sc7 ()\r
+DECLARE SUB sc8 ()\r
+DECLARE SUB sc10 ()\r
+DECLARE SUB sc9 ()\r
+DECLARE SUB box (x1!, y1!, x2!, y2!)\r
+DECLARE SUB calc (tx1!, ty1!, tz1!, tx2!, ty2!, tz2!, tx3!, ty3!, tz3!, c!)\r
+DECLARE SUB getan (x1!, y1!, x2!, y2!, N!)\r
+DECLARE SUB rot (zx!, zy!, x1!, y1!, N!)\r
+DECLARE SUB fp (x1!, y1!, x2!, y2!, x3!, y3!, c!)\r
+DECLARE SUB InitializeFont ()\r
+DECLARE SUB inpur ()\r
+DECLARE SUB mkback ()\r
+DECLARE SUB SetPalette (r!, g!, b!, c!)\r
+DECLARE SUB pri (x!, y!, s!, c!, a$)\r
' AI presentation\r
' made by Svjatoslav Agejenko\r
' in 2002\r
2\r
END SUB\r
\r
-SUB getfnt\r
-'DIM SHARED font(0 TO 7, 0 TO 7, 10 TO 200)\r
-\r
-pal 0, 0, 0, 70\r
-COLOR 70\r
-FOR a = 32 TO 150\r
- LOCATE 1, 1\r
- PRINT CHR$(a)\r
- FOR y = 0 TO 7\r
- FOR x = 0 TO 7\r
- font(x, y, a) = POINT(x, y)\r
- NEXT x\r
- NEXT y\r
-NEXT a\r
-\r
+' Subroutine to initialize font data\r
+SUB InitializeFont\r
+ ' Capture font data into array\r
+ SetPalette 0, 0, 0, 70\r
+ COLOR 70\r
+ FOR a = 32 TO 150\r
+ LOCATE 1, 1\r
+ PRINT CHR$(a)\r
+ FOR y = 0 TO 7\r
+ FOR x = 0 TO 7\r
+ font(x, y, a) = POINT(x, y)\r
+ NEXT x\r
+ NEXT y\r
+ NEXT a\r
END SUB\r
\r
SUB inpur\r
DEFINT A-Z\r
SUB mkback\r
CLS\r
-pal 0, 5, 5, 250\r
-pal 0, 5, 5, 251\r
-pal 0, 5, 5, 252\r
-pal 0, 5, 5, 253\r
-pal 0, 5, 5, 254\r
-pal 0, 5, 5, 255\r
+SetPalette 0, 5, 5, 250\r
+SetPalette 0, 5, 5, 251\r
+SetPalette 0, 5, 5, 252\r
+SetPalette 0, 5, 5, 253\r
+SetPalette 0, 5, 5, 254\r
+SetPalette 0, 5, 5, 255\r
\r
FOR a = 0 TO 127\r
OUT &H3C8, a\r
END SUB\r
\r
DEFSNG A-Z\r
-SUB pal (r, g, b, c)\r
- IF r < 0 THEN r = 0\r
- IF g < 0 THEN g = 0\r
- IF b < 0 THEN b = 0\r
- IF r > 63 THEN r = 63\r
- IF g > 63 THEN g = 63\r
- IF b > 63 THEN b = 63\r
-\r
- OUT &H3C8, c\r
- OUT &H3C9, r\r
- OUT &H3C9, g\r
- OUT &H3C9, b\r
-END SUB\r
-\r
SUB pri (x, y, s, c, a$)\r
IF s = 1 THEN\r
x2 = x\r
IF c1 > 0 THEN PSET (x1 + x2, y1 + y), c\r
NEXT x1\r
NEXT y1\r
- 7\r
+7\r
x2 = x2 + 8\r
NEXT a\r
END IF\r
END SUB\r
\r
SUB sc1\r
-pal 0, 63, 20, 255\r
+SetPalette 0, 63, 20, 255\r
DIM px(0 TO 1000)\r
DIM py(0 TO 1000)\r
DIM pz(0 TO 1000)\r
inpo = 0\r
nlt = 0\r
\r
-pal 40, 40, 40, 254\r
+SetPalette 40, 40, 40, 254\r
COLOR 254\r
LOCATE 2, 11\r
PRINT "�ks hetk"\r
\r
box 30, 50, 250, 180\r
\r
-pal 32, 64, 32, 250\r
+SetPalette 32, 64, 32, 250\r
y = -8\r
pri 30, 70 + y, 1, 250, " Kasutatud kirjandus:"\r
y = y + 20\r
END SUB\r
\r
SUB sc2\r
-pal 0, 63, 20, 255\r
+SetPalette 0, 63, 20, 255\r
CLS\r
angl1 = 0\r
angl2 = 1.5\r
NEXT a\r
\r
'FOR a = 1 TO 63\r
-'pal COS(a / 9) * 30 + 30, SIN(a / 5) * 30 + 30, SIN(a / 13) * 30 + 30, a\r
+'SetPalette COS(a / 9) * 30 + 30, SIN(a / 5) * 30 + 30, SIN(a / 13) * 30 + 30, a\r
'NEXT a\r
\r
FOR a = 1 TO 49\r
- pal a * 1.1 + 20, a * 1.1 + 10, a * 1.1, a\r
+ SetPalette a * 1.1 + 20, a * 1.1 + 10, a * 1.1, a\r
NEXT a\r
\r
DIM polz(1 TO nl)\r
PUT (x, 1), buf(1), PSET\r
NEXT x\r
FOR a = 1 TO 49\r
- pal a * 1.1 + (20 - y), a * 1.1 + 10 + (y / 1.5), a * 1.1, a\r
+ SetPalette a * 1.1 + (20 - y), a * 1.1 + 10 + (y / 1.5), a * 1.1, a\r
NEXT a\r
SOUND 0, 1\r
LINE (160 - buf1(y), 20)-(160 + buf1(y), 20), 255\r
\r
LOCATE 1, 1\r
COLOR 254\r
-pal 0, 0, 0, 254\r
+SetPalette 0, 0, 0, 254\r
PRINT "Tehisintellekt"\r
-pal 63, 0, 0, 253\r
+SetPalette 63, 0, 0, 253\r
FOR y = 0 TO 8\r
FOR x = 0 TO 120\r
c = POINT(x, y)\r
NEXT a\r
\r
COLOR 253\r
-pal 0, 0, 0, 253\r
+SetPalette 0, 0, 0, 253\r
LOCATE 1\r
PRINT " autor: Svjatoslav Agejenko 30.09.2001 "\r
GET (0, 0)-(319, 8), buf(1)\r
PRINT " "\r
PUT (0, 190), buf(1), PSET\r
FOR a = 1 TO 32\r
- pal 0, a, a * 2, 253\r
+ SetPalette 0, a, a * 2, 253\r
SOUND 0, 1\r
NEXT a\r
inpur\r
\r
box 30, 50, 290, 150\r
\r
-pal 32, 64, 32, 250\r
+SetPalette 32, 64, 32, 250\r
y = 0\r
pri 30, 70 + y, 1, 250, " Spatial vision"\r
y = y + 16\r
\r
box 30, 50, 290, 150\r
\r
-pal 32, 64, 32, 250\r
+SetPalette 32, 64, 32, 250\r
y = -8\r
pri 30, 70 + y, 1, 250, "Tunnuste ekstraheerimise protsess"\r
y = y + 20\r
\r
box 30, 50, 290, 150\r
\r
-pal 32, 64, 32, 250\r
+SetPalette 32, 64, 32, 250\r
y = -8\r
pri 30, 70 + y, 1, 250, "* Depth extraction"\r
y = y + 20\r
END SUB\r
\r
SUB sc7\r
-pal 0, 0, 0, 0\r
+SetPalette 0, 0, 0, 0\r
FOR a = 0 TO 19\r
FOR y = a TO 199 STEP 20\r
LINE (0, y)-(319, y), 0\r
\r
SUB sc8\r
FOR a = 1 TO 50\r
- pal 0, 0, 0, a\r
+ SetPalette 0, 0, 0, a\r
NEXT a\r
\r
DIM px(0 TO 800)\r
\r
LINE (0, 0)-(319, 199), 0, BF\r
\r
-pal 0, 0, 0, 0\r
-pal 0, 40, 10, 1\r
-pal 0, 32, 64, 2\r
-pal 50, 50, 0, 3\r
-pal 64, 20, 0, 4\r
+SetPalette 0, 0, 0, 0\r
+SetPalette 0, 40, 10, 1\r
+SetPalette 0, 32, 64, 2\r
+SetPalette 50, 50, 0, 3\r
+SetPalette 64, 20, 0, 4\r
\r
mx = 200\r
mz = 200\r
\r
box 30, 50, 290, 80\r
\r
-pal 32, 64, 32, 250\r
+SetPalette 32, 64, 32, 250\r
y = -8\r
pri 30, 70 + y, 1, 250, " T�nan t�helepanu eest"\r
inpur\r
\r
END SUB\r
\r
+' Subroutine to set color palette\r
+SUB SetPalette (r, g, b, c)\r
+ ' Ensure color values are within valid range\r
+ IF r < 0 THEN r = 0\r
+ IF g < 0 THEN g = 0\r
+ IF b < 0 THEN b = 0\r
+ IF r > 63 THEN r = 63\r
+ IF g > 63 THEN g = 63\r
+ IF b > 63 THEN b = 63\r
+\r
+ ' Set palette color\r
+ OUT &H3C8, c\r
+ OUT &H3C9, r\r
+ OUT &H3C9, g\r
+ OUT &H3C9, b\r
+END SUB\r
+\r
SUB start\r
SCREEN 13\r
pi = 3.141592\r
pii = pi\r
fac = 360 / (pi * 2)\r
-getfnt\r
+InitializeFont\r
END SUB\r
+\r