home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib24a.dsk / JUNE.1985 / TYPING.GAME.bas < prev   
BASIC Source File  |  2023-02-26  |  3KB  |  89 lines

  1. 10  REM **********************
  2. 20  REM *    TYPING.GAME     *
  3. 30  REM * BY GREG VAN HOLLAND*
  4. 40  REM * COPYRIGHT (C) 1985 *
  5. 50  REM * BY MICROSPARC, INC *
  6. 60  REM * CONCORD, MA  01742 *
  7. 70  REM **********************
  8. 90  REM  OPENING DEMO
  9. 100  REM 
  10. 110  TEXT : HOME 
  11. 120 Z$ = "NIBBLE"
  12. 130  GOSUB 820
  13. 140  PRINT :Z$ = "PROUDLY PRESENTS..."
  14. 150  GOSUB 820
  15. 160 Z$ = "CHICKEN LITTLE'S TYPING GAME"
  16. 170  FOR I = 1 TO  LEN(Z$)
  17. 180  FOR J = 5 TO 9
  18. 190  VTAB J -1: HTAB I: PRINT " "
  19. 200  VTAB J: HTAB I: PRINT  MID$ (Z$,I,1)
  20. 210  FOR DE = 1 TO 10: NEXT 
  21. 220  NEXT : NEXT 
  22. 230  VTAB 22
  23. 240  PRINT "** COPYRIGHT 1985 BY MICROSPARC, INC. **": HTAB 10: PRINT "PRESS ANY KEY TO START";
  24. 250  GET Z$
  25. 260  REM ********************
  26. 270  REM * MAIN VARIABLES
  27. 280  REM ********************
  28. 290 LL = 15:DE = 100
  29. 300 PW = 3:PS = 10:NS = 5
  30. 310 Z$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  31. 320 DD = DE/5
  32. 330 PT = 0:NL = 0:LE = 1
  33. 340  REM ********************
  34. 350  REM * SET SCREEN
  35. 360  REM ********************
  36. 370  HOME : INVERSE : PRINT  SPC( 39)
  37. 380  FOR I = 1 TO 19: HTAB 40: PRINT "  ";: NEXT 
  38. 390  NORMAL : VTAB 20: HTAB 1
  39. 400  FOR J = 1 TO 40: PRINT "-";: NEXT 
  40. 410  REM *******************
  41. 420  REM * MAIN PROGRAM
  42. 430  REM *******************
  43. 440  VTAB 6: HTAB 17: PRINT "LEVEL "LE
  44. 450  IF LE = 1  THEN 480
  45. 460 BN = (5 -TS) *5: PRINT : HTAB 16
  46. 470  PRINT "BONUS: "BN:PT = PT +BN
  47. 480  GOSUB 870:TS = 0: FOR I = 1 TO 2000: NEXT 
  48. 490  VTAB 6: HTAB 17: PRINT  SPC( 7)
  49. 500  VTAB 8: HTAB 16: PRINT  SPC( 10)
  50. 510 Y = 3:X =  INT( RND(1) *35) +3
  51. 520 L =  INT( RND(1) * LEN(Z$)) +1
  52. 530 V$ =  MID$ (Z$,L,1)
  53. 540  VTAB Y -1: HTAB X: PRINT " "
  54. 550  VTAB Y: HTAB X: PRINT V$
  55. 560  FOR I = 1 TO DE: NEXT 
  56. 570 Y = Y +1: IF Y = 21  THEN 690
  57. 580 KE =  PEEK( -16384): IF KE <128  THEN 540
  58. 590 KE = KE -128
  59. 600  IF KE =  ASC(V$)  THEN 630
  60. 610  FOR I = 1 TO 3:S =  PEEK( -16336): NEXT 
  61. 620 PT = PT -PW: GOSUB 870: GOTO 540
  62. 630 PT = PT +21 -Y: GOSUB 870
  63. 640  VTAB Y -1: HTAB X: PRINT " "
  64. 650 NL = NL +1: IF NL <LL  THEN 510
  65. 660 LE = LE +1:NL = 0:DE = DE -DD
  66. 670  IF LE <10  THEN 390
  67. 680  GOTO 510
  68. 690  PRINT  CHR$(7)
  69. 700  VTAB 20: HTAB X: PRINT " "
  70. 710 PT = PT -PS:TS = TS +1
  71. 720  GOSUB 870: IF TS < >NS  THEN 650
  72. 730  VTAB 6: HTAB 16: PRINT "GAME OVER"
  73. 740  FOR I = 1 TO 2000: NEXT 
  74. 750  PRINT : HTAB 4: PRINT "DO YOU WISH TO PLAY AGAIN <Y/N> ";
  75. 760  POKE  -16368,0
  76. 770  GET Z$: IF Z$ < >"N"  THEN 290
  77. 780  HOME : END 
  78. 790  REM *******************
  79. 800  REM * SUBROUTINES
  80. 810  REM *******************
  81. 820  FOR I = 1 TO  LEN(Z$)
  82. 830  FOR J = 1 TO 5
  83. 840 S =  PEEK( -16336): NEXT 
  84. 850  PRINT  MID$ (Z$,I,1);
  85. 860  NEXT : PRINT : RETURN 
  86. 870  IF PT <0  THEN PT = 0
  87. 880  VTAB 22: HTAB 16
  88. 890  PRINT "POINTS="PT; SPC( 1)
  89. 900  POKE  -16368,0: RETURN