DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC759 "Piccoline"

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC759 "Piccoline"

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦4e1bdc177⟧ TextFile

    Length: 2176 (0x880)
    Types: TextFile
    Names: »ARKADE«

Derivation

└─⟦eca9022c5⟧ Bits:30002661 Datalære sådan - løsningsdiskette
    └─ ⟦this⟧ »ARKADE« 

TextFile

0010 OPEN GRAPHICS 1
0020 DIM a$ OF 1
0030 WINDOW 0,200,0,200
0040 RANDOMIZE 
0050 x:= 0; y:= RND(50,150); xr:= 100; yr:= 0.5
0060 h:= RND(-1,1)
0070 dx:= 1; dy:= 1; dxr:= 0; dyr:= 1
0080 rækkevidde:= 3 // bliver afstanden mindre end dette er det en pletter
0090 kikser:= FALSE; færdig:= FALSE
0100 REPEAT 
0110   a$:= KEY$
0120   //------------------
0130   WHILE ORD(a$)=0 AND NOT færdig DO
0140     x:= x+dx; xr:= xr+dxr
0150     y:= y+h*dy; yr:= yr+dyr
0160     //
0170     IF (0<x AND x<200) AND (0<y AND y<200) THEN
0180       EXEC mål(x,y)
0190     ELSE 
0200       kikser:= TRUE
0210     ENDIF 
0220     //
0230     IF (0<xr AND xr<200) AND (0<yr AND yr<200) THEN
0240       EXEC raket(xr,yr)
0250     ELSE 
0260       kikser:= TRUE
0270     ENDIF 
0280     //
0290     afstand:= SQR((x-xr)'2+(y-yr)'2)
0300     IF kikser OR afstand<rækkevidde THEN EXEC slut
0310     //
0320     a$:= KEY$
0330   ENDWHILE 
0340   //--------------------
0350   WHILE ORD(a$)=26 DO
0360     dyr:= dyr+1
0370     a$:= KEY$
0380   ENDWHILE 
0390   //------------------
0400   WHILE ORD(a$)=10 DO
0410     dyr:= dyr-1
0420     a$:= KEY$
0430   ENDWHILE 
0440   //-----------------«nul»
0450   WHILE ORD(a$)=8 DO
0460     dxr:= dxr-1
0470     a$:= KEY$
0480   ENDWHILE 
0490   //-----------------«nul»
0500   WHILE ORD(a$)=24 DO
0510     dxr:= dxr+1
0520     a$:= KEY$
0530   ENDWHILE 
0540   //----------------
0550 UNTIL færdig
0560 //
0570 //--------------slut hovedprogram---------------------
0580 PROC mål(x,y)
0590   MOVETO x,y
0600   DRAW 1,0
0610   DRAW -0.3,0.3
0620   MOVE 0.3,-0.3
0630   DRAW -0.3,-0.3
0640 ENDPROC mål
0650 //
0660 PROC raket(xr,yr)
0670   MOVETO xr-0.2,yr-0.2
0680   DRAW 0.4,0
0690   DRAW 0,0.4
0700   DRAW -0.4,0
0710   DRAW 0,-0.4
0720 ENDPROC raket
0730 //
0740 PROC slut
0750   IF kikser THEN
0760     MOVETO 90,90
0770     TEXT "KIKSER!"
0780   ELSE 
0790     MOVETO 90,90
0800     TEXT "PLETTER!"
0810   ENDIF 
0820   færdig:= TRUE
0830 ENDPROC slut
«eof»