#bbcmicrobot — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #bbcmicrobot, aggregated by home.social.
-
CW: BBC BASIC - Eclipse
MO.1
V.5
F.I=0TO3E4
X=RND(1)*2-1
Y=RND(1)*2-1
R=X*X+Y*Y
IFR>1G.40
u=X-0.1
v=Y-0.3
m=u*u+v*v
IFm<1G.40
ox=RND(1)*2-1
oy=RND(1)*2-1
l=SQR(ox*ox+oy*oy)
ox=ox*l
oy=oy*l
d=RND(1)
d=LOG(d)*0.3
d=d/l
u=X+ox*d
v=Y+oy*d
s=640+u*350:t=512+v*350
p=POINT(s,t)
IFp<3:GCOL0,p+1:PLOT69,s,t
N.
REPEATUNTILFALSE
#BBCMicroBot 🚀 -
CW: BBC BASIC - Eclipse
MO.1
V.5
F.I=0TO3E4
X=RND(1)*2-1
Y=RND(1)*2-1
R=X*X+Y*Y
IFR>1G.40
u=X-0.1
v=Y-0.3
m=u*u+v*v
IFm<1G.40
ox=RND(1)*2-1
oy=RND(1)*2-1
l=SQR(ox*ox+oy*oy)
ox=ox*l
oy=oy*l
d=RND(1)
d=LOG(d)*0.3
d=d/l
u=X+ox*d
v=Y+oy*d
s=640+u*350:t=512+v*350
p=POINT(s,t)
IFp<3:GCOL0,p+1:PLOT69,s,t
N.
REPEATUNTILFALSE
#BBCMicroBot 🚀 -
#bbcmicrobot @geoffl
REM At least with animation via palette changes, the animation step is going to be much less than one vsync, so if we use INKEY and *FX19 we can just calculate the time to wait.
REM We get a vsync every 2cs, so by using INKEY to wait 1cs less than the cycle time the *FX19 will reliably wait for the right vsync - e.g. here we have 15 frames, each shown for 10cs, which gives 2 full cycles in 3s:
MO.2:V.29,640;512;5:F=RAD24:F.C%=1TO15:GC.0,C%:MOVESIN(F*C%)*400,COS(F*C%)*400:PL.&99,0,80:N.:REP.F.C%=1TO15:IFINKEY9OS."FX19":V.19,C%MOD15+1,7;0;19,C%;0;0:N.:U.0 -
#bbcmicrobot @geoffl
REM At least with animation via palette changes, the animation step is going to be much less than one vsync, so if we use INKEY and *FX19 we can just calculate the time to wait.
REM We get a vsync every 2cs, so by using INKEY to wait 1cs less than the cycle time the *FX19 will reliably wait for the right vsync - e.g. here we have 15 frames, each shown for 10cs, which gives 2 full cycles in 3s:
MO.2:V.29,640;512;5:F=RAD24:F.C%=1TO15:GC.0,C%:MOVESIN(F*C%)*400,COS(F*C%)*400:PL.&99,0,80:N.:REP.F.C%=1TO15:IFINKEY9OS."FX19":V.19,C%MOD15+1,7;0;19,C%;0;0:N.:U.0 -
CW: (°-°) Please Work
#bbcmicrobot
MODE2:COLOUR129:CLS:GCOL0,3
DIMX(7),Y(7),E(11,1)
FORI=0TO7:X(I)=640+200*COS(I*PI/4):Y(I)=512+200*SIN(I*PI/4):NEXT
FORJ=0TO11:READ E(J,0),E(J,1):NEXT
DATA0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,0,0,4,1,5,2,6,3,7
REPEAT:CLS:A=A+0.05
FORI=0TO7:X(I)=640+200*COS(I*PI/4+A):Y(I)=512+200*SIN(I*PI/4+A):NEXT
FORI=0TO11:MOVEX(E(I,0)),Y(E(I,0)):DRAWX(E(I,1)),Y(E(I,1)):NEXT
TIME=0:UNTIL0 -
CW: 3 month teletext calendar - now with support for the Julian calendar!
#bbcmicrobot Y=1752:M=9:D=14
!-506=11:@%=2:V.28,18,24,38;29
F.Q=M-2TOM:m=(Q+12)MOD12+1:y=Y-(Q>11)+(Q<0):P.''SPC6CHR$130M."HIJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",m*3,3)" "y'CHR$134" S M T W T F S"SPC(FND(Y,m,1)*3);:F.d=1TOASCM."(%('('(('('(",m)-9-(FND(y,m,30)=FND(y,m+1,1)):V.135EOR6A.m=M A.d=D:P.d;:d=d-11*(d=2A.m=9A.y=1752):N.,:V.1
DEFFND(Y,M,D)Y=Y+(M<3):=(D+Y+ASCM."143614625735",M)-(3A.Y+M DIV10<1753)+Y DIV4-Y DIV100+Y DIV400)MOD7 -
CW: 3 month teletext calendar - now with support for the Julian calendar!
#bbcmicrobot Y=1752:M=9:D=14
!-506=11:@%=2:V.28,18,24,38;29
F.Q=M-2TOM:m=(Q+12)MOD12+1:y=Y-(Q>11)+(Q<0):P.''SPC6CHR$130M."HIJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",m*3,3)" "y'CHR$134" S M T W T F S"SPC(FND(Y,m,1)*3);:F.d=1TOASCM."(%('('(('('(",m)-9-(FND(y,m,30)=FND(y,m+1,1)):V.135EOR6A.m=M A.d=D:P.d;:d=d-11*(d=2A.m=9A.y=1752):N.,:V.1
DEFFND(Y,M,D)Y=Y+(M<3):=(D+Y+ASCM."143614625735",M)-(3A.Y+M DIV10<1753)+Y DIV4-Y DIV100+Y DIV400)MOD7 -
CW: Fully-working 3-month calendar view (and in MODE7, of course)
#bbcmicrobot
@RLabibov
Y=2026:M=7:D=30
!-506=11:V.28,18,24,38;29:@%=2:F.Q=M-2TOM:m=(Q+12)MOD12+1:y=Y-(Q>11)+(Q<0):P.''SPC6CHR$130M."HIJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",m*3,3)" "y'CHR$134" S M T W T F S"SPC(FND(Y,m,1)*3);:F.d=1TOASCM."(%('('(('('(",m)-9-(FND(y,m,30)=FND(y,m+1,1)):V.135EOR6A.m=M A.d=D:P.d;:N.,:V.1
DEFFND(Y,M,D)Y=Y+(M<3):=(D+Y+ASCM."143614625735",M)+Y DIV4-Y DIV100+Y DIV400)MOD7 -
CW: Fully-working 3-month calendar view (and in MODE7, of course)
#bbcmicrobot
@RLabibov
Y=2026:M=7:D=30
!-506=11:V.28,18,24,38;29:@%=2:F.Q=M-2TOM:m=(Q+12)MOD12+1:y=Y-(Q>11)+(Q<0):P.''SPC6CHR$130M."HIJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",m*3,3)" "y'CHR$134" S M T W T F S"SPC(FND(Y,m,1)*3);:F.d=1TOASCM."(%('('(('('(",m)-9-(FND(y,m,30)=FND(y,m+1,1)):V.135EOR6A.m=M A.d=D:P.d;:N.,:V.1
DEFFND(Y,M,D)Y=Y+(M<3):=(D+Y+ASCM."143614625735",M)+Y DIV4-Y DIV100+Y DIV400)MOD7 -
CW: Scrolling Herringbone
#bbcmicrobot @cs99cjb
ë4:B%=2558:S%=-247:ï19;3;0;275;0;0;-233;1,2,4,8,16,32,64,128,-489;128,64,32,16,8,4,2,1:ñ:õÿ"FX19":ïS%;S%;B%;-2;S%;S%;B%;-2;S%;S%;B%;-2;S%;S%;B%;-2;S%;S%;B%;-2;:ç¦9ÿ"FX19":ï-1,S%;B%;B%;-2;S%;B%;B%;-2;S%;B%;B%;-2;S%;B%;B%;-2;S%;B%;B%;-2:ý¬¦9 -
CW: Scrolling Herringbone
#bbcmicrobot @cs99cjb
ë4:B%=2558:S%=-247:ï19;3;0;275;0;0;-233;1,2,4,8,16,32,64,128,-489;128,64,32,16,8,4,2,1:ñ:õÿ"FX19":ïS%;S%;B%;-2;S%;S%;B%;-2;S%;S%;B%;-2;S%;S%;B%;-2;S%;S%;B%;-2;:ç¦9ÿ"FX19":ï-1,S%;B%;B%;-2;S%;B%;B%;-2;S%;B%;B%;-2;S%;B%;B%;-2;S%;B%;B%;-2:ý¬¦9 -
@losttourist #bbcmicrobot P."Not the bot you are thinking of"
-
@losttourist #bbcmicrobot P."Not the bot you are thinking of"
-
CW: Happy tree best version
@bbcmicrobot #bbcmicrobot 🚀
ë1:ï19,2,2,0;0,19,3,4,0;0,5
v=.5:æ0,³(-13):Ú:æ0,2
ãx=0¸1280 ƈ4
ìx,120+µ(x/319)*50:ßx,0
í
òb(677,0,40,1.6)
à
Ýòb(x,y,s,a)çs<1á
ên,m,S
çs>=2çs<6ç³(1)<5òb(x,y,1.9,a+¤v(.2))
S=s*2+³(1)*s*3.7
çs<2c=2:S=S*3:y=y-7*s:Ƌc=1
n=x+S*ƛa
m=y+S*µa
æ0,c:òs(s+1,.5):æ0,0:òs(s,3)
ç³(1)<v òb(n,m,s/1.3,a-v):òb(n,m,s/1.3,a+v):á
x=n:y=m:a=a+¤v(.1):s=s*.9
çs>=1å100
á
Ýòs(s,k)ãq=0¸s ƈk
A=q/s*¯*2
ìx+s*ƛA,y+s*µA
ßn+s*ƛA,m+s*µA
í
á
ݤv(x)=(³(1)-v)*x -
CW: Happy tree best version
@bbcmicrobot #bbcmicrobot 🚀
ë1:ï19,2,2,0;0,19,3,4,0;0,5
v=.5:æ0,³(-13):Ú:æ0,2
ãx=0¸1280 ƈ4
ìx,120+µ(x/319)*50:ßx,0
í
òb(677,0,40,1.6)
à
Ýòb(x,y,s,a)çs<1á
ên,m,S
çs>=2çs<6ç³(1)<5òb(x,y,1.9,a+¤v(.2))
S=s*2+³(1)*s*3.7
çs<2c=2:S=S*3:y=y-7*s:Ƌc=1
n=x+S*ƛa
m=y+S*µa
æ0,c:òs(s+1,.5):æ0,0:òs(s,3)
ç³(1)<v òb(n,m,s/1.3,a-v):òb(n,m,s/1.3,a+v):á
x=n:y=m:a=a+¤v(.1):s=s*.9
çs>=1å100
á
Ýòs(s,k)ãq=0¸s ƈk
A=q/s*¯*2
ìx+s*ƛA,y+s*µA
ßn+s*ƛA,m+s*µA
í
á
ݤv(x)=(³(1)-v)*x -
CW: Happy tree (better leaves)
@bbcmicrobot #bbcmicrobot 🚀
ë1:ï19,2,2,0;0,19,3,4,0;0,5
v=.5:æ0,³(-13):Ú:æ0,2
ãx=0¸1280 ƈ4
ìx,120+µ(x/319)*50:ßx,0
í
òb(677,0,40,1.6)
à
Ýòb(x,y,s,a)çs<1á
ên,m,S
çs>=2çs<6ç³(1)<5òb(x,y,1.9,a+¤v(.2))
S=s*2+³(1)*s*3.7
çs<2c=2:S=S*3:y=y-7*s:Ƌc=1
n=x+S*ƛa
m=y+S*µa
æ0,0:òs(s+1,.5):æ0,c:òs(s,3)
ç³(1)<v òb(n,m,s/1.3,a-v):òb(n,m,s/1.3,a+v):á
x=n:y=m:a=a+¤v(.1):s=s*.9
çs>=1å100
á
Ýòs(s,k)ãq=0¸s ƈk
A=q/s*¯*2
ìx+s*ƛA,y+s*µA
ßn+s*ƛA,m+s*µA
í
á
ݤv(x)=(³(1)-v)*x -
CW: Happy tree (better leaves)
@bbcmicrobot #bbcmicrobot 🚀
ë1:ï19,2,2,0;0,19,3,4,0;0,5
v=.5:æ0,³(-13):Ú:æ0,2
ãx=0¸1280 ƈ4
ìx,120+µ(x/319)*50:ßx,0
í
òb(677,0,40,1.6)
à
Ýòb(x,y,s,a)çs<1á
ên,m,S
çs>=2çs<6ç³(1)<5òb(x,y,1.9,a+¤v(.2))
S=s*2+³(1)*s*3.7
çs<2c=2:S=S*3:y=y-7*s:Ƌc=1
n=x+S*ƛa
m=y+S*µa
æ0,0:òs(s+1,.5):æ0,c:òs(s,3)
ç³(1)<v òb(n,m,s/1.3,a-v):òb(n,m,s/1.3,a+v):á
x=n:y=m:a=a+¤v(.1):s=s*.9
çs>=1å100
á
Ýòs(s,k)ãq=0¸s ƈk
A=q/s*¯*2
ìx+s*ƛA,y+s*µA
ßn+s*ƛA,m+s*µA
í
á
ݤv(x)=(³(1)-v)*x -
CW: Happy tree
@bbcmicrobot
#bbcmicrobot 🚀
ë1:ï19,2,2,0;0,19,3,4,0;0,5
v=.5:æ0,³(-13):Ú:æ0,2
ãx=0¸1280 ƈ4
ìx,120+µ(x/319)*50:ßx,0
í
òb(677,0,40,1.6)
à
Ýòb(x,y,s,a)çs<1á
ên,m,S
çs>=2çs<6ç³(1)<5òb(x,y,1.9,a+¤v(.2))
S=s*2+³(1)*s*3.7
çs<2c=2:S=S*3Ƌc=1
n=x+S*ƛa
m=y+S*µa
æ0,0:òs(s+1,.5):æ0,c:òs(s,3)
ç³(1)<v òb(n,m,s/1.3,a-v):òb(n,m,s/1.3,a+v):á
x=n:y=m:a=a+¤v(.1):s=s*.9
çs>=1å100
á
Ýòs(s,k)ãq=0¸s ƈk
A=q/s*¯*2
ìx+s*ƛA,y+s*µA
ßn+s*ƛA,m+s*µA
í
á
ݤv(x)=(³(1)-v)*x -
CW: Happy tree
@bbcmicrobot
#bbcmicrobot 🚀
ë1:ï19,2,2,0;0,19,3,4,0;0,5
v=.5:æ0,³(-13):Ú:æ0,2
ãx=0¸1280 ƈ4
ìx,120+µ(x/319)*50:ßx,0
í
òb(677,0,40,1.6)
à
Ýòb(x,y,s,a)çs<1á
ên,m,S
çs>=2çs<6ç³(1)<5òb(x,y,1.9,a+¤v(.2))
S=s*2+³(1)*s*3.7
çs<2c=2:S=S*3Ƌc=1
n=x+S*ƛa
m=y+S*µa
æ0,0:òs(s+1,.5):æ0,c:òs(s,3)
ç³(1)<v òb(n,m,s/1.3,a-v):òb(n,m,s/1.3,a+v):á
x=n:y=m:a=a+¤v(.1):s=s*.9
çs>=1å100
á
Ýòs(s,k)ãq=0¸s ƈk
A=q/s*¯*2
ìx+s*ƛA,y+s*µA
ßn+s*ƛA,m+s*µA
í
á
ݤv(x)=(³(1)-v)*x -
@bbcmicrobot
#bbcmicrobot 🚀
ë2:ç³(-4)
v=.5:æ0,-12:Ú:æ0,2
ãx=0¸1280
ìx,120+µ(x*.005)*50:ßx,0
í
òb(640,0,40,1.6)
à
Ýòb(x,y,s,a)çs<1á
êx2,y2,S
çs>=2çs<6ç³(1)<5òb(x,y,1.9,a+¤v(.2))
çs<2c=2Ƌc=1
S=s*2+³(1)*s*2.7
çs<2S=S*3
x2=x+S*ƛa
y2=y+S*µa
æ0,0:òs(s+1):æ0,c:òs(s)
ç³(1)<v òb(x2,y2,s/1.3,a-v):òb(x2,y2,s/1.3,a+v):á
x=x2:y=y2:a=a+¤v(.1):s=s*.9
çs>=1å100
á
Ýòs(s)ãq=0¸s ƈ2
A=q/s*¯*2
ìx+s*ƛA,y+s*µA
ßx2+s*ƛA,y2+s*µA
í
á
ݤv(x)=(³(1)-v)*x -
@bbcmicrobot
#bbcmicrobot 🚀
ë2:ç³(-4)
v=.5:æ0,-12:Ú:æ0,2
ãx=0¸1280
ìx,120+µ(x*.005)*50:ßx,0
í
òb(640,0,40,1.6)
à
Ýòb(x,y,s,a)çs<1á
êx2,y2,S
çs>=2çs<6ç³(1)<5òb(x,y,1.9,a+¤v(.2))
çs<2c=2Ƌc=1
S=s*2+³(1)*s*2.7
çs<2S=S*3
x2=x+S*ƛa
y2=y+S*µa
æ0,0:òs(s+1):æ0,c:òs(s)
ç³(1)<v òb(x2,y2,s/1.3,a-v):òb(x2,y2,s/1.3,a+v):á
x=x2:y=y2:a=a+¤v(.1):s=s*.9
çs>=1å100
á
Ýòs(s)ãq=0¸s ƈ2
A=q/s*¯*2
ìx+s*ƛA,y+s*µA
ßx2+s*ƛA,y2+s*µA
í
á
ݤv(x)=(³(1)-v)*x