home.social

#bbcmicrobot — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #bbcmicrobot, aggregated by home.social.

fetched live
  1. 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 🚀

  2. 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 🚀

  3. #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

  4. #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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. @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

  19. @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