home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib01.dsk / SIMON.int < prev    next >
Text File  |  2023-02-26  |  4KB  |  84 lines

  1. 1 REM  *************************
  2. 2 REM  ** APPLE-SIMON         **
  3. 3 REM  ** MICRO-SPARC, INC.   **
  4. 4 REM  ** P.O.BOX 325         **
  5. 5 REM  ** LINCOLN, MASS 01773 **
  6. 6 REM  ** COPYRIGHT   1980    **
  7. 7 REM  *************************
  8. 8 D$="<CTRL-D>":PRINT :REM  INSERT CONTROL-D BETWEEN QUOTES
  9. 9 PRINT D$;"BLOAD SIMONSHAPES"
  10. 10 DIM A$(1):Z=0:R=1:CALL -936
  11. 12  POKE 12,173: POKE 13,48: POKE 14,192: POKE 15,136: POKE 16,208: POKE 17,4: POKE 18,198: POKE 19,11: POKE 20,240
  12. 15  POKE 21,8: POKE 22,202: POKE 23,208: POKE 24,246: POKE 25,166: POKE 26,10: POKE 27,76: POKE 28,12: POKE 29,0: POKE 30,96
  13. 20 N=1:DIM A(30),B(30):GOSUB 7000:GOTO 1500
  14. 300 SHAPE=0:COL=136:X=8:Y=18: POKE 10,50: POKE 11,100:GOSUB 1000:RETURN 
  15. 350 SHAPE=64:COL=204:X=21:Y=18: POKE 10,100: POKE 11,100:GOSUB 1000:RETURN 
  16. 400 SHAPE=128:COL=255:X=8:Y=21: POKE 10,150: POKE 11,100:GOSUB 1000:RETURN 
  17. 450 SHAPE=192:COL=68:X=21:Y=21: POKE 10,200: POKE 11,100:GOSUB 1000:RETURN 
  18. 500 A(N)= RND (4)+1:RETURN 
  19. 1000  POKE 8,COL: POKE 5,X: POKE 6,Y: POKE 2051,SHAPE
  20. 1010 CALL 2048
  21. 1012 CALL 12
  22. 1015 FOR I=1 TO ZZ:NEXT I
  23. 1030  POKE 8,0: POKE 5,X: POKE 6,Y: POKE 2051,SHAPE
  24. 1040 CALL 2048
  25. 1045 FOR I=1 TO ZZ:NEXT I:RETURN 
  26. 1499 Z=0
  27. 1500 Z=Z+1
  28. 1505 FOR N=1 TO Z:A(N)= RND (4)+1
  29. 1515 IF A(N)=1 THEN GOSUB 300
  30. 1520 IF A(N)=2 THEN GOSUB 350
  31. 1525 IF A(N)=3 THEN GOSUB 400
  32. 1530 IF A(N)=4 THEN GOSUB 450
  33. 1535 NEXT N
  34. 1600 VTAB 21:CALL -868: POKE 50,127:PRINT "YOUR TURN!": POKE 50,255
  35. 1605 FOR N=1 TO Z
  36. 1610 B(N)= PEEK (-16384):IF B(N)<128 THEN 1610
  37. 1615  POKE -16368,0
  38. 1620 IF B(N)-176=1 THEN GOSUB 300
  39. 1625 IF B(N)-176=2 THEN GOSUB 350
  40. 1630 IF B(N)-176=3 THEN GOSUB 400
  41. 1635 IF B(N)-176=4 THEN GOSUB 450
  42. 1640 IF B(N)-176<>A(N) THEN 1700
  43. 1650 NEXT N
  44. 1655  POKE 50,127:VTAB 21:CALL -868:PRINT "LET'S DO IT AGAIN!": POKE 50,255
  45. 1657 FOR I=1 TO 40:COLOR=  RND (17)
  46. 1658 A= RND (8)+1:B= RND (37)+1:PLOT A,B
  47. 1659 A= RND (37)+1:B= RND (7)+1:PLOT A,B
  48. 1660 A= RND (6)+33:B= RND (38)+1:PLOT A,B
  49. 1661 A= RND (38)+1:B= RND (7)+32:PLOT A,B
  50. 1663 NEXT I
  51. 1665 GOTO 1500
  52. 1700 VTAB 21:CALL -868:PRINT "GOOF UP!! YOU GOT ";Z-1;" RIGHT ON THIS ROUND!":FS=FS+Z-1
  53. 1701 VTAB 22:CALL -868:PRINT "YOUR SCORE IS ";FS;" FOR ";R;" ROUND(S)!":R=R+1
  54. 1703 IF R<6 THEN 1705
  55. 1704 GOTO 1710
  56. 1705 INPUT "HIT RETURN TO CONTINUE.",X$:CALL -936:VTAB 23:IF PS>0 THEN PRINT "PREVIOUS HIGH SCORE =";PS;:VTAB 20:PRINT :GOTO 1499
  57. 1710 IF FS<=14 THEN PRINT "YUCCKY SCORE! NEED MORE PRACTICE!"
  58. 1715 IF FS>14 AND FS<19 THEN PRINT "FAIR SCORE BUT COULD BE BETTER!"
  59. 1720 IF FS>18 AND FS<25 THEN PRINT "VERY GOOD SCORE. TRY FOR THE TOP!"
  60. 1725 IF FS>24 AND FS<35 THEN PRINT "EXCELLENT! TRY FOR A WHIZ FIRST CLASS!"
  61. 1730 IF FS>34 THEN PRINT "YOU'RE A WHIZ - FIRST CLASS!!!!!!!"
  62. 1732 IF FS>PS THEN PRINT "YOU'VE BEATEN THE PREVIOUS SCORE OF ";PS:IF FS>PS THEN PS=FS
  63. 1735 INPUT "TRY AGAIN? ENTER Y OR N:",A$
  64. 1740 IF A$="N" THEN END 
  65. 1760 GR :FS=0:R=1
  66. 7000 CALL -936:FOR I=0 TO 39:PRINT "*";:NEXT I:PRINT 
  67. 7005 PRINT :TAB 13: POKE 50,127:PRINT "APPLE-SIMON": POKE 50,255
  68. 7010 PRINT :TAB 5:PRINT "COPYRIGHT 1980 BY MICRO-SPARC, INC"
  69. 7015 PRINT : POKE 50,127:PRINT "APPLE-SIMON";: POKE 50,255:PRINT " IS MODELED AFTER THE GAME":PRINT 
  70. 7016 PRINT "SIMON!  I WILL FLASH NUMBERS AND SOUNDS.":PRINT 
  71. 7017 PRINT :PRINT "THEN YOU NEED TO TRY TO TYPE IN THE SAME":PRINT "NUMBERS IN THE SAME ORDER..."
  72. 7018 PRINT :PRINT "SOUNDS SIMPLE?  WELL... M A Y B E!"
  73. 7019 PRINT 
  74. 7020 PRINT :PRINT "TYPE 'S' FOR SLOW, 'F' FOR FAST, OR":PRINT "'V' FOR THE VERY FAST GAME";:
  75. 7022 INPUT A$
  76. 7025 IF A$="S" THEN ZZ=300
  77. 7030 IF A$="F" THEN ZZ=75
  78. 7031 IF A$="V" THEN ZZ=1
  79. 7035 IF A$#"S" AND A$#"F" AND A$#"V" THEN 7020
  80. 7037 CALL -936:GOSUB 7040:GOTO 1499
  81. 7040 GR :COLOR= 7:HLIN 0,39 AT 0:HLIN 0,39 AT 39:VLIN 0,39 AT 0:VLIN 0,39 AT 39
  82. 7045 VTAB 24:IF PS>0 THEN PRINT "PREVIOUS HIGH SCORE =";PS
  83. 7050 RETURN 
  84.