home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib21a.dsk / SEPTEMBER.1984 / COMPASS.QUIZ.bas next >
BASIC Source File  |  2023-02-26  |  6KB  |  154 lines

  1. 1  REM ************************
  2. 2  REM *     COMPASS.QUIZ     *
  3. 3  REM * BY A.M. DEKEUKELAERE *
  4. 4  REM *  COPYRIGHT (C) 1984  *
  5. 5  REM *  BY MICROSPARC, INC  *
  6. 6  REM *  LINCOLN, MA. 01773  *
  7. 7  REM ************************
  8. 80  HOME : VTAB 22: PRINT "** COPYRIGHT 1984 BY MICROSPARC, INC. **"
  9. 90  HTAB 15: VTAB 5: PRINT "COMPASS QUIZ"
  10. 100  PRINT : PRINT : HTAB 20: PRINT "BY"
  11. 110  PRINT : PRINT : HTAB 13: PRINT "TONY DEKEUKELAERE "
  12. 120  VTAB 17: HTAB 6: PRINT "PUSH DOWN THE CAPS LOCK KEY."
  13. 130  REM   INSTRUCTIONS?
  14. 140  PRINT : PRINT : HTAB 5: INPUT "DO YOU WANT INSTRUCTIONS (Y/N) ?";RE$
  15. 150 RE$ =  LEFT$(RE$,1)
  16. 160  IF RE$ = "N"  THEN  GOTO 300
  17. 170  REM   INSTRUCTIONS
  18. 180  HOME : HTAB 5: VTAB 5
  19. 190  PRINT "YOU WILL BE ASKED TO GIVE THE "
  20. 200  PRINT "DIRECTION FROM ONE SQUARE TO ANOTHER"
  21. 210  PRINT "SQUARE."
  22. 220  PRINT : HTAB 5: PRINT "YOUR ANSWER MUST BE ONE OF"
  23. 230  PRINT "THE FOLLOWING :"
  24. 240  HTAB 5: INVERSE : PRINT "N  S  E  W  NE  SE  NW  SW": NORMAL 
  25. 250  PRINT : HTAB 5: PRINT "IF YOUR ANSWER IS INCORRECT YOU"
  26. 260  PRINT "WILL GET A SECOND CHANCE WITH HELP."
  27. 270  PRINT : PRINT : PRINT : PRINT : PRINT "PRESS <RETURN> TO END AND GET YOUR SCORE"
  28. 280  PRINT : PRINT : NORMAL : HTAB 6: PRINT "PRESS THE SPACE BAR TO BEGIN": HTAB 20
  29. 290  GET X$: IF X$ < > CHR$(32)  THEN  GOTO 290
  30. 300 R1 = 0:R2 = 0:W = 0:TL = 0:RI = 0: REM  SET COUNTERS TO ZERO
  31. 310  REM   DRAW BLOCKS
  32. 320  HGR : HCOLOR= 3
  33. 330  FOR X = 50 TO 60: FOR Y = 40 TO 50
  34. 340  HPLOT X,Y
  35. 350  NEXT Y: NEXT X
  36. 360  HCOLOR= 2
  37. 370  FOR X = 50 TO 60: FOR Y = 140 TO 150
  38. 380  HPLOT X,Y
  39. 390  NEXT Y: NEXT X
  40. 400  HCOLOR= 5
  41. 410  FOR X = 220 TO 230: FOR Y = 40 TO 50
  42. 420  HPLOT X,Y
  43. 430  NEXT Y: NEXT X
  44. 440  HCOLOR= 6
  45. 450  FOR X = 220 TO 230: FOR Y = 140 TO 150
  46. 460  HPLOT X,Y
  47. 470  NEXT Y: NEXT X
  48. 480  GOSUB 1240: REM --DRAW NUMERALS
  49. 490  REM  **** MAIN PROGRAM ****
  50. 500  GOSUB 770: REM  GET QUESTION
  51. 510  GOSUB 830: REM  PRINT QUESTION
  52. 520  GOSUB 1000: REM  OBTAIN CORRECT ANSWER
  53. 530  IF AN$ < >CR$  THEN  GOTO 580
  54. 540 R1 = R1 +1
  55. 550  HOME : VTAB 23: HTAB 14: FLASH : PRINT "*** RIGHT ***"
  56. 560  FOR X = 1 TO 1500: NEXT : NORMAL 
  57. 570  GOTO 500
  58. 580  REM ---SECOND ATTEMPT
  59. 590  HOME : VTAB 23: HTAB 13
  60. 600  PRINT "SORRY!  TRY AGAIN": FOR X = 1 TO 500: NEXT 
  61. 610  GOSUB 1070: REM  DRAW COMPASS
  62. 620  GOSUB 830: REM  REPEAT QUESTION
  63. 630  IF AN$ = ""  THEN  GOTO 1330
  64. 640  GOSUB 1000: REM  OBTAIN CORRECT ANSWER
  65. 650  IF AN$ < >CR$  THEN  GOTO 700
  66. 660 R2 = R2 +1
  67. 670  HOME : VTAB 23: HTAB 19: PRINT "RIGHT!"
  68. 680  FOR X = 1 TO 500: NEXT X
  69. 690  GOTO 310
  70. 700  REM  2 INCORRECT RESPONSES
  71. 710 W = W +1
  72. 720  HOME : VTAB 23: HTAB 6
  73. 730  INVERSE : PRINT "SORRY ! THE CORRECT ANSWER IS ";CR$: NORMAL 
  74. 740  HTAB 4: PRINT "PRESS THE SPACE BAR TO CONTINUE": HTAB 20
  75. 750  GET X$: IF X$ < > CHR$(32)  THEN  GOTO 750
  76. 760  GOTO 310
  77. 770  REM  GENERATE A QUESTION
  78. 780 A$(1) = "WHITE(1)":A$(2) = "PINK(2)":A$(3) = "BLUE(3)":A$(4) = "ORANGE(4)"
  79. 790 N =  INT( RND(1) *4 +1)
  80. 800 P =  INT( RND(2) *4 +1)
  81. 810  IF N = P  THEN  GOTO 800
  82. 820  RETURN 
  83. 830  REM   PRINT QUESTION
  84. 840  HOME 
  85. 850  VTAB 21: HTAB 8: PRINT "WHAT IS THE DIRECTION FROM"
  86. 860  HTAB 10: PRINT A$(N)" TO "A$(P)
  87. 870  HTAB 18: INPUT AN$
  88. 880  IF AN$ = ""  THEN  GOTO 1330
  89. 890 AN$ =  LEFT$(AN$,2)
  90. 900  IF  RIGHT$(AN$,1) = " "  THEN AN$ =  LEFT$(AN$,1)
  91. 910  IF AN$ < >"N"  AND AN$ < >"S"  AND AN$ < >"E"  AND AN$ < >"W"  AND AN$ < >"NE"  AND AN$ < >"SE"  AND AN$ < >"NW"  AND AN$ < >"SW"  THEN  GOTO 930
  92. 920  RETURN 
  93. 930  REM  --- ILLEGAL RESPONSE---
  94. 940  HOME 
  95. 950  VTAB 21: PRINT "THE ANSWER MUST BE ONE OF THE FOLLOWING"
  96. 960  HTAB 10: INVERSE : PRINT "N S E W NE SE NW SW": NORMAL 
  97. 970  HTAB 4: PRINT "PRESS THE SPACE BAR TO CONTINUE": HTAB 20
  98. 980  GET X$: IF X$ < > CHR$(32)  THEN  GOTO 980
  99. 990  GOTO 830
  100. 1000  REM  ---DETERMINE CORRECT RESPONSE
  101. 1010 AP$(1,2) = "S":AP$(1,3) = "SE":AP$(1,4) = "E"
  102. 1020 AP$(2,1) = "N":AP$(2,3) = "E":AP$(2,4) = "NE"
  103. 1030 AP$(3,1) = "NW":AP$(3,2) = "W":AP$(3,4) = "N"
  104. 1040 AP$(4,1) = "W":AP$(4,2) = "SW":AP$(4,3) = "S"
  105. 1050 CR$ = AP$(N,P)
  106. 1060  RETURN 
  107. 1070  HCOLOR= 6
  108. 1080  HPLOT 140,65 TO 140,125
  109. 1090  HPLOT 110,95 TO 170,95
  110. 1100  HPLOT 115,70 TO 165,120
  111. 1110  HPLOT 165,70 TO 115,120
  112. 1120  HPLOT 136,55 TO 136,45 TO 144,55 TO 144,45
  113. 1130  HPLOT 144,135 TO 136,135 TO 136,140 TO 144,140 TO 144,145 TO 136,145
  114. 1140  HPLOT 188,90 TO 180,90 TO 180,100 TO 188,100: HPLOT 180,95 TO 184,95
  115. 1150  HPLOT 90,90 TO 90,100 TO 95,95 TO 100,100 TO 100,90
  116. 1160  HPLOT 170,70 TO 170,60 TO 178,70 TO 178,60
  117. 1170  HPLOT 190,60 TO 182,60 TO 182,70 TO 190,70: HPLOT 182,65 TO 186,65
  118. 1180  HPLOT 178,120 TO 170,120 TO 170,125 TO 178,125 TO 178,130 TO 170,130
  119. 1190  HPLOT 190,120 TO 182,120 TO 182,130 TO 190,130: HPLOT 182,125 TO 186,125
  120. 1200  HPLOT 88,70 TO 88,60 TO 96,70 TO 96,60
  121. 1210  HPLOT 100,60 TO 100,70 TO 105,65 TO 110,70 TO 110,60
  122. 1220  HPLOT 96,120 TO 88,120 TO 88,125 TO 96,125 TO 96,130 TO 88,130
  123. 1230  HPLOT 100,120 TO 100,130 TO 105,125 TO 110,130 TO 110,120
  124. 1240  HCOLOR= 7
  125. 1250  HPLOT 30,40 TO 30,50
  126. 1260  HCOLOR= 2
  127. 1270  HPLOT 30,142 TO 30,140 TO 40,140 TO 40,146 TO 30,146 TO 30,150 TO 40,150
  128. 1280  HCOLOR= 6
  129. 1290  HPLOT 240,140 TO 250,140 TO 250,150 TO 240,150: HPLOT 244,145 TO 250,145
  130. 1300  HCOLOR= 5
  131. 1310  HPLOT 250,48 TO 240,48 TO 248,40 TO 246,50
  132. 1320  RETURN 
  133. 1330  REM  SCORE SUMMARY
  134. 1340 TL = R1 +R2 +W:RI = R1 +R2
  135. 1350  TEXT : HOME : VTAB 2: HTAB 15
  136. 1360  PRINT "YOUR SCORE"
  137. 1370  HTAB 15: PRINT "==========": REM 10 ='S
  138. 1380  PRINT : PRINT : PRINT 
  139. 1390  IF TL = 0  THEN  HTAB (8): PRINT "NO QUESTIONS WERE ATTEMPTED.": GOTO 1490
  140. 1400  PRINT "ON THE FIRST TRY"
  141. 1410  PRINT "----------------": REM 16 -'S
  142. 1420  PRINT 
  143. 1430  HTAB 5: PRINT R1" OUT OF "TL" FOR " INT(R1 *100/TL)" %"
  144. 1440  PRINT : PRINT 
  145. 1450  PRINT "ON THE FIRST AND SECOND TRY"
  146. 1460  PRINT "---------------------------": REM 27 -'S
  147. 1470  PRINT 
  148. 1480  HTAB 5: PRINT RI" OUT OF "TL" FOR " INT(RI *100/TL)" %"
  149. 1490  PRINT : PRINT : PRINT 
  150. 1500  HTAB 5: PRINT "PRESS THE SPACE BAR TO CONTINUE."
  151. 1510  PRINT : HTAB 8: PRINT "PRESS ANY KEY TO STOP."
  152. 1520  PRINT : HTAB 15: GET C$
  153. 1530  IF C$ =  CHR$(32)  THEN  HOME : GOTO 300
  154. 1540  HOME : END