АНАКОНДА
Игра начинается с простой заставки, в которой, кроме названия программы и имени города, где она создана, помещена информация о клавишах управления. После нажатия любой клавиши вы попадете на игровое поле. По нему в случайном порядке разбросаны символы:
@ - имитируют пищу (кроликов); # - символизируют опасные для анаконды места.
Игровое поле ограничено рамкой (колючей проволокой), которую тоже не рекомендуется трогать.
Когда игровое пространство заполнится, на него выползет маленькая и очень шустрая анакондочка. Задача игрока - направлять ее на кроликов и избегать опасных мест, тогда, поглощая кролика за кроликом, маленькая анакондочка превратится в большую и довольно неповоротливую анакондищу.
Программа 40. АНАКОНДА.
30 BORDER 1: PAPER 1: INK 1: CLS 35 POKE 23658,8 40 PLOT 0,0: DRAW 0,175 50 DRAW 255,0: DRAW 0,-175 60 DRAW -255,0: PLOT 2,2 70 DRAW 0,171: DRAW 251,0 80 DRAW 0,-171: DRAW -251,0 90 INK 2: PLOT 1,1: DRAW 0,173 100 DRAW 253,0: DRAW 0,-173 110 DRAW -253,0 120 DIM P(30,20) 130 INK 4
140 PRINT AT 1,8;"***"; INK 7;" ANAKONDA "; INK 4;"***"
150 INK 2
160 PLOT 0,152: DRAW 255,0 170 INK 6
180 PRINT AT 4,8;"Sankt - Peterburg" 190 PRINT AT 6,14;"1993" 200 PAPER 7: INK 2 210 LET K=11
220 PRINT AT 8,K-1;"nnnnnnnnnnnn" 230 FOR N=9 TO 16
240 PRINT AT N,K-1;"nnnnnnnnnnnn"; PAPER 0;" " 250 NEXT N
260 PRINT AT 17,11; PAPER 0;"ПППППППППППП"
270 PRINT AT 9,K;"Q.......UP"
280 PRINT AT 11,K;"A.....DOWN"
290 PRINT AT 13,K;"O.....LEFT"
300 PRINT AT 15,K;"P.... RIGHT" 310 PAPER 1: INK 4
320 PRINT AT 20,3;"PRESS ANY KEY TO CONTINUE" 330 PAUSE 0
340 REM -- NACHALO IGRY --345 LET SC=0 350 CLS : INK 7 355 LET S=0 360 FOR N=1 TO 20
370 PRINT AT N,0;" ": PRINT AT N,31;" " 380 NEXT N
390 PRINT AT 0,0;"ПППППППППППППППППППППППППППППППП" 400 PRINT AT 21,0;'ПППППППППППППППППППППППППППППППП"
410 FOR N=1 TO 20
420 LET H=INT (RND*30+1)
430 LET V=INT (RND*20+1)
450 PRINT AT V,H; INK 2;"#"
460 NEXT N
470 FOR N=1 TO 20
480 LET H=INT (RND*30+1)
490 LET V=INT (RND*20+1)
510 PRINT AT V,H; INK 6;"@"
520 NEXT N
530 DIM X(25): DIM Y(25)
535 FOR N=1 TO 4: LET X(N)=10: LET Y(N)=10+N: NEXT N
540 PRINT AT Y(1),X(1);" ": LET V=-1: LET H=0: LET DL=4:LET DL1=4
545 REM -------------
548 IF S=20 THEN GO TO 2000 550 IF INKEY$="O" THEN LET H=-1: LET V=0 560 IF INKEY$="P" THEN LET H=1: LET V=0 570 IF INKEY$="Q" THEN LET V=-1: LET H=0 580 IF INKEY$="A" THEN LET V=1: LET H=0 582 IF Y(DL1)=0 OR X(DL1)=0 THEN GO TO 586
585 PRINT AT Y(DL1),X(DL1);" "
586 IF DL<DL1 THEN LET DL=DL1: GO TO 590 590 FOR N=DL1 TO 2 STEP -1
600 LET X(N)=X(N-1) 610 LET Y(N)=Y(N-1) 620 NEXT N
625 LET X(1)=X(1)+H: LET Y(1)=Y(1)+V 640 FOR N=2 TO DL1 650 PRINT AT Y(N),X(N);"O" 660 NEXT N
665 REM ---------------
670 IF X(1)<1 OR X(1)>30 OR Y(1)<1 OR Y(1)>20 THEN GO TO 1000
680 IF SCREENS (Y(1),X(1))="#" THEN GO TO 1000 682 IF SCREENS (Y(1),X(1))="O" THEN GO TO 1000
690 IF SCREENS (Y(1),X(1))="@" THEN BEEP .0008,56:BEEP .005,40: LET S=S+1: LET DL1=DL1+1: LET SC=SC+10: PRINT #0;AT 0,10;"SCORE ";SC
695 REM ----------------
697 PRINT AT Y(1),X(1);"*" 700 GO TO 545 1000 CLS
1002 LET AS=" G A M ERRRO V E R "
1005 FOR N=1 TO 19: PRINT AT 10,6+N;A$(N): BEEP .03,30-(N*3+10): NEXT N 1010 IF INKEY$="" THEN GO TO 1010 1020 GO TO 10
2000 REM ------------------
2005 RESTORE 2010 FOR N=1 TO 14 2020 READ S,T 2030 BEEP S/1.5,T 2040 NEXT N 2045 GO TO 10
2050 DATA .4,20,.2,17,.2,20, .4,19
2055 DATA .2,16,.2,19,.4,18
2060 DATA .2,15,.2,18,.4,17
2070 DATA .45,14.3,.45,15.3,.45,16.3,.55,12