home *** CD-ROM | disk | FTP | other *** search
/ The CIA World Factbook 1992 / k3bimage.iso / sel / 01 / 0073 / fence.bas next >
Encoding:
BASIC Source File  |  1991-12-02  |  5.3 KB  |  139 lines

  1. 99  OPTION BASE 1
  2. 100 CLS
  3. 110 KEY OFF
  4. 120 LOCATE 6,10 : PRINT "Welcome to the game of FENCE.  Enter one of the "
  5. 130 LOCATE 8,10 : PRINT "numbers below to begin game."
  6. 140 LOCATE 10,10: PRINT "      1 = Instructions"
  7. 150 LOCATE 12,10: PRINT "      2 = Begin game with skill level of ADVANCED"
  8. 160 LOCATE 14,10: PRINT "      3 = Begin game with skill level of INTERMEDIATE"
  9. 170 LOCATE 16,10: PRINT "      4 = Begin game with skill level of BEGINNER"
  10. 180 LOCATE 18,10: PRINT "      0 = Quit
  11. 190 A$=INKEY$:IF A$="" THEN 190
  12. 200 IF A$="1" THEN GOSUB 1030 : GOTO 100
  13. 210 IF A$="2" THEN SKILL=3 : GOTO 260
  14. 220 IF A$="3" THEN SKILL=6 : GOTO 260
  15. 230 IF A$="4" THEN SKILL=10: GOTO 260
  16. 240 IF A$="0" THEN CLS : END
  17. 250 GOTO 110
  18. 260 CLS
  19. 280 RANDOMIZE(VAL(MID$(TIME$,7,2)))
  20. 290 KEY OFF
  21. 300 DIM FFFFF$(23)
  22. 305 FFFFF$(1)=STRING$(80,220) : PRINT FFFFF$(1)
  23. 310 FOR I=2 TO 22
  24. 320    FFFFF$(I)=CHR$(221)+STRING$(78," ")+CHR$(222)
  25. 322    LOCATE I,1 : PRINT CHR$(221)
  26. 325    LOCATE I,80: PRINT CHR$(222)
  27. 330 NEXT I
  28. 332 FFFFF$(23)=STRING$(80,223)
  29. 333 LOCATE 23,1
  30. 335 PRINT FFFFF$(23);
  31. 336 LOCATE 1,1 : PRINT CHR$(220)
  32. 350 TR=2 : TC=2
  33. 360 STIME=0
  34. 370 CA=1
  35. 380 RA=0
  36. 390 C=5
  37. 400 R=4
  38. 410 HUNTER$=CHR$(26)
  39. 420 REM -------------->>>  Begin  Hunt
  40. 430 GOSUB 820
  41. 440 GOSUB 570
  42. 450 IF CHR$(219)=A$ THEN 980
  43. 455 IF A$="0" THEN 3000
  44. 460 IF RA<>0 THEN 520
  45. 470 IF (C=79) AND (CA=1) THEN CA=-1 : HUNTER$=CHR$(27)
  46. 480 IF (C=2) AND (CA=-1) THEN CA=1 : HUNTER$=CHR$(26)
  47. 490 LOCATE R,C : PRINT A$ : LOCATE R,C+CA : PRINT HUNTER$
  48. 500 C=C+CA
  49. 510 GOTO 420
  50. 520 IF (R=2) AND (RA=-1) THEN RA=1 : HUNTER$=CHR$(25)
  51. 530 IF (R=22) AND (RA=1) THEN RA=-1: HUNTER$=CHR$(24)
  52. 540 LOCATE R+RA,C : PRINT HUNTER$ : LOCATE R,C : PRINT A$
  53. 550 R=R+RA
  54. 560 GOTO 420
  55. 570 REM ===================================================================
  56. 580 REM ========  Subroutine to read a char and continue   ================
  57. 590 REM ===================================================================
  58. 600 A$ = INKEY$
  59. 605 IF A$="0" THEN RETURN
  60. 610 IF A$="/" OR A$="\" THEN 630
  61. 620 A$=MID$(FFFFF$(R),C,1)
  62. 630 IF " "=MID$(FFFFF$(R),C,1) THEN MID$(FFFFF$(R),C,1) = A$
  63. 640 IF (A$<>"/") AND (A$<>"\") THEN RETURN
  64. 650 IF RA=0 THEN IF CA = -1 THEN IF A$="/" THEN 740
  65. 660 IF RA=0 THEN IF CA = -1 THEN IF A$="\" THEN 760
  66. 670 IF RA=0 THEN IF CA = 1 THEN IF A$="\" THEN 740
  67. 680 IF RA=0 THEN IF CA = 1 THEN IF A$="/" THEN 760
  68. 690 IF CA=0 THEN IF RA = -1 THEN IF A$="/" THEN 800
  69. 700 IF CA=0 THEN IF RA = -1 THEN IF A$="\" THEN 780
  70. 710 IF CA=0 THEN IF RA=1 THEN IF A$="/" THEN 780
  71. 720 IF CA=0 THEN IF RA=1 THEN IF A$="\" THEN  800
  72. 730 RETURN
  73. 740 REM   a$="/" , ra=0 , ca = -1  or ra=0,ca=1,a$=\
  74. 750 CA=0:RA=1:HUNTER$=CHR$(25):RETURN
  75. 760 REM  ra=0,ca=1,/  or ra=0,ca=-1,\
  76. 770 CA=0:RA=-1:HUNTER$=CHR$(24):RETURN
  77. 780 REM   ca=0,ra=1,/   or   ca=0,ra=-1,\
  78. 790 CA=-1:RA=0:HUNTER$=CHR$(27):RETURN
  79. 800 REM   ca=0,ra=1,\   or   ca=0,ra=-1,/
  80. 810 CA=1:RA=0:HUNTER$=CHR$(26):RETURN
  81. 820 REM -------->>>      check time and move target every 10 seconds
  82. 830 KK$=TIME$
  83. 840 LL=3600*VAL(MID$(KK$,1,2))
  84. 850 LL=LL+60*VAL(MID$(KK$,4,2))
  85. 860 LL=LL+VAL(MID$(KK$,7,2))
  86. 870 IF (LL-STIME)<SKILL  THEN RETURN
  87. 880 STIME=LL
  88. 890 MID$(FFFFF$(TR),TC,1)=" "
  89. 900 LOCATE TR,TC : PRINT " "
  90. 910 TR=INT(RND*100)
  91. 920 IF (TR<2) OR (TR>22) THEN 910
  92. 930 TC=INT(RND*100)
  93. 940 IF (TC<2) OR (TC>79) THEN 930
  94. 950 MID$(FFFFF$(TR),TC,1)=CHR$(219)
  95. 960 LOCATE TR,TC : PRINT CHR$(219)
  96. 970 RETURN
  97. 980 REM ---------->>>  Hunt is over
  98. 990 CLS
  99. 1000 LOCATE 10,35 : PRINT " B O O M"
  100. 1010 LOCATE 23,27 : COLOR 0,7 : PRINT " Press any key to continue OR enter 'EXIT'":COLOR 7,0
  101. 1011 INPUT RESPONSE$
  102. 1012 IF RESPONSE$ = "EXIT" OR RESPONSE$= "exit" THEN CHAIN "MENU"
  103. 1015 ERASE FFFFF$
  104. 1020 GOSUB 1260 : GOTO 100
  105. 1030 REM -------->>> Instructions
  106. 1040 CLS
  107. 1050 PRINT
  108. 1060 PRINT"  The object of the game of FENCE is to 'KILL' the target.  The"
  109. 1070 PRINT"target (shown on the screen as "+CHR$(219)+") will change locations"
  110. 1080 PRINT"at regular time intervals depending upon the skill level you"
  111. 1090 PRINT"select:"
  112. 1100 PRINT"           ADVANCED:     Target will move every 3 seconds"
  113. 1110 PRINT"           INTERMEDIATE: Target will move every 6 seconds"
  114. 1120 PRINT"           BEGINNER:     Target will move every 10 seconds"
  115. 1130 PRINT
  116. 1140 PRINT"  The 'hunter' will stalk along at a steady pace.  You can change"
  117. 1150 PRINT"the direction of the hunter by putting up a fence (\ or /) which"
  118. 1160 PRINT"will change the hunters direction depending upon the direction"
  119. 1170 PRINT"he is currently travelling.  For example:"
  120. 1180 PRINT
  121. 1190 PRINT"    "+STRING$(5,26)+"\            /"+STRING$(5,27)
  122. 1200 PRINT"        "+CHR$(25)+"              "+CHR$(25)
  123. 1210 PRINT"        "+CHR$(25)+"              "+CHR$(25)
  124. 1220 PRINT"        "+CHR$(25)+"              "+CHR$(25)
  125. 1222 PRINT
  126. 1224 PRINT"     If you want to give up a hunt, just enter 0"
  127. 1230 LOCATE 23,20: COLOR 0,7 : PRINT " Press any key to continue " : COLOR 7,0
  128. 1240 GOSUB 1260 :RETURN
  129. 1250 RETURN
  130. 1260 REM -------->>>  wait
  131. 1270 A$=INKEY$: IF A$="" THEN 1270
  132. 1280 RETURN
  133. 3000 REM --------->>>  Give up a hunt
  134. 3010 CLS
  135. 3020 LOCATE 10,20:COLOR 0,7:PRINT" I knew you could'nt do it ":COLOR 7,0
  136. 3030 LOCATE 23,20:PRINT" Press any key to continue ": COLOR 7,0
  137. 3040 ERASE FFFFF$ : GOSUB 1260 : GOTO 100
  138. do it ":COLOR 7,0
  139. 3030 LOCATE 23,2