home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.B.po / GAMES:BASIC.3 / MATH.GUESS.V2.2.bas < prev    next >
BASIC Source File  |  2010-05-14  |  5KB  |  91 lines

  1. 10  REM *** HANG * MATH
  2. 20  REM *** VERSION 1.2
  3. 100 V1 =  PEEK(78) +256 * PEEK(78):V1 =  RND(V1): DIM R$(8),F(9,5),A(5,5),P$(5,5),N(5): FOR I = 1 TO 8: READ R$(I): NEXT 
  4. 110  TEXT : HOME : HTAB 14: PRINT "MATH * GUESS": HTAB 14: PRINT "VERSION  2.0": PRINT : HTAB 12: PRINT "BY DOUG  TRUEMAN": HTAB 10: PRINT "FOR BIG RED COMPUTER
  5. 120  PRINT : HTAB 9: PRINT "REVISED FROM HANG MATH": HTAB 13: PRINT "AUTHOR  UNKOWN"
  6. 130  PRINT : PRINT : PRINT "MATH * GUESS - A GAME OF SKILL, LUCK,   AND DEDUCTION": PRINT : PRINT "PLAY AT LEAST 3 GAMES TO GET AN ACCURATEPERFORMANCE RATING."
  7. 140  POKE  -16368,0: VTAB 23: HTAB 7: PRINT "PRESS ANY KEY TO CONTINUE.";: GET PT$: PRINT 
  8. 150 Q =  RND(1):G = 0:T = 0
  9. 160  VTAB 23: PRINT  SPC( 39): VTAB 23: HTAB 10: PRINT "WAIT WHILE I SET UP"
  10. 170  FOR I = 1 TO 5: FOR J = 1 TO 5:P$(I,J) = "*":A(I,J) = 999: NEXT : NEXT : FOR I = 0 TO 9: FOR J = 1 TO 5:F(I,J) = 0: NEXT : NEXT :A(1,1) =  INT(10 * RND(1))
  11. 180 A(2,1) =  INT(10 * RND(1)):A(3,1) =  INT(9 * RND(1)) +1:A(1,2) =  INT(10 * RND(1))
  12. 190 A(2,2) =  INT(9 * RND(1)) +1:N(1) = 100 *A(3,1) +10 *A(2,1) +A(1,1)
  13. 200 N(2) = 10 *A(2,2) +A(1,2):N(3) = A(1,2) *N(1):N(4) = A(2,2) *N(1) *10
  14. 210 N(5) = N(1) *N(2): FOR  I = 5  TO  1   STEP   -1:M = 10 ^(I -1): FOR  J = 3  TO  5
  15. 220 Q = N(J)/M:A(I,J) =  INT(Q +.001): NEXT  J
  16. 221  FOR  J = 3  TO  5:N(J) = N(J) -A(I,J) *M:N(J) =  INT(N(J) +.9): NEXT  J
  17. 230  NEXT  I:A(1,4) = 999:A(5,3) = 999:B$ = "  ":N1 = 0:N5 = 7: GOTO  360
  18. 240 N1 = N1 +1
  19. 250  PRINT "DIGIT? ";
  20. 260  GET V1$:MIN = 0:MAX = 9: GOSUB 1000:D = V1: IF FLAG  THEN 260
  21. 270  PRINT D: PRINT "COLUMN? ";
  22. 280  GET V1$:MIN = 1:MAX = 5: GOSUB 1000:C = V1: IF FLAG  THEN 280
  23. 290  PRINT C
  24. 300 N9 = N5
  25. 320  IF F(D,C) < >0  THEN  GOSUB 1200: GOTO 360
  26. 340 F(D,C) = 1: FOR  I = 1  TO  5: IF  A(C,I) < >D   THEN  350
  27. 345 P$(C,I) =  STR$(D):N5 = N5 +1
  28. 350  NEXT  I: IF  N9 <N5   THEN  N1 = N1 -1
  29. 360  HOME 
  30. 361  PRINT  SPC( 10)"M A T H * G U E S S": VTAB (4)
  31. 365  PRINT  SPC( 15)B$;B$;P$(3,1);P$(2,1);P$(1,1): PRINT 
  32. 370  PRINT  SPC( 14)B$;B$;B$;P$(2,2);P$(1,2)
  33. 372  HTAB 15: PRINT "-----------"
  34. 380  PRINT  SPC( 16)B$;P$(4,3);P$(3,3);P$(2,3);P$(1,3): PRINT 
  35. 390  PRINT  SPC( 17)P$(5,4);P$(4,4);P$(3,4);P$(2,4);B$
  36. 392  HTAB 15: PRINT "-----------"
  37. 400  PRINT  SPC( 17)P$(5,5);P$(4,5);P$(3,5);P$(2,5);P$(1,5): PRINT 
  38. 410  PRINT "NO.MISSES=";N1: IF  N5 <25   THEN  240
  39. 420  PRINT : PRINT "YOU GOT IT":G = G +1:T = T +N1:V = T/G
  40. 430  PRINT : PRINT "AVERAGE NUMBER OF MISSES AFTER "G: PRINT "GAMES IS "V: PRINT 
  41. 440  PRINT "HOW ABOUT ANOTHER GAME? (Y/N) ";
  42. 445  GET Q$: IF Q$ = "Y"  OR Q$ = "y"  THEN  PRINT : GOTO 160
  43. 447  IF Q$ < >"N"  AND Q$ < >"n"  THEN  GOTO 445
  44. 450 Q = V/2:Q =  INT(Q): IF  Q <1   THEN  Q = 1
  45. 460  IF  Q >8   THEN  Q = 8
  46. 470  HOME : PRINT : PRINT "YOUR PERFORMANCE RATING WAS ";: PRINT R$(Q): VTAB 10: HTAB 18: PRINT "BYE"
  47. 480  POKE  -16368,0: VTAB 23: HTAB 7: PRINT "PRESS ANY KEY TO CONTINUE.";: GET PT$: PRINT 
  48. 490  ONERR  GOTO 510
  49. 500  PRINT  CHR$(4)"-STARTUP": END 
  50. 510  PRINT : POKE 216,0: PRINT  CHR$(4)"CATALOG": END 
  51. 1000 FLAG = 0:V1 =  INT( VAL(V1$)): IF V1 <MIN  OR V1 >MAX  OR  STR$(V1) < >V1$  THEN FLAG = 1: RETURN 
  52. 1030  RETURN 
  53. 1200  HOME : PRINT "YOU GUESSED "D" IN COLUME "C" BEFORE."
  54. 1210  PRINT : PRINT "   PREVIOUS GUESSES BY COLUMN": FOR I = 1 TO 5
  55. 1220  PRINT "COL.";I;":";: FOR J = 0 TO 9: IF F(J,I) = 1  THEN  PRINT J;: NEXT : PRINT : NEXT : PRINT : IF J = 10  THEN 1240
  56. 1230  NEXT : PRINT : NEXT : PRINT 
  57. 1240  POKE  -16368,0: VTAB 23: HTAB 7: PRINT "PRESS ANY KEY TO CONTINUE.";: GET PT$: RETURN 
  58. 2000  DATA EXCELLENT,VERY GOOD,GOOD,ABOVE AVERAGE,ABOUT AVERAGE
  59. 2010  DATA BELOW AVERAGE,FAIR,POOR
  60. 3000  REM *** VERSION 1.1
  61. 3010  REM ** 3/12/87
  62. 3020  REM ** DOUG TRUEMAN
  63. 3025  REM ** FOR BIG RED COMPUTER
  64. 3030  REM ** ADAPTED FROM HANGMATH
  65. 3040  REM ** AUTHOR UNKNOWN
  66. 3050  REM ** INPUT ROUTINES IMPROVED
  67. 3060  REM ** FORMAT OF PROBLEMS FIXED
  68. 3065  REM ** ADDED TRUE RANDOM
  69. 3070 :
  70. 3080  REM *** VERSION 2.0
  71. 3090  REM ** 6/2/87
  72. 3100  REM ** BY DT FOR BRC
  73. 3110  REM ** FIXED FATAL FLAW IN 20
  74. 3120  REM ** ADDED CREDIT LINES
  75. 3130  REM ** IMPROVED INPUT ROUTINES
  76. 3140  REM ** ADDED ENDING ROUTINE
  77. 3150  REM ** ADDED WAIT MESSAGE
  78. 3160  REM ** IMPROVED FORMAT
  79. 3170  REM ** IMPROVED TITLE PAGE
  80. 3180  REM ** BETTER FORMAT OF RATING
  81. 3190  REM ** FIXED NESTING ERR IN LINES 1220 - 1230
  82. 3199 :
  83. 3200  REM *** VERSION 2.1
  84. 3210  REM ** 12/1/87
  85. 3220  REM ** BY DT FOR BRC
  86. 3230  REM ** CONVERTED TO PRODOS
  87. 3299 :
  88. 3300  REM *** VERSION 2.2
  89. 3310  REM ** 1/22/88
  90. 3320  REM ** BY DT FOR BRAC
  91. 3330  REM ** MINOR CHANGE TO END ROUTINE