ZX Spectrum+ User Guide: DEMO ZX1.B

Является частью релиза: ZX Spectrum+ User Guide
Размер файла: 16840
md5: eb206e816183c96f0460c974fce4b5be
  23128>=A@AB( REM  STEP C] NEXT  GO SUB {=/ LLIST ! RESTORE !v RESTORE  CLEAR  THEN INKEY$PEEK *O/ FOR <>$ REM   ©  SF Software,1987     B REM ZX Spectrum+ User Guide            37 Demo Programs      RETURN  REM This program is createdfor Sinclair computer education,so it does  not pretends to be  optimized & protected, etc.         You can easy list this prog-ram and study its structure.        Lit.: Neil Ardley                 ZX Spectrum+ User Guide.   6 BORDER 2: PAPER 5: INK 0: CLEAR 65367: RANDOMIZE USR 23872 GO SUB 900 GO SUB 700(6 LET a$=INKEY$: IF a$="" THEN  BEEP 0.1 TO ,RND*60-30: GO TO 402 LET aa=CODE a$-96<. IF aa=-48 THEN  BORDER 7: PAPER 7: CLS : GO TO 9999F! IF aa<0 OR aa>9 THEN  GO TO 40n BORDER 1: PAPER 1: INK 6: CLS x GO SUB 900▘ GO SUB 1000*aa▜ GO SUB 6008 LET b$=INKEY$: IF b$="" THEN  BEEP 0.05 TO ,RND*40-30: GO TO 140[G] LET bb=CODE b$-48[Q] IF bb<0 OR bb>cc THEN  GO TO 140SCREEN$  IF bb=0 THEN  GO TO 10 ERASE  BORDER 7: PAPER 7: INK 0: CLS  NEW  GO SUB 1000*aa+100*bb LIST  PAUSE 0 IF  GO TO 110                    X) PRINT AT 19,11;"IMPORTANT:"bH PRINT " Programs with '*' mark have no  exit. Do BREAK & RUN to return."l RETURN                       SGN  REM User Guide Catalogue AND   PRINT TAB 10;"ZX Spectrum+" FORMAT   PRINT TAB 10;" User Guide " PAPER  PRINT  DATA  PRINT "SELECT:" INPUT ' PRINT "  (A) What Your ZX Spectrum+ Can Do" SAVE # PRINT "  (B) The Television Calculator"" PRINT "  (C) Colour And How To Use It" PRINT "  (D) Simple Diy Graphics"! PRINT "  (E) The On-Screen Sketchpad"  PRINT "  (F) Designing Patterns..."*+ PRINT "  (G) How To Create Computer Characters"4 PRINT "  (H) Animation">  PRINT "  (I) How To Make Music..."H  PRINT "  (0) EXIT"R  RETURN                      ▗ REM SF Software Trade Mark▙ PRINT                     " ▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚  ▚    ▖▗▚  ▚ ©  ▙▖▖                    ▚  ▚      S O F T W A R E    ▚  ▚                            ▚  ▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚ "[I] RETURN                       CONTINUE  REM page 8 GO SUB (  PRINT "   (A) What Your ZX Spectrum+" PAUSE ' PRINT "             Can Do          " RUN  PRINT :  PRINT "SELECT:" DRAW  PRINT " * (1) Names" PRINT " * (2) Patterns" PRINT " * (3) Flashing Circles" PRINT " * (4) Manic Mosaic" PRINT "   (5) Polyhedra" PRINT "   (6) Stars And Stripes" PRINT " * (7) Shimmering Sunrise" PRINT "   (0) Exit"$  LET cc=7) RETURN                      L REM NamesV BORDER 1: INK RND*7` PAPER RND*7j PRINT " ZX Spectrum +";t  GO TO 1110                  VAL PatternsINT  LET a$=""BIN  FOR x=1 TO 7 DEF FN  LET a$=a$+CHR$ (RND*14+129) CIRCLE  NEXT x STOP  INK RND*7 GO TO  BORDER RND*7 PLOT   PRINT a$; GO TO 1270                    REM Flashing Circles BORDER 0: PAPER 0: CLS A CIRCLE  INK RND*6; FLASH RND;120+RND*8,80+RND*6,RND*80# BEEP 0.1 TO ,RND*60( IF RND>0.9f THEN  GO TO 1330- GO TO 13102 FOR y=-2 TO 47 FOR x=0 TO 6< BORDER xA BEEP 0.05 TO ,x*yF NEXT xK NEXT yP  RUN 1300                    x REM Manic Mosaic} BORDER 0: CLS ▘ LET h=16: LET v=11▜0 LET x=INT (RND*3-1): LET y=INT (RND*3-1) INK RND*7[B] FOR z=1 TO 20[G] PRINT AT v,h;CHR$ 143[L] LET h=h+x[Q] LET v=v+yRND IF h<0 THEN  LET h=31SCREEN$  IF h>31 THEN  LET h=0CODE  IF v<0 THEN  LET v=21TAN  IF v>21 THEN  LET v=0EXP  NEXT zPEEK  GO TO 1415                   BRIGHT  REM Polyhedra LLIST  BORDER 1: PAPER 6: CLS  NEW  INPUT n FOR  FOR r=20 TO 80 STEP 2 LIST  LET x=128: LET y=87 PRINT =x-r: LET v1=y IF  PLOT  h1,v1 COPY ! FOR a=0 TO 361 STEP 360/n LET h2=x-r*COS (a*PI/180) LET v2=y+r*SIN (a*PI/180)2-h1,v2-v1=h2: LET v1=v2 BEEP 0.02=,r-20 NEXT a" NEXT r, RETURN                      @ REM Stars And StripesE INK 2J PAPER 7O CLS T FOR x=28 TO 148 STEP 20Y FOR z=0 TO 11^! PLOT  16,z+x: DRAW 216,0c NEXT zh NEXT xm& PLOT  16,28: DRAW 0,131r(  PLOT  232,28: DRAW 0,131w PAPER 1| INK 7▝ FOR x=2 TO 8 STEP 2▚ PRINT AT x,2;"* * * * * *"▛" PRINT AT x+1,2;" * * * * * "[A] NEXT x[F] PRINT AT x,2;"* * * * * *"[P] RETURN                      [U] REM Shimmering SunrisePOINT  BORDER RND*6VAL$  INK RND*7COS  PAPER RND*6LN  CLS ABS  LET z=RND*10+2CHR$  FOR x=0 TO 174 STEP z<= PLOT  128,0 TO 28,x MOVE  BEEP 0.01=,x/3 VERIFY  NEXT x FLASH  FOR x=-127 TO 127 STEP z LPRINT  PLOT  128,0 RESTORE  DRAW x,175 REM  BEEP 0.01=,60 LOAD  NEXT x POKE  FOR x=174 TO 0 STEP -z RANDOMIZE  PLOT  128,0 RETURN  DRAW 127,x BEEP 0.01=,x/3 NEXT x PAUSE 200 GO TO 1705                   FORMAT  REM page 22 MERGE # PRINT "       (B) The Television" PAPER # PRINT "           Calculator    " OUT  PRINT : PRINT "SELECT:" DATA  PRINT " * (1) Number Chart" DIM  PRINT " * (2) Multiplication Table" INPUT  PRINT "   (0) Exit" NEXT  LET cc=2 SAVE  RETURN                      4 REM Number Chart> LET n=1H PRINT n;" ";R LET n=n+1/ GO TO 2120                  [I] REM Multiplication Table[S] LET x=1AT  INPUT nACS  PRINT n;"*";x;"=";n*xUSR  LET x=x+1 LINE  GO TO 2230                  LN  REM page 24ABS # PRINT "       (C) Colour And How"CHR$ # PRINT "           To Use It     "<= PRINT : PRINT "SELECT:" TO  PRINT " * (1) Colour Tester" MOVE  PRINT "   (2) Colour Combinations" VERIFY  PRINT "   (3) Bar Chart" FLASH  PRINT "   (4) Double Bar Chart" LPRINT  PRINT "   (0) Exit" RESTORE  LET cc=4 REM  RETURN                       REM Colour Tester& PRINT "*";0 GO TO 3110                   REM Colour Combinations FOR b=0 TO 7 BORDER b: PAPER b: CLS  PRINT AT 6,12; INK 9;b[E] FOR p=0 TO 7[J]# PRINT AT p+8,8; INK p; PAPER 9;p;[O] BEEP 0.5 COPY ,b*p-20+p[T] FOR i=0 TO 7FN ; PAPER p;" ";i;TAB  BEEP 0.01=,i*5SIN  NEXT iATN  NEXT pSGN  NEXT b AND  RETURN                       DATA  REM Bar Chart INPUT  LET n=1 SAVE  GO SUB 3500 RETURN                      H REM Double Bar ChartR LET n=2/ GO SUB 3500f RETURN                      AT  REM SBR 3300,3400LEN  BORDER 0: PAPER 1: CLS ACS  LET c=4SQR  RESTORE 3640USR  FOR x=1 TO 12 OR # LET p1=6: LET p2=1: LET i=7 LINE  GO SUB 3600 CAT  IF n=1 THEN  READ t: GO TO 3550 CLOSE ## LET p1=3: LET p2=5: LET i=1 INK  GO SUB 3600 OVER  LET c=c+2 READ  NEXT x GO SUB  RETURN                      SBR 3500tl=21 TO 21-t STEP -1 PAPER p1;AT l,c;"  "l INK i; PAPER p2;AT 20-t,c;t                      DATA 3500,360020,6,15,4,13,5,16,6,19,10,20,8,18,6,11,4,14,6,19,8,14,9,17,7                           [Q] REM page 26RND! PRINT "         (D) Simple Diy"SCREEN$ ! PRINT "            Graphics   "CODE  PRINT : PRINT "SELECT:"TAN  PRINT " * (1) Random Squares"EXP  PRINT "   (2) Rainbow"PEEK  PRINT "   (3) ZX Robot"NOT  PRINT "   (0) Exit">= LET cc=3 STEP  RETURN                       REM Random Squares1: INK RND*7 PRINT "";" GO TO 4110h REM Rainbowm BORDER 0: PAPER 5: CLS r LET x=1| FOR l=0 TO 21▚ FOR c=1 TO 6[A] PRINT  INK c;AT l,c+x;""[K] NEXT c[U] LET x=x+1VAL$  NEXT lCHR$  RETURN                       TO ZX Robot MOVE   BORDER 2: PAPER 1: CLS  VERIFY ! PRINT  INK 2;AT 3,15;"▛▜" FLASH ! PRINT  INK 2;AT 4,15;"▙▟" LPRINT ! PRINT  INK 2;AT 5,15;"" RESTORE % PRINT  INK 5;AT 6,13;"" REM  FOR l=7 TO 10 LOAD  PRINT  INK 5;AT l,13;"" POKE  NEXT l RANDOMIZE * PRINT  INK 6; PAPER 0;AT 8,15;"ZX" RETURN & PRINT  INK 2;AT 11,13;"    " FOR l=11 TO 15 PRINT  INK 6;AT l,14;"  " NEXT l1 PRINT  INK 3;AT 16,13;"";TAB 17;"") FOR l=17 TO 21: FOR c=0 TO 31 PRINT  INK 4;AT l,c;""! NEXT c: NEXT l+ RETURN                      ▖ REM page 28▟# PRINT "       (E)  The On-Screen"[C]# PRINT "            Sketchpad    "[H] PRINT : PRINT "SELECT:"[M] PRINT "   (1) Star I"[R] PRINT "   (2) Star II"INKEY$ PRINT "   (3) Solid Triangle I"ATTR  PRINT "   (4) Solid Triangle II"VAL   PRINT " * (5) Sketchpad And Example"ASN  PRINT "   (0) Exit"INT  LET cc=5IN  RETURN                       GO TO  REM Star I PLOT   INK 2 PLOT  128,174 DRAW 70,-140 DRAW -152,80 DRAW 164,0( DRAW -152,-802 DRAW 70,140F RETURN                      P REM Star IIZ BORDER 1: PAPER 6: INK 1: CLS d CIRCLE 128,87,87n GO SUB 5100x RETURN                      TAN  REM Solid Triangle IEXP  LET n=1PEEK  BORDER 1: PAPER 6: INK 2: CLS >= FOR x=-100 TO 100 STEP n ERASE  PLOT  128,150 BRIGHT -120 NEW  NEXT x IF  RETURN                       REM Solid Triangle II LET n=4" GO SUB 5310, RETURN                      | REM Sketchpad And Example▚ INPUT "INK ";i[A] BORDER 3: PAPER 0: INK i: CLS [K] PLOT  25,25[U] LET x=5VAL$  LET k$=INKEY$LN  IF k$="u" THEN  DRAW 0,xCHR$  IF k$="d" THEN  DRAW 0,-x TO  IF k$="r" THEN  DRAW x,0 VERIFY  IF k$="l" THEN  DRAW -x,0 LPRINT  GO TO 5550                  p REM page 30u% PRINT "     (F) Designing Patterns"z% PRINT "          And Pictures     "© PRINT : PRINT "SELECT:"▗ PRINT "   (1) Squares"▞ PRINT "   (2) Symmetrical Patterns"▙ PRINT "   (3) Pyramids I"[D] PRINT " * (4) Pyramids II"[I] PRINT "   (0) Exit"[N] LET cc=4[S] RETURN                       CLOSE # REM Squares INK  BORDER 0: PAPER 0: CLS  OVER  FOR x=7 TO 0 STEP -1 READ  INK x CONTINUE  FOR l=11-x TO 11+x GO SUB  FOR c=16-x TO 16+x PAUSE  PRINT AT l,c;"" RUN  NEXT c DRAW  NEXT l NEXT x RETURN                      8 REM Symmetrical Patterns= BORDER 4: PAPER 0: CLS B LET i=4: LET p=0G FOR a=1 TO 4L LET x=RND*13+129Q FOR n=1 TO 40V GO SUB 6270[ NEXT n` LET i=i+1: LET p=p+1e PAUSE 100j NEXT at RETURN                      }SBR 6200~ LET l=INT (RND*11)© LET c=INT (RND*16) INK i: PAPER p▝ PRINT AT l,c;CHR$ x▘ PRINT AT l,31-c;CHR$ x PRINT AT 21-l,c;CHR$ x▗ PRINT AT 21-l,31-c;CHR$ x BEEP 0.01=,l*c/3▚ RETURN                      [M] REM Pyramids I[R] GO SUB 6325ATTR  RETURN                      VAL  REM SBR 6300,6400ASN  BORDER 0: PAPER 1: INK 6INT  CLS IN  FOR y=0 TO 20 STEP 2BIN  PLOT  0,y<> DRAW 255,0 DEF FN  NEXT y OPEN #  FOR n=100 TO 220 STEP 30 CIRCLE , FOR x=-10-n/10 TO 10+n/10 INVERSE  PLOT  n,35+n/10 STOP -n/4 BORDER  NEXT x GO TO  NEXT n LET  RETURN                       REM Pyramids II GO SUB 6325 LET x=RND*255 LET y=RND*104+71 LET l=INT (175-y)/8 LET c=INT (x/8) PLOT  0,0: DRAW  OVER 1;x,y# BEEP 0.01=,x/4( PLOT  0,0: DRAW  OVER 1;x,y- PRINT AT l,c;"*"2 GO TO 6410                  X REM page 32]$ PRINT "       (G)  How To Create "b$ PRINT "       Computer Characters"g PRINT : PRINT "SELECT:"l PRINT "   (1) Graphics Character"q PRINT " * (2) Spiders"v PRINT "   (3) Chessboard"{ PRINT "   (0) Exit" LET cc=3 RETURN                      SGN  REM Graphics CharacterSTR$ 0 PRINT "GRAPH S": PRINT " before running this subroutine:"  AND  PRINT : PRINT TAB 15;"S": PRINT : PRINT  THEN  GO SUB 7400 FORMAT / PRINT "GRAPH S": PRINT "  after running this subroutine:" MERGE  PRINT : PRINT TAB 15;"[S]" PAPER  RETURN                       RETURN                        REM Spiders* GO SUB 74004 BORDER 1: PAPER 0: CLS > PRINT  INK RND*7;"[S]";H GO TO 7230                  ▗ REM Chessboard▞ RESTORE 7500▙ FOR x=1 TO 6: READ a$[D] FOR n=0 TO 7: READ y[I] POKE USR a$+n,y[N] NEXT n[S] NEXT xPI BORDER 4: PAPER 1: CLS AT 9 FOR l=7 TO 14 STEP 2: FOR c=12 TO 19 STEP 2LEN - PRINT AT l,c;"";AT l+1,c;""ACS  NEXT c: NEXT lSQR 0 PRINT AT 7,12;"[R][N][B][Q][K][B][N][R]"USR 0 PRINT AT 8,12;"[P][P][P][P][P][P][P][P]" OR 5 PRINT AT 13,12;"[P][P][P][P][P][P][P][P]" LINE 5 PRINT AT 14,12;"[R][N][B][Q][K][B][N][R]" CAT  RETURN                       CONTINUE  REM SBR 7100,7200 GO SUB  POKE USR "s"  ,BIN 00111100 PAUSE  POKE USR "s"+1,BIN 01111110 RUN  POKE USR "s"+2,BIN 11011011 DRAW  POKE USR "s"+3,BIN 11111111 POKE USR "s"+4,BIN 10111101 POKE USR "s"+5,BIN 10100101 POKE USR "s"+6,BIN 10100101 POKE USR "s"+7,BIN 00100100 RETURN                      L REM  DATA 7300VK DATA "p",0,0,16,56,56,16,124,0`N DATA "r",0,84,124,56,56,124,124,0jM DATA "n",0,16,56,120,24,56,124,0tM DATA "b",0,16,40,68,108,56,124,0~K DATA "k",0,16,56,16,56,68,56,0▖i DATA "q",0,84,40,16,108,124,124,0                           @ REM page 34E! PRINT "         (H)  Animation"J PRINT : PRINT "SELECT:"O PRINT "   (1) Falling Spider"T PRINT "   (2) Scuttling Spider"Y PRINT " * (3) Spiders And Pyramids"^ PRINT "   (4) Bouncing Ball"c PRINT "   (0) Exit"h LET cc=4m RETURN                      [U] REM Falling SpiderPOINT  BORDER 3: PAPER 5: CLS VAL$  GO SUB 7400COS  FOR x=0 TO 7LN  POKE USR "t"+x,16ABS  NEXT xCHR$ " FOR l=0 TO 20: BEEP 0.01=,l<= PRINT AT l,3; INK 0;"[T]" TO ! PRINT AT l+1,3; INK 2;"[S]" MOVE  NEXT l VERIFY  IF bb=1 THEN  PAUSE 0 FLASH  RETURN                        REM Scuttling Spider  GO SUB 8100 " FOR c=3 TO 30: BEEP 0.01=,c & PRINT AT 21,c;" " 0" PRINT AT 21,c+1; INK 2;"[S]" : NEXT c D IF bb=2 THEN  PAUSE 0 N RETURN                       l REM Spiders And Pyramids q GO SUB 7400: GO SUB 6300 vRND*31 { FOR v=0 TO 20 $ PRINT AT v,h;" ";AT v+1,h; INK 4;"[S]"  NEXT v , PRINT AT 21,h; FLASH 1; INK 2; PAPER 6;"[S]"  GO TO 8310                    FORMAT  REM Bouncing Ball  MERGE  BORDER 1  PAPER  FOR z=1 TO 10  OUT " LET h=INT (RND*25): LET v=INT (RND*21)  DATA % PRINT  INK 2; PAPER 6; FLASH 1;AT v,h;"X"  DIM  NEXT z  INPUT  LET x=1: LET y=1  NEXT  PRINT AT v,h;" "  SAVE v+y: LET h=h+x  CLEAR 0 IF h=0 OR h=31 THEN  LET x=-x: BEEP 0.2 TO ,24!0 IF v=0 OR v=21 THEN  LET y=-y: BEEP 0.2 TO ,12!9 IF SCREEN$ (v,h)="X" THEN  PRINT  INK 1; PAPER 5;AT v,h;"!*!*!": PAUSE 200: RETURN ! PRINT AT v,h;"O"! PAUSE 2! GO TO 8435                  #( REM page 36#-% PRINT "     (I)  How To Make Music"#2% PRINT "       And Sound Effects   "#7 PRINT : PRINT "SELECT:"#< PRINT "   (1) Programming Sounds"#A PRINT " * (2) Bubbling"#F PRINT " * (3) Machine"#K PRINT "   (4) Liftoff"#P PRINT " * (5) Keyboard Converter"#U PRINT "   (0) Exit"#Z LET cc=5#_ RETURN                      # REM Programming Sounds#[G] FOR p=69 TO -60 STEP -1#[Q] BEEP 0.1 TO ,p#SCREEN$  PRINT AT 0,0;p#TAN  NEXT p#>= RETURN                      # LIST Bubbling# IF  LET p=INT (RND*40)-30$: BEEP 0.05 TO ,p: BEEP 0.05 TO ,p+7: BEEP 0.05 TO ,p+4$210                  $T REM Machine$^ FOR x=12 TO 36$h01=,x$r BEEP 0.01=,24-x$| NEXT x$▚ GO TO 9310                  $LN  REM Liftoff$CHR$  FOR p=1 TO 48 STEP 0.2 TO $ TO $ BEEP 0.01=,p: BEEP 0.01=,p-6$ VERIFY  NEXT p$ REM  RETURN                      % REM Keyboard Converter%& LET p=CODE INKEY$%+ IF p=0 THEN  GO TO 9510%0! BEEP 0.04=,(p-30)/2%: GO TO 9510                  bd`@@@@@@@@@@@@@@@@@@[A]0, CLOSE #[K] REM  CIRCLE  CONTINUE  ERASE  LPRINT  CIRCLE  ERASE  AND CHR$  CONTINUE  ERASE  OVER  BRIGHT @FN CHR$ BIN  CIRCLE  LINE D STOP  LIST zbX BRIGHT  BRIGHT l" REM  BRIGHT vDTDv LIST vDzDv BRIGHT T LIST  STOP  LIST z LIST Vb[E]< CIRCLE ddf`@@@@@@@@@@@@@@@@@@lp CLOSE # LPRINT CHR$  DEF FN  LINE @dhzP REM D" @P▚R@▚ OVER  CIRCLE  OVER  REM  DATA @▘ BRIGHT >=@[A] OVER  INPUT @FN  OVER @SCREEN$  NEW  LINE @[C] CONTINUE @" REM ▙" REM D "INKEY$[I]▚FN t"0 REM D@@@PbR@▚ OVER  CIRCLE  OVER  REM  DATA @FN  LINE  NEW  CONTINUE  LINE  DATA D[S]< REM D@@@PdR@▚ OVER  CIRCLE  OVER  REM  DATA @▚ OVER  PAPER BIN  ERASE  BRIGHT CHR$  CONTINUE  ERASE  OVER  BRIGHT  NEW DAT ( REM D@@@PfR@▗CHR$  DATA @▚ FORMAT CHR$  DATA  CONTINUE DACS 6 REM D@@@PhR@▖ OVER  REM BIN  CIRCLE  LINE @▗CHR$  DATA @▚ FORMAT CHR$  DATA  CONTINUE DUSR  REM D@@@P`R@ LIST  ERASE  CONTINUE D LINE  STOP  AND  AND zh CLOSE #. DRAW @@@@@@@@@@@@@@@@@@@@@8 CLOSE #▚ OVER  CIRCLE  OVER  REM  DATA @FN  LINE  NEW  CONTINUE  LINE  DATA L REM DTDv`< CIRCLE fbb`@@@@@@@@@@@@@@@@@@L* CLOSE #▚ OVER  CIRCLE  OVER  REM  DATA @▚ OVER  PAPER BIN  ERASE  BRIGHT CHR$  CONTINUE  ERASE  OVER  BRIGHT  NEW & VERIFY BIN z`[I]n DEF FN BIN uTAN BIN u PLOT  < FOR XlXbdwSIN rvBIN (& VERIFY  LPRINT z`[I]n2F FOR X LPRINT VpXpwSIN  LPRINT wTAN rv LPRINT v<4VAL$ `/j RETURN  COPY  COPY  COPY  RETURN XBIN T LPRINT Zd`(V LPRINT F& VERIFY  ERASE z`[I]nP FOR SIN  ERASE wTAN  LPRINT vD@Dv ERASE vZ,VAL$ `/`b POKE GVAL$ zX ERASE Tjd NEW  ERASE n NEW  LPRINT x NEW BIN ▘BIN . DRAW @@@@@@@@@@@@@@@@@@@@@>= CLOSE #▗CHR$  DATA @▚ FORMAT CHR$  DATA  CONTINUE [A]$ CLOSE #▖ OVER  REM BIN  CIRCLE  LINE @▗CHR$  DATA @▚ FORMAT CHR$  DATA  CONTINUE @ CLOSE # LPRINT CHR$  DEF FN  LINE @dl   CLOSE #[U]CHR$  BRIGHT >= OVER  PAPER @INKEY$ STOP  REM CHR$  DATA  LINE  NEW   FORMAT  CLOSE #[U]CHR$  ERASE  BRIGHT BIN  OVER  INPUT ![I] CLOSE #TAN VAL @[U] OVER BIN  OVER  CONTINUE ' CLOSE # LPRINT CHR$  DEF FN  LINE @dp' CIRCLE  CLOSE #INKEY$ CONTINUE CHR$  DATA Z[C]([Q] CLOSE #INKEY$ CONTINUE CHR$  DATA Z[C][C])h$ CLOSE #INKEY$ OVER  CIRCLE  ERASE >=@FN  DATA  ERASE CHR$  BRIGHT  DEF FN  CIRCLE  LINE Z[C]*0& CLOSE #INKEY$ OVER  CIRCLE  ERASE >=@FN  DATA  ERASE CHR$  BRIGHT  DEF FN  CIRCLE  LINE Z[C][C]* SAVE . CLOSE #INKEY$ VERIFY  LINE  CONTINUE  AND  FORMAT  LPRINT CHR$ >=@CHR$  BRIGHT >=@ LIST CHR$  PAPER  LPRINT  CIRCLE  LINE . LPRINT  CLOSE # LPRINT CHR$  DEF FN  LINE @f`/FN  CLOSE #INKEY$ STOP  REM CHR$  DATA  LINE  NEW 0p, CLOSE #INKEY$ PAUSE  PAPER  PAPER  LINE  CONTINUE  DATA  ERASE  AND CHR$  CIRCLE @[Q]CHR$  CONTINUE  CONTINUE  LINE  DATA  BRIGHT  NEW 18 CLOSE #[Q] PAUSE  DATA CHR$  PAPER  ERASE >= NEW Z[C]2 CLOSE #[Q] PAUSE  DATA CHR$  PAPER  ERASE >= NEW Z[C][C]6VAL  CLOSE # LPRINT CHR$  DEF FN  LINE @fd7x( CLOSE #▙ DATA CHR$  LPRINT  FORMAT  ERASE  AND  NEW @▚ FORMAT CHR$  DATA CHR$  AND  CONTINUE  LINE  DATA 8@ CLOSE #INKEY$ LPRINT  ERASE >= LINE  DATA  NEW 9 CLOSE #▚ FORMAT  LINE  NEW  NEW BIN  OVER CHR$  DATA >=> CLOSE # LPRINT CHR$  DEF FN  LINE @fh?H  CLOSE #CHR$  CIRCLE  CIRCLE  ERASE  BRIGHT  DEF FN @INKEY$ LPRINT  ERASE >= LINE  DATA @$ CLOSE #INKEY$ AND  REM  CONTINUE  CONTINUE  CIRCLE  ERASE  BRIGHT  DEF FN @INKEY$ LPRINT  ERASE >= LINE  DATA @ CIRCLE , CLOSE #INKEY$ LPRINT  ERASE >= LINE  DATA  NEW @CHR$  BRIGHT >=@[Q] PAUSE  DATA CHR$  PAPER  ERASE >= NEW A[Q]& CLOSE # LIST  LPRINT  CIRCLE  OVER >= ERASE  BRIGHT  DEF FN @INKEY$ LPRINT  ERASE >= LINE  DATA  NEW Bh CLOSE #▗ OVER  REM  BRIGHT  AND  ERASE  BRIGHT  DEF FN @▗CHR$  CIRCLE  CIRCLE FP CLOSE # LPRINT CHR$  DEF FN  LINE @flG( CLOSE #[Q] DATA  OVER  DEF FN  DATA CHR$  PAPER  PAPER  ERASE  BRIGHT  DEF FN @INKEY$ OVER  REM  BRIGHT >= NEW G,> VERIFY  LPRINT zlr[I]Zl`x[K]ZbG@VAL$ `/d DRAW [J][J][J][I]X LPRINT GTT FOR X`X`vD@@DwX`X`v LPRINT Gh NEW  LPRINT G|. DRAW @@@@@@@@@@@@@@@@@@@@@G LPRINT  CLOSE #▗ REM BIN BIN  CIRCLE  ERASE  BRIGHT  DEF FN G POKE 4 STOP  LPRINT {tQJTh`PRZf`<HtVAL$ `/`j SAVE [J][J][J][I]X LPRINT uVAL$ `/`j SAVE [J][J][J][I]X LPRINT Vn`/`j SAVE [J][J][J][I]X LPRINT VhH< CIRCLE rdb`@@@@@@@@@@@@@@@@@@ POKE FHFN  CLOSE #[K]CHR$  AND  FORMAT  ERASE  BRIGHT  LINE HSGN * VERIFY  LIST zbd[I]flHH FORMAT VAL$ `/`b POKE GVAL$ zX LIST H DATA .VAL$ `/`b POKE GVAL$ zXdh0Z LIST H SAVE  NEW  LIST I< CIRCLE rfb`@@@@@@@@@@@@@@@@@@SGN HIp CLOSE #[I] ERASE  TO  CONTINUE  OVER  TO  TO I▗< VERIFY  LPRINT zb[I]hp`[K]`/d DRAW [J][J][J][I]I[I]HVAL$ `/`b POKE GVAL$ zX LPRINT uVAL$ `/`b POKE GVAL$ zX LPRINT ZlIAT  NEW  LPRINT IUSR . DRAW @@@@@@@@@@@@@@@@@@@@@J8( CLOSE #[G] LINE  PAUSE BIN  OVER CHR$  DATA >=@▚ OVER  BRIGHT  GO TO  LINE  DATA  CONTINUE  LINE  DATA JL STOP  LPRINT {_LJV. POKE  LPRINT z`[H] CIRCLE rjb`LJJ`BVAL$ `/`h SAVE GVAL$ zXP LPRINT Zf`<R^dJt< CIRCLE rjb`@@@@@@@@@@@@@@@@@@LJAf[R] LLIST [T] READ [S] STOP  SAVE ▖R COPY  COPY  COPY  OVER  GO TO  CONTINUE  READ  GO SUB B2ip LLIST G INPUT (