Игровое поле представляет собой квадрат 10 на 10 клеток.
Где-то на одной из них затаился оборотень. Ван надо найти его. Вы
вводите координаты клетки, где по-Вашену должен находиться оборо-
тень, а в ответ получите данные о тон, как далеко от этого места он
находится. Ответ может быть дан в различном виде: это, например,
шкала "холодно" - "горячо", или указание расстояния до цели (в
клетках) или же направление (север, юг, юго-восток и т.д.). Резуль-
тат может быть выдан в виде азимута на цель (в градусах) или от це-
ли на Вас или в виде вектора от Вас до цели или же от цели до Вас.
Причем Вы можете выбрать метод сами, как и условие неподвижности
оборотня или возможности его самостоятельного перемещения по игро-
вому полю.
1 GO ТО 10
2 CLEAR 64599: LOAD "chr"C0DE
64600
4 GO SUB 5000: RUN
5 SAVE "HUNT" LINE 2: STOP
8 POKE 23606,88: POKE 23607,2
51: RETURN
9 POKE 23606,0: POKE 23607,60
: RETURN
10 GO SUB 8
12 POKE 23561,0: POKE 23562,0
13 REM ** ОХОТА НА ОБОРОТНЯ «*
14 REM • РИЧАРД БЕННЕТТ,1985 *
20 LET G=l: LET T=0: LET F=0:
GO SUB 90
22 PRINT AT 11,4;" ВАМ НУЖНА И
НСТРУКЦИЯ?"
25 PRINT AT 14,6;"НАЖМИТЕ ""У"
" ИЛИ " "N'.....
30 LET K$=-INKEY$: IF K$="" ТЦЕ
N GO TO 30
31 BEEP .1,15
35 IF K$="N" OR K$»"n" THEN G
О TO 100
40 IF K$o"y" AND К$<>"УМ THEN
BEEP .5,0: GO TO 30
50 CLS : GO SUB 91
52 PRINT AT 8,0; "
УЖАСНЫЙ, СТРАШНЫЙ ОБОРОТЕНЬ"
54 PRINT INK 7; PAPER 2; BRIG
HT 1;AT 10,14;"DE ";
AT 11.14:"F3G" :
AT 12,14;"HIK"
56 PRINT AT 14,0; "
СКРЫВАЕТСЯ ГДЕ-ТО НА ИГРОВОМ
ПОЛЕ :-"
58 GO SUB 95
60 GO SUB 1000: GO SUB 95
62 GO SUB 90
64 PRINT AT 5,0; "
ВЫ ДОЛЖНЫ ПОСТАРАТЬСЯ ОТГАДАТЬ,
ГДЕ ЖЕ ЗАТАИЛСЯ ОБОРОТЕНЬ."
68 PRINT AT 9,0; "
ДЛЯ ЭТОГО УКАЖИТЕ КООРДИНАТЫ,
ГДЕ ПО-ВАШЕМУ ОН СЕЙЧАС
НАХОДИТСЯ:"
69 PRINT INK 2;AT 14,14; FLAS
H 1;"4 5"; FLASH 0; INK 7;AT 14,
15;"-"
70 GO SUB 95: GO SUB 1000: LET
X=4: LET У=5: LET C$=" БАХ!": G
О SUB 3000: GO SUB 95
72 GO SUB 90
74 PRINT AT 6,0; "
ВЫ МОЖЕТЕ ПОЛЬЗОВАТЬСЯ РАЗЛИЧ-
НЫМИ СПОСОБАМИ,ЧТОБЫ КАК МОЖНО
СКОРЕЕ ИЗБАВИТЬСЯ ОТ УЖАСНОГО
ОБОРОТНЯ."
76 PRINT AT 12,0; "
ВЫ МОЖЕТЕ ВЫБРАТЬ ОДИН ИЗ ТЕХ
СПОСОБОВ, КОТОРЫЕ ПЕРЕЧИСЛЕНЫ
В МЕНЮ ВЫБОРА ПОИСКА:-"
78 GO SUB 95: LET F=1: GO SUB
100: LET F=0: GO SUB 95: GO SUB
90
80 PRINT AT 8,0; "
НО НАИЛУЧШИЙ СПОСОБ ПОИСКА ВЫ
СМОЖЕТЕ НАЙТИ ТОЛЬКО ВО ВРЕМЯ
НЕОДНОКРАТНОГО ПОВТОРЕНИЯ ИГРЫ.
■I Q
82 PRINT AT 13,0; INK 9; "
КОГДА ВЫ НАЧИНАЕТЕ ИГРУ
СНАЧАЛА, ТО ВЫ ПОПАДАЕТЕ" ' " " ;
PAPER 1; INK 7;"В МЕНЮ ВЫБОРА СП
ОСОБА ПОИСКА."
84 GO SUB 95: GO ТО 100
90 BORDER О: PAPER О: INK 7: В
RIGHT 1: CLS
91 PRINT AT 0,0; INK 6; INVERS
El;"О X О T А НА ОБОРО
T H Я": RETURN
95 PAUSE 25: PRINT #1;AT 1,2;
BRIGHT 1; FLASH 1;"НАЖМИТЕ ""с""
ДЛЯ ПРОДОЛЖЕНИЯ": PAUSE О
96 LET K$=INKEY$: IF K$="" THE
N GO TO 96
97 IF CODE INKEY$<>67 AND CODE
INKEY$<>99 THEN BEEP .5,0: GO
TO 96
98 BEEP .1,15: RETURN
100 REM ***** МЕНЮ *****
101 BORDER- 1: PAPER 1: INK 7: В
RIGHT 1: CLS
105 PRINT AT 0,0; INK 6; INVERS
El; "ОХОТА НА ОБОРО
T H Я"
110 PRINT AT 1,0;" КАКИМ СПОСОБ
ОМ БУДЕТЕ ИСКАТЬ ? "
112 PRINT BRIGHT О;"
ii
115 PRINT " 1 - ЦЕЛЬ ВИДНА! НЕ
ПРОМАЖЬТЕ!"
120 PRINT ■" 2 - ХОЛОДНО / ГОРЯ
40"
125 PRINT ■" 3 - РАССТОЯНИЕ ДО
ЦЕЛИ"
130 PRINT 4 - НАПРАВЛЕНИЕ(С,
Ю,В,СВ,ЮВ ..)"
135 PRINT '" 5 - АЗИМУТ"
140 PRINT '" 6 - ВЕКТОР"
145 PRINT 7 - ЦЕЛЬ ДВИЖЕТСЯ;
ХОЛОД./ГОРЯЧО"
150 PRINT 8 - ЦЕЛЬ ДВИЖЕТСЯ;
РАССТОЯНИЕ"
155 PRINT 9 - ЦЕЛЬ ДВИЖЕТСЯ;
НАПРАВЛЕНИЕ"
160 PRINT '"О - ЦЕЛЬ ДВИЖЕТСЯ;
АЗИМУТ"
161 IF F-l THEN RETURN
165 PRINT #1;AT 1,3; INK 6; BRI
GHT 1," КАКОЙ СПОСОБ ВЫБИРАЕТЕ?"
170 LET KS«INKEY$: IF K$="" THE
N GO TO 170
180 IF CODE K$>57 OR CODE KS<48
THEN BEEP .5,5. GO TO 170
181 LET T=VAL K$: IF T=0 THEN
LET T=10
185 BEEP .1,15' IF T<4 OR T=7 О
R T»8 THEN GO TO 500
190 BORDER 2:PAPER 2:INK 7:CLS
200 REM *«* СПОСОБ ПОИСКА *«*
201 PRINT AT 0,0; INK 6; INVERS
El;"
ОХОТА НА ОБОРО
T H Я
ii
205 PRINT AT 7,0;" ЗАДАЙТЕ БОЛЕ
E ПРИВЫЧНЫЙ ДЛЯ ВАС СПОСОБ УКАЗА
НИЯ НАПРАВЛЕНИЯ:-"
210 PRINT AT 11,0;" 1 - НАПРАВЛ
ЕНИЕ ОТ ВАС НА ВРАГА"
215 PRINT AT 14,0;" 2 - НАПРАВЛ
ЕНИЕ ОТ ВРАГА НА ВАС"
220 PRINT AT 18,8; INVERSE 1; В
RIGHT 1;" СДЕЛАЙТЕ ВЫБОР "
230 LET KS=INKEYS: IF K$="" THE
N GO TO 230
231 LET K-CODE K$
235 let k$«chr$ к
240 if k<49 or k>50 then beep
-5,10: go to 230
250 beep .1,15: let t$=k$
500 rem ** управляющий цикл *«
505 rem **********************
510 go sub 900
515 let g-l
520 go sub 1000
530 go sub 1500
540 if x-=hx and y=hy then go t
о 3300
550 go sub 2000
570 go sub 3000
580 let g-g+l: if g-ll then go
to 3400
590 go to 530
900 let hx-int (rnd*9)
910 let hy=int (rnd*9)
920 return
1000 rem *** игровое поле ***
1001 rem ********************
1005 border 5: paper 5: ink o.-cls
1015 print at 0,0; bright 1;"
1016 print inverse 1;at 1,22;"0
хота ha":at 2,22;"оборотня"; inv
erse 0,at 4,21;"ходсэффект";at 5
,21;"BBBABBBBBBB"
1017 for k-6 to 16: print at k,2
4;"c": next к
1018 print at 17.21:"bbbabbbbbbb
II
1019 print at 1,0;
1020 for k-=l to 9
1025 print ink 2; bright 1;10-k
; ink 1 : "abababababababababa "
1030 print ink 1; bright 1;" с
CCCCCCCCC "
1035 next к
1040 print bright 1; ink 2;"0";
ink 1:"abababababababababa "
1045 print bright 1; ink 2;" 0
123456 7 89 "
1050 print bright 1;"
и
1060 if tol then return
1070 print at 18-(hy*2),(hx*2);
ink 7; paper 2; bright 1;"de ";
at 19-(hy»2),(hx«2);"£2£";
at 20-(hy«2) . (hx*2 ) : "hik"
1080 return
1500 rem *«« метод поиска *•«
1501 print #1; at 1,1; paper 5; в
right 1;"пожалуйста, ваш ход ном
ЕР " ;G
1505 let l=21: print at 19,l; fl
ash 1;"?"; flash 0;"- "
1510 let k$=inkey$: if k$="" the
n go to 1510
1520 if code k$<58 and code k$>4
7 and l<25 then beep 1,15: go
to 1560
1525 if code ks-13 and l-25 then
beep .1,15: go to 1600
1530 if code k*<>12 then beep .
5,10: go to 1510
1531 beep .1,15
1535 if l=21 then beep .5,10: g
о to 1510
1540 if l=25 then print at 19,2
3; flash 1;"?" let l=23 print
at 20,21;" ";at 21,21;
": go to 1510
1550 go to 1505
1560 print at 19,l; ink 2; flafeh
l;K$
1570 if l=21 then let x=val ks:
print at 19,23; flash 1;"?"
1580 if l=23 then let y-val k$:
print at 20,21; flash 1. bright
1;"нажмите del";at 21,21;" или
enter "
1590 let l=l+2: go to 1510
•1600 print at 20,21;"
";at 21,21;" "
1610 return
2000 rem ** отработка метода ••
2020 IF T<7 THEN GO TO 2000+(50
»T)
2025 GO TO 1750+(T*50)
2050 LET C$=" МИМО" RETURN
2100 LET D=ABS (HX-X)+ABS (HY-Y)
2105 IF D>10 THEN LET С$="ПОЛЮС
!!": RETURN
2110 GO SUB 2130+D
2115 IF T<7 THEN RETURN
2120 GO TO 2500
2131 LET С$-"ОГОНЬ!!": RETURN
2132 LET С$=,,ГОРЯЧО!": RETURN
2133 LET С»="АФРИКА": RETURN
2134 LET С$="ЖАРКО": RETURN
2135 LET С$-"ТЕПЛО": RETURN
2136 LET «-"ВЕСНА": RETURN
2137 LET С$="ХОЛОДНО": RETURN
2138 LET С$=-"ТУНДРА". RETURN
2139 LET С$-"ЛЕД!": RETURN
2140 LET С$="ПОЛЮС!!": RETURN
2150 LET D=ABS (HX-XJ+ABS (HY-Y)
2155 IF D<10 THEN LET C$-" "+S
TR$ D: GO TO 2115
2160 LET C$-n "+STRS D
2165 GO TO 2115
2200 LET C$-" ": IF T*="2" THEN
GO TO 2230
2205 IF Y<HY THEN LET C$="C$+"C"
2210 IF Y>HY THEN LET С»-С$+"Ю"
2215 IF X<HX THEN LET C$=C$+"B"
2220 IF X>HX THEN LET C$=C$+"3"
2225 GO TO 2248
2230 IF Y<HY THEN LET С$=С$+"Ю"
2235 IF Y>HY THEN LET C$=C$+"C"
2240 IF X<HX THEN LET CJ=C$+"3"
2245 IF X>HX THEN LET CJ-C$+"B"
2248 IF T>6 THEN GO TO 2500
2249 RETURN
2250 LET C»0: LET DX-HX-X: LET D
Y=HY-Y: LET AX-ABS DX: LET AY=AB
S DY
2251 IF DX-0 OR DY=0 THEN GO TO
2254
2252 LET C=INT (((ATN (AX/AY))/P
I)*180)
2254 IF DX>=0 AND SGN D¥=l THEN
LET C-C+O: GO TO 2260
2255 IF DX>0 AND DY<=0 THEN LET
C-C+90: GO TO 2260
2256 IF DX<-0 AND SGN DY—1 THEN
LET C=C+180: GO TO 2260
2257 IF SGN DX=-1 AND DY>=0 THEN
LET C-C+270
2260 IF T$="2" AND C<-180 THEN
LET C-0180: GO TO 2265
2261 IF T$="2" AND 0180 THEN L
ET C=C-1B0
2265 IF C>=100 THEN LET C$=(STR
$ C)+"L": GO TO 2290
2270 IF C<10 THEN LET C$=" "+S
TR$ C+"L": GO TO 2290
2275 LET CS=" "+STR$ C+"L"
2290 IF T>6 THEN GO TO 2500
2295 RETURN
2300 REM *** ВЕКТОР ***
2305 LET ........ IF T$-"2" THEN
LET DX=X-HX" LET DY=Y-HY: GO TO
2320
2310 LET DX=HX-X: LET DY=HY-Y
2320 IF DX>=0 THEN LET C$=" "
2325 LET C$=CJ+STR$ DX
2330 IF DY>=0 THEN LET C$=C$+" "
2335 LET C$=CJ+STR$ DY
2340 IF T>6 THEN GO TO 2500
2345 RETURN
2500 LET DX=0: LET DY-0: LET DX=
INT (RMD*3)-1■ IF DX<>0 THEN GO
TO 2530
2505 LET DY=INT (RND*3)-1
2530 IF HY+DY>-0 AND HY+DY<10 TH
EN LET HY=HY+DY
2540 IF HX+DX>-0 AND HX+DXC10 TH
EN LET HX=HX+DX
2550 RETURN
3000 REM *** ТОЧКА ПОПАДАНИЯ «**
ЗОЮ PRINT AT 5+G,21;X;"-" ; Y ;AT
5+G,25;C$
3015 PRINT AT 19-(Y*2),1+(X*2);
INK 2; PAPER 6: FLASH 1; BRIGHT
1;"M". BEEP 2,0
3020 PRINT AT 19-(Y*2),1+(X*2);
INK 7; PAPER 2; BRIGHT 1;G
' 3050 RETURN
3300 REM «** ПОПАДАНИЕ! »**
3310 LET C$="ECTb!!!"
3315 PRINT AT 5+G,21;X;"-";Y;AT
5+G,25;C$
3320 PRINT AT 19-(Y*2),1+(X*2);
INK 2; PAPER 6; FLASH 1; BRIGHT
1; "И"
3321 BEEP .3,8- BEEP .3,8: BEEP
.3,8: BEEP .3,8: BEEP .4,4: BEEP
.2,8: BEEP 1,11
3325 PRINT INK 7; PAPER 2; BRIG
HT 1; FLASH 1;
AT 18-(Y*2),(X*2);"DE ";
AT 19-(Y»2)■(X*2);"F3G":
AT 20-(Y«2)■fX*2):"HIK"
3326 IF G=1 THEN LET S$=" ": G
О TO 3330
3327 IF G>=2 AND G<=4 THEN LET
S$="A ": GO TO 3330
3329 LET SS-'^B"
3330 PRINT #1;AT 1,1, BRIGHT 1;
PAPER 6; INK 2;"ОБОРОТЕНЬ ПОБЕЖД
EH ЗА ";G;" ХОД";S$
3340 PAUSE 200
3350 INPUT ;: GO SUB 95
3355 LET K$=INKEY$: IF K$="" THE
N GO TO 3355
3375 GO TO 3500
3400 REM »** ПРОМАХ! ***
3401 REM ***************
3402 FOR K-16 TO -16 STEP -1: BE
EP .05,K: NEXT К
3403 PRINT #1;AT 1,1; INK 0; PAP
ER 5;" "; BRIGHT 1; FLASH 1;" О
БОРОТЕНЬ БЫЛ В ПОЗ. ";НХ;"-";HY;
ч а
3405 PRINT INK 7; PAPER 2; BRIG
HT 1; FLASH 1;
AT 18-(HY*2),(HX»2);"EE ";
AT 19-(HY*2),(HX*2);"£JS";
AT 20-(HY*2) , (HX*2) ;nEIK"
3410 LET CI="XA-XA!"
3420 PRINT AT 5+G,21; BRIGHT 1;
FLASH 1;HX;"-";HY;AT 5+G,25;CS
3425 PAUSE 500: GO TO 3350
3500 REM *»* КОНЕЦ ИГРЫ *»•
3505 REM ******************
3510 PAPER 4: INK 0: BORDER 4: В
RIGHT 1: CLS
3515 PRINT AT 0,0; PAPER 0; INK
7; INVERSE 1;"
ОХОТА НА О
Б О P О- T Н Я
3520 PRINT AT 6,5; FLASH 1; INK
2;" КОНЕЦ ИГРЫ"
3525 PRINT AT 8,2," ВЫ МОЖЕТЕ :-
И
3530 PRINT ' "
1 - СЫГРАТЬ ЕЩЕ РАЗ С ТЕМ ЖЕ
МЕТОДОМ ПОИСКА"
3535 PRINT 1
2 - СЫГРАТЬ, ВЫБРАВ НОВЫЙ МЕТОД
ПОИСКА"
3540 PRINT 1 "
3 - ЗАКОНЧИТЬ ИГРУ"
3545 PRINT AT 20,5; BRIGHT 1; FL
ASH 1;"КАКИМ БУДЕТ ВАШ ВЫБОР?"
3550 LET K$=INKEY$: IF К»-"" THE
N GO TO 3550
3555 BEEP .1,15
3560 IF CODE K$<49 OR CODE K$>51
THEN BEEP .5,0 GO TO 3550
3565 GO TO 3560+(VAL K$*10)
3570 PRINT AT 10,1; BRIGHT 1; FL
ASH 1; INK 2;" 1" FOR K=1 TO 30:
NEXT К: GO TO 50O
3580 PRINT AT 13,1; BRIGHT 1; FL
ASH 1; INK 2;"2": FOR K=1 TO 30.
NEXT K: GO TO 100
3590 PRINT AT 16,1; BRIGHT 1; FL
ASH 1; INK 2;"3" : FOR K-l TO 30:
NEXT К
3600 REM * ЗАВЕРШЕНИЕ ПРОГРАММЫ
3605 REM **********************
3610 CLS
3615 PRINT AT 10,0; FLASH 1; PAP
ER 0; INK 7;" ВЫ ХОТИТЕ ЗАВЕРШИТ
Ь ПРОГРАММУ? "
3620 PRINT AT 13,6;"НАЖМИТЕ ""Y"
| ИЛИ ""N"""
3625 LET K$-INKEY$: IF K$="" THE
N GO TO 3625
3630 BEEP 1,15
3635 IF K$-"y" OR K$="Y" THEN G
О TO 9999
3640 IF K$="n" OR K$="N" THEN G
О TO 3500
3645 BEEP .5,0: GO TO 3625
5000 REM *** U D G ***
5001 REM *************
5010 FOR K=65368 TO 65471
5015 READ A: POKE K,A
5020 NEXT К
5025 POKE 23675,88. POKE 23676,2
55: RETURN
5050 DATA 24,24,24,255,255,24,24
.24
5052 DATA 0,0,0,255,255,0,0,0
5054 DATA 24,24,24,24,24,24,24,2
4
5056 DATA 0,0,16,56,84,16,16,16
5058 DATA 24,24,24,0,0,85,85,127
5060 DATA 16,16,48,175,175,48,16
,16
5062 DATA 120,48,48,243,243,0,0,
0
5064 DATA 16,16,16,19,19,0,0,0
5066 DATA 99,99,99,227,247,0,0,2
4
5068 DATA 127,73,91,255,201,65,8
5,127
5070 DATA 0,0,0,240,240,0,0,0
5072 DATA 48,72,72,48,0,0,0,0
5074 DATA 0,73,42,0,99,0,42,73
9999 BORDER 7: PAPER 7: INK О: В
RIGHT 0
UB VAL "1E3": POKE VAL "57602",V
AL "9": POKE VAL "57603",NOT PI:
LET STR=NOT PI: BORDER VAL "2":
INK NOT PI" PAPER VAL "6": BRIG
HT SGN PI: OVER NOT PI: CLS : FO
R X-NOT PI TO VAL "5": PRINT PA