Siema Sikor. Zamiast się smucić może wyjdziesz ze swojej strefy komfortu i spróbujesz Mad-Pascala? :D
Na zachętę przepisałem Twój program z poprzedniej edycji z Basica do Mad-Pascala:
ORYGINAŁ
0 GRAPHICS 31:COLOR 5:X=40:Y=100:PLOT X,Y
1 A=INT(RND(0)*2):B=INT(RND(0)*2):C=INT(RND(0)*16)
2 IF A=0 THEN A=-1
3 IF B=0 THEN B=-1
4 X=X+A:Y=Y+B:IF X>79 THEN X=79
5 IF X<0 THEN X=0:IF Y<0 THEN Y=0
6 IF Y>191 THEN Y=191
7 COLOR C:PLOT X,Y:COLOR 15-C:PLOT 79-X,191-Y
8 COLOR C:PLOT X,191-Y:COLOR 15-C:PLOT 79-X,Y
9 COLOR C:PLOT 80+X,Y:COLOR 15-C:PLOT 159-X,191-Y
10 COLOR C:PLOT 80+X,191-Y:COLOR 15-C:PLOT 159-X,Y
15 IF PEEK(53279)<>6 THEN 1
KOPIA
program nice;
uses graph;
var x,y,c,a,b:SmallInt;
begin
InitGraph(31);
SetColor(5);
x:=40;
y:=100;
PutPixel(x,y);
repeat
a:=Random(2);
b:=Random(2);
c:=Random(16);
if a=0 then a:=-1;
if b=0 then b:=-1;
x:=x+a;
y:=y+b;
if x>79 then x:=79;
if x<0 then x:=0;
if y<0 then y:=0;
if y>191 then y:=191;
SetColor(c);
PutPixel(x,y);
PutPixel(x,191-y);
PutPixel(80+x,y);
PutPixel(80+x,191-y);
SetColor(15-c);
PutPixel(79-x,191-y);
PutPixel(79-x,y);
PutPixel(159-x,191-y);
PutPixel(159-x,y);
until Peek(53279)=6;
end.
Kod wynikowy z Mad-Pascala ma 1585 bajtów, czyli nawet nie 25% konkursowego limitu i działa kilkukrotnie szybciej. A sam zobacz, że wcale się tak bardzo nie różni :)
Mój kolega kiedyś powiedział:
"Każdy dzień w którym nie uczymy się niczego nowego jest tylko starzeniem się".
Chętnie pomogę jak będziesz miał jakiekolwiek pytania.