From 11419d35c302d445153142f7b7346bbc84d16d6f Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Wed, 25 Jun 2025 19:57:31 +0300 Subject: [PATCH] Better code readability --- 2D GFX/Presentations/slides.bas | 472 ++++++++++++++++---------------- 1 file changed, 241 insertions(+), 231 deletions(-) diff --git a/2D GFX/Presentations/slides.bas b/2D GFX/Presentations/slides.bas index 89e7ec8..2502689 100755 --- a/2D GFX/Presentations/slides.bas +++ b/2D GFX/Presentations/slides.bas @@ -1,33 +1,43 @@ -' Example presentation program. Shows slides and animations. +' Example slideshow presentation. Includes animated transitions. +' By Svjatoslav Agejenko. +' Email: svjatoslav@svjatoslav.eu +' Homepage: http://www.svjatoslav.eu +' +' Changelog: +' 2001, Initial version +' 2024 - 2025, Improved program readability + + +DECLARE SUB displaySlide1 () DECLARE SUB setink (a!) DECLARE SUB inke (a$) DECLARE SUB mkjuku (x!, y!, a!, c!) DECLARE SUB pr (x!, y!, s!, c!, n!, a$) DECLARE SUB wpr () -DECLARE SUB sc7 () -DECLARE SUB sc6 () -DECLARE SUB sc5 () +DECLARE SUB displayEffect7 () +DECLARE SUB displaySlide6 () +DECLARE SUB displaySlide5 () DECLARE SUB pal4 (c, r!, g!, b!) -DECLARE SUB sc4 () +DECLARE SUB displaySlide4 () DECLARE SUB inpur () -DECLARE SUB ef5 () -DECLARE SUB sc3 () +DECLARE SUB displayEffect5 () +DECLARE SUB displaySlide3 () DECLARE SUB prin (x1!, y1!, s!, c, a$) DECLARE SUB pal3 (r!, g!, b!) DECLARE SUB mkfont () DECLARE SUB pal2 (r!, g!, b!) DECLARE SUB box1 (x1!, y1!, x2!, y2!, c!) DECLARE SUB mkback () -DECLARE SUB sc2 () +DECLARE SUB displaySlide2 () DECLARE SUB resiz () DECLARE SUB pri (x!, y!, a$, c!) DECLARE SUB deca (xs!, ys!, fx!, fy!) DECLARE SUB box (xs!, ys!) -DECLARE SUB ef4 () -DECLARE SUB ef3 () -DECLARE SUB ef2 () -DECLARE SUB ef1 () +DECLARE SUB displayEffect4 () +DECLARE SUB displayEffect3 () +DECLARE SUB displayEffect2 () +DECLARE SUB displayEffect1 () DECLARE SUB start () DECLARE SUB sc1 () DECLARE SUB pal (x!) @@ -45,21 +55,21 @@ start CLS 'GOTO 8 -sc1 -ef1 -ef2 -ef3 +displaySlide1 +displayEffect1 +displayEffect2 +displayEffect3 -ef4 -sc2 -sc4 +displayEffect4 +displaySlide2 +displaySlide4 8 -sc5 -sc6 +displaySlide5 +displaySlide6 -sc7 -sc3 -ef5 +displayEffect7 +displaySlide3 +displayEffect5 SYSTEM @@ -108,7 +118,7 @@ ys = ys - fy box xs, ys END SUB -SUB ef1 +SUB displayEffect1 pal 3 @@ -172,7 +182,7 @@ IF a$ = "" THEN GOTO 1 END SUB -SUB ef2 +SUB displayEffect2 FOR a = 1 TO 30 e = 0 @@ -210,7 +220,7 @@ NEXT a END SUB -SUB ef3 +SUB displayEffect3 SCREEN 7 SCREEN 7, , , 1 @@ -256,13 +266,13 @@ pri 11, 8, "-* A U T H O R S *-", 55 pri 10, 11, CHR$(254) + " John Doe", 55 pri 10, 13, CHR$(254) + " Jane Doe", 55 pri 10, 15, CHR$(254) + " Anonymous", 55 -pri 20, 19, "I-01 a. 2001", 55 +pri 20, 19, "year 2001", 55 inpur CLS END SUB -SUB ef4 +SUB displayEffect4 pal 2 xs = 317 ys = 185 @@ -322,7 +332,7 @@ GOTO 4 3 END SUB -SUB ef5 +SUB displayEffect5 DIM buf(1 TO 5000) FOR a = 1 TO 1000 @@ -343,6 +353,207 @@ NEXT a END SUB +SUB displayEffect7 +pal 4 +mkback + +pal2 0, 0, 32 +box1 3, 3, 300, 50, 1 + +pal4 255, 50, 50, 0 +prin 10, 10, 2, 255, "Et dolore magna" +prin 50, 30, 1, 255, "www.utenimadminim.org" + +pal3 20, 32, 63 +box1 20, 40, 290, 180, 2 + +pal4 254, 63, 45, 0 +b = 25 +prin 40, 60, 1, 254, CHR$(254) + " Ut enim ad minim veniam" +a = b +prin 40, 60 + a, 1, 254, CHR$(254) + " Quis nostrud exercitation" +a = a + b +prin 40, 60 + a, 1, 254, CHR$(254) + " Laboris nisi ut aliquip ex" +a = a + b +prin 40, 60 + a, 1, 254, CHR$(254) + " Sed ut perspiciatis unde" + +inpur + +END SUB + +SUB displaySlide1 + +pal 2 +LOCATE 1, 1 +COLOR 1 +PRINT "HEADER" + +FOR x = 0 TO 80 +FOR y = 0 TO 16 +c = POINT(x, y) +IF c > 0 THEN c1 = 50 ELSE c1 = 0 +LINE (x * 5 + 35, y * 3 + 50)-(x * 5 + 4 + 35, y * 3 + 2 + 50), c1, BF +NEXT y +NEXT x + +LOCATE 1, 1 +PRINT " " + +FOR y = 30 TO 80 +FOR x = 0 TO 319 +c = POINT(x, y) +c1 = (c1 * 1 + c) / 2 +PSET (x, y), c1 +NEXT x +NEXT y + +FOR x = 0 TO 319 +FOR y = 30 TO 80 +c = POINT(x, y) +c1 = (c1 * 1 + c) / 2 +PSET (x, y), c1 +NEXT y +NEXT x + +FOR y = 30 TO 80 +FOR x = 319 TO 0 STEP -1 +c = POINT(x, y) +c1 = (c1 * 1 + c) / 2 +PSET (x, y), c1 +NEXT x +NEXT y + +FOR x = 0 TO 319 +FOR y = 80 TO 30 STEP -1 +c = POINT(x, y) +c1 = (c1 * 1 + c) / 2 +PSET (x, y), c1 +NEXT y +NEXT x + +END SUB + +SUB displaySlide2 + +CLS +pal 4 +mkback + +pal2 40, 64, 63 +pal3 0, 0, 0 + +box1 30, 30, 290, 170, 1 + +prin 65, 50, 3, 0, "Goal:" + +prin 40, 100, 1, 0, CHR$(254) + " Random text" +prin 40, 108, 1, 0, " goes here to test" +prin 40, 116, 1, 0, " text layout." +prin 40, 130, 1, 0, CHR$(254) + " Testing 123." + +inpur + +END SUB + +SUB displaySlide3 +mkback + +pal2 64, 64, 0 +box1 30, 30, 290, 150, 1 + +prin 57, 50, 3, 0, "Thank you" +prin 45, 74, 3, 0, " for" +prin 45, 98, 3, 0, "attention" +inpur + +END SUB + +SUB displaySlide4 + +pal 4 +mkback + +pal2 0, 0, 32 +box1 3, 3, 260, 50, 1 + +pal4 255, 50, 50, 0 +prin 10, 10, 2, 255, "Random header" +prin 50, 30, 1, 255, "www.randomsite.org" + +pal3 10, 20, 0 +box1 20, 40, 290, 180, 2 + +pal4 254, 63, 45, 0 + +b = 25 +prin 40, 60, 1, 254, CHR$(254) + " Lorem ipsum dolor sit amet," +a = b +prin 40, 60 + a, 1, 254, CHR$(254) + " consectetur adipiscing elit," +a = a + b +prin 40, 60 + a, 1, 254, CHR$(254) + " sed do eiusmod" +a = a + b +prin 40, 60 + a, 1, 254, CHR$(254) + " tempor incididunt ut labore" + +inpur + +END SUB + +SUB displaySlide5 +pal 4 +mkback + +pal2 0, 0, 32 +box1 3, 3, 300, 50, 1 + +pal4 255, 50, 50, 0 +prin 10, 10, 2, 255, "Totam rem aperiam" +prin 50, 30, 1, 255, "www.randomurl.org" + +pal3 20, 32, 63 +box1 20, 40, 290, 180, 2 + +pal4 254, 63, 45, 0 +b = 25 +prin 40, 60, 1, 254, CHR$(254) + " Nemo enim ipsam voluptatem" +a = b +prin 40, 60 + a, 1, 254, CHR$(254) + " Sed quia consequuntur" +a = a + b +prin 40, 60 + a, 1, 254, CHR$(254) + " Magni dolores eos" +a = a + b +prin 40, 60 + a, 1, 254, CHR$(254) + " Qui ratione voluptatem" + +inpur + +END SUB + +SUB displaySlide6 +pal 4 +mkback + +pal2 0, 0, 32 +box1 3, 3, 300, 50, 1 + +pal4 255, 50, 50, 0 +prin 10, 10, 2, 255, "H E L L O !" +prin 50, 30, 1, 255, "www.hello.net" + +pal3 30, 20, 10 +box1 20, 40, 290, 180, 2 + +pal4 254, 63, 45, 0 +b = 25 +prin 40, 60, 1, 254, CHR$(254) + " Quis autem vel eum" +a = b +prin 40, 60 + a, 1, 254, CHR$(254) + " Iure reprehenderit qui" +a = a + b +prin 40, 60 + a, 1, 254, CHR$(254) + " In ea voluptate velit" +a = a + b +prin 40, 60 + a, 1, 254, CHR$(254) + " Esse quam nihil molestiae" + +inpur + +END SUB + SUB inke (a$) IF tim$ <> TIME$ THEN ink = ink - 1 @@ -631,207 +842,6 @@ SOUND 0, .2 IF a < 60 THEN GOTO 6 END SUB -SUB sc1 - -pal 2 -LOCATE 1, 1 -COLOR 1 -PRINT "HEADER" - -FOR x = 0 TO 80 -FOR y = 0 TO 16 -c = POINT(x, y) -IF c > 0 THEN c1 = 50 ELSE c1 = 0 -LINE (x * 5 + 35, y * 3 + 50)-(x * 5 + 4 + 35, y * 3 + 2 + 50), c1, BF -NEXT y -NEXT x - -LOCATE 1, 1 -PRINT " " - -FOR y = 30 TO 80 -FOR x = 0 TO 319 -c = POINT(x, y) -c1 = (c1 * 1 + c) / 2 -PSET (x, y), c1 -NEXT x -NEXT y - -FOR x = 0 TO 319 -FOR y = 30 TO 80 -c = POINT(x, y) -c1 = (c1 * 1 + c) / 2 -PSET (x, y), c1 -NEXT y -NEXT x - -FOR y = 30 TO 80 -FOR x = 319 TO 0 STEP -1 -c = POINT(x, y) -c1 = (c1 * 1 + c) / 2 -PSET (x, y), c1 -NEXT x -NEXT y - -FOR x = 0 TO 319 -FOR y = 80 TO 30 STEP -1 -c = POINT(x, y) -c1 = (c1 * 1 + c) / 2 -PSET (x, y), c1 -NEXT y -NEXT x - -END SUB - -SUB sc2 - -CLS -pal 4 -mkback - -pal2 40, 64, 63 -pal3 0, 0, 0 - -box1 30, 30, 290, 170, 1 - -prin 65, 50, 3, 0, "Goal:" - -prin 40, 100, 1, 0, CHR$(254) + " Random text" -prin 40, 108, 1, 0, " goes here to test" -prin 40, 116, 1, 0, " text layout." -prin 40, 130, 1, 0, CHR$(254) + " Testing 123." - -inpur - -END SUB - -SUB sc3 -mkback - -pal2 64, 64, 0 -box1 30, 30, 290, 150, 1 - -prin 57, 50, 3, 0, "Thank you" -prin 45, 74, 3, 0, " for" -prin 45, 98, 3, 0, "attention" -inpur - -END SUB - -SUB sc4 - -pal 4 -mkback - -pal2 0, 0, 32 -box1 3, 3, 260, 50, 1 - -pal4 255, 50, 50, 0 -prin 10, 10, 2, 255, "Random header" -prin 50, 30, 1, 255, "www.randomsite.org" - -pal3 10, 20, 0 -box1 20, 40, 290, 180, 2 - -pal4 254, 63, 45, 0 - -b = 25 -prin 40, 60, 1, 254, CHR$(254) + " Lorem ipsum dolor sit amet," -a = b -prin 40, 60 + a, 1, 254, CHR$(254) + " consectetur adipiscing elit," -a = a + b -prin 40, 60 + a, 1, 254, CHR$(254) + " sed do eiusmod" -a = a + b -prin 40, 60 + a, 1, 254, CHR$(254) + " tempor incididunt ut labore" - -inpur - -END SUB - -SUB sc5 -pal 4 -mkback - -pal2 0, 0, 32 -box1 3, 3, 300, 50, 1 - -pal4 255, 50, 50, 0 -prin 10, 10, 2, 255, "Totam rem aperiam" -prin 50, 30, 1, 255, "www.moditempora.org" - -pal3 20, 32, 63 -box1 20, 40, 290, 180, 2 - -pal4 254, 63, 45, 0 -b = 25 -prin 40, 60, 1, 254, CHR$(254) + " Nemo enim ipsam voluptatem" -a = b -prin 40, 60 + a, 1, 254, CHR$(254) + " Sed quia consequuntur" -a = a + b -prin 40, 60 + a, 1, 254, CHR$(254) + " Magni dolores eos" -a = a + b -prin 40, 60 + a, 1, 254, CHR$(254) + " Qui ratione voluptatem" - -inpur - -END SUB - -SUB sc6 -pal 4 -mkback - -pal2 0, 0, 32 -box1 3, 3, 300, 50, 1 - -pal4 255, 50, 50, 0 -prin 10, 10, 2, 255, "F R I S O N" -prin 50, 30, 1, 255, "www.frison.ee" - -pal3 30, 20, 10 -box1 20, 40, 290, 180, 2 - -pal4 254, 63, 45, 0 -b = 25 -prin 40, 60, 1, 254, CHR$(254) + " Quis autem vel eum" -a = b -prin 40, 60 + a, 1, 254, CHR$(254) + " Iure reprehenderit qui" -a = a + b -prin 40, 60 + a, 1, 254, CHR$(254) + " In ea voluptate velit" -a = a + b -prin 40, 60 + a, 1, 254, CHR$(254) + " Esse quam nihil molestiae" - -inpur - -END SUB - -SUB sc7 -pal 4 -mkback - -pal2 0, 0, 32 -box1 3, 3, 300, 50, 1 - -pal4 255, 50, 50, 0 -prin 10, 10, 2, 255, "Et dolore magna" -prin 50, 30, 1, 255, "www.utenimadminim.org" - -pal3 20, 32, 63 -box1 20, 40, 290, 180, 2 - -pal4 254, 63, 45, 0 -b = 25 -prin 40, 60, 1, 254, CHR$(254) + " Ut enim ad minim veniam" -a = b -prin 40, 60 + a, 1, 254, CHR$(254) + " Quis nostrud exercitation" -a = a + b -prin 40, 60 + a, 1, 254, CHR$(254) + " Laboris nisi ut aliquip ex" -a = a + b -prin 40, 60 + a, 1, 254, CHR$(254) + " Sed ut perspiciatis unde" - -inpur - -END SUB - SUB setink (a!) ink = a tim$ = TIME$ -- 2.20.1