Игры на Бейсике своими руками 1996 г.

Игры - текст игры "BENNY MECHANIC".


У незадачливой Бенни, которая работает в гараже, вечно что-ни-
будь не ладится. И вот один рассерженный клиент устроил пряно-такн
погоню за ней Да еще швыряется гаечныни ключами. Ваша задача
спасти Беини от преследователя, а кроме этого выполнить еще одну
задачу - побросать все гаечные ключи со всех этажей вниз, чтобы
рассерженному покупателю нечем было кидаться в Бении. Чтобы под-
няться на этаж вверх, надо остановиться на красном треугольнике, а
чтобы спуститься на этаж вниз, остановиться на зеленом треугольни-
ке. Чтобы сбросить ключ вниз, надо просто пройти над ним. Если Вам
повезет, то Бенни может сбросить ключ на голову клиенту - это не
некоторое время облегчит ей жизнь. После того, как все гаечные клю-
чи будут сброшены вниз. Бенни попадет на следующий экран, где все
повторится сначала.

1 GO ТО 7000

64000

2 CLEAR 63999: LOAD "chr"C0DE

4 RUN

5 SAVE "MECHANIC" LINE 2:STOP
S POKE 23607,249: RETURN

9 POKE 23607,60: RETURN
105 FOR P«31 TO 0 STEP -.6
110 FOR 1=1 TO 2
120 LET Y1«Y+(INKEY$«"0" AND Y<
31)-(INKEY$»"9" AND Y>0)
130 PRINT AT X,Y;" ";AT X,Y1;A$
(I);AT X+l,Y;" ";AT X+l,Y1;B$(I)
: LET Y=Y1
140 IF ATTR (X+3,Y)<7 THEN GO
TO 1500
210 LET B1=B+D

215 IF BKO OR Bl>31 THEN LET
B1=B: LET D" D
220 PRINT AT A,B;" ";AT A+1,B;"
"; INK 6;AT A B1,C$(I),AT A+1,B
1;B$(I): LET B=B1
240 IF ATTR (X,Y)=6 THEN GO TO
5100

250 IF ATTR (A+3,B)<7 THEN GO
TO 2000
900 NEXT I

910 PRINT AT О,P;" ": NEXT P
950 GO TO 5100
1510 IF ATTR (X+3,Y)»4 AND INKEY
$«'■" THEN GO TO 1600
1520 IF ATTR (X+3,Y)-2 AND INKEY
$■="" THEN GO TO 1700
1530 IF ATTR (X+3,Y)-6 THEN GO
TO 1800
1599 GO TO 141
1610 POKE Z+3,20: POKE Z+5,40: P

ОКЕ Z+24,28

1630 FOR 3=X TO X+3

1640 PRINT AT 0,Y;" ";AT 3+1,Y;"

C";AT 3+2,Y;"B"

1650 LET L=USR Z: NEXT 3
1660 LET Х-Э

1670 PRINT INK 4,AT X-1,Y;"H";
INK 3 ;AT X-2,Y;"0"
1699 GO TO 141

1705 POKE Z+3,100: POKE Z+5,3: P
ОКЕ Z+24,28

1710 FOR 3=X-1 TO X-4 STEP -1

1715 PRINT AT 3,Y;"A";AT 3+1,Y;"

g"; INK 2;AT 3+2,Y;"P"

1720 LET L=USR Z: NEXT 3

1725 POKE Z+3,80. LET X»X-4

1730 FOR 3—X+2 TO X+5

1735 PRINT AT 3 , Y;11 "

1740 LET L-USR Z: NEXT 3

1750 PRINT INK 3;AT X+2,Y;"О";A

T X+7,Y; INK 2;"E"

1799 GO TO 141

1805 POKE Z+3,120: POKE Z+5,2: P
оке z+24,28 ,

1810 let s-s+5: print #0;at 0,13
-len strs s; paper 1;s
1820 for 3-x+3 to x+6
1830 print at 3,y-1," "; ink 6
;at 3+1, y-l;"lmn"
1840 let l=usr z: next 3
1850 print at x+6,y-l; ink 3 ; "eo
6"

1860 for 3-1 to 5

1870 print ink 6;at x+7,y-l;"13

k": beep .01,60

1880 print ink 6;at x+7,y-1;"lm
ц": beep .01,50
1890 next 3

1900 print at x+7,y-l; ink 0; pa
per 6, inverse 1:"l", ink 6; pap
er 0; inverse 0;"m", ink 0; pape
r 6; inverse 1; "n"
1905 if attr (a,b)=7 then let s
-s+100: print #0;at 0,13-len str
s s; paper 1;s: poke z+3,0: poke

z+5,7" poke z+24,29: let l-usr
z go sub 5200: go to 100
1910 if х<>14 then go to 1999
1915 print at 21,y-l; paper 6; i
nk 0; inverse 1:"i3k"
1920 let c=0: for 3-5 to 13 step
4

1925 if attr (3,y)-7 then let с
-c+l

1927 next 3

1930 if c-3 then let sd-sd+1: i
f sd-4 then let sn-sn+1: go to
7500

1999 go to 141

2010 if ((a+4)<x or rnd>.7) and
attr (a+3,b)=4 then go to 2400
2020 if a>-x and rnd>. 3 and attr

(a+3 ,b)-2 then go to 2600
2030 if a<x and attr (a+3,b)-6 t
hen go to 2800
2050 go to 251

2410 poke z+3,20: poke z+5,40: p

оке z+24,28

2440 for 3-a to a+3

2450 print at 3,b;" "; ink 6;at

3+1 ,b; "g" , at 3+2,b;"d"

2460 let l-usr z: next 3

2515 let a=3: let d-(y>b)-(y<-b)

2520 print ink 3;at a-2,b;"0";

ink 4;at a-l,b;"h"

2599 go to 251

2605 poke z+3,100: poke z+5,3: p
оке z+24,28

2610 for 3=a-1 to a-4 step -1
2620 print ink 6 ; at 3,b;"f";at
3+1,b;"e"; ink 2;at 3+2,b;"e"
2630 let l-usr z: next 3
2663 let a=a-4: let d-(y>b)-(y<-

B)

2680 poke z+3,80

2690 for 3—a+2 to a+5

2700 print at 3,в;" "

2710 let l-usr z: next 3

2720 print ink 3;at a+2,b;"0";

ink 2;at a+7,b;"£"

2799 go to 251

2810 poke z+3,120: poke z+5,2: p

оке z+24.2&

2820 for 3-a+3 to a+6

2830 print ink 6;at 3,b-1;" "

;at 3+1.b-l:"lmn"

2850 let l-usr z: next 3

2855 print at a+3,b-l;" "; ink

3;at a+6,b-l ;"eoo"
2860 for 3-1 to 5
2870 print at a+7,b-l; ink 6;"13
k": beep .01,50

2880 print at a+7,b-l; ink 6;"lm
n": beep .01,60
2890 next 3

2900 print at a+7,b-1; ink 0; pa

per 6; inverse 1; "l": ink 6; pap

er 0; inverse 0;"и"; ink 0; pape

r 6; inverse 1;"n"

2910 if а<>14 then go to 2950

2915 print ink 0; paper 6; inve

rse 1;at 21.b-l:"ijk": let £>0

2920 for 3-5 to 13 step 4

2930 if attr (3,b)»7 then let с

-C+1

2932 next 3

2935 if оз then let sd-sd+1
2940 if sd»4 then let sn=sn+1:
go to 7500

2960 if attr (x,y)»6 then go to

5100
2999 go to 251

4010 for 3-6 to 13: print paper
2;at 3,7;" ": n

ext 3

4020 print paper 2;at 8,ю;"кон
ец игры";at 11,8;"нажмите клави
шу"

4095 go sub 9500: go to 7300
5001 let a»(4*(int (rnd*4)+l))-2
5005 let b=int (rnd«32)
5010 return

5100 print at x,y; flash 1;"a";a
t x+l,y;"b"

5105 poke z+3,60: poke z+5,7: po
ke z+24,28

5110 for 3-1 to 6: let l=usr z:
next 3

5120 poke z+3,0: let l-usr z
5130 let li-li-1: print #0;at 0,
25+li«2; paper 1;" ";at 1,25+li*
2; paper 1;" "

5140 if lkl then go to 4000
5170 print at a, в; " ";at a+1,b;"

";at x, y; " " ; at x+1,y;" ": go t
о 7730

5205 poke z+3,0: poke z+24,29

5206 poke z+5,4: let l=usr z
5220 print ink 4;at 0,0;"энергия
M3M3M3M3M3M3M3M3M3M3M3M3M"

5299 return

7005 go sub 8: paper 0: border 0
: ink 7: poke 23675,88: poke 236
76,255: clear usr "a"-100
7010 restore 7000: let z-usr "a"
-99

7020 let t«0: for i»z to z+28
7030 read 3: let t=t+3: poke 1,3
: next i

7050 for i=usr "a" to usr "p"+7
7060 read 3: let t-t+3: poke 1,3
: next i

7065 if to 14455 then print "er
ror in data.": stop

7068 data 243,17,16,2,38,1,58,72
,92,31,31.31,14,254,238,16,237,1
21,67,16,254,37,32,244,3

7069 data 21,32,232,251,112,154

7070 data 159,61,93,117,124,56

7071 data 8,62,93,157,21,116

7072 data 119,7,14,89,249,188,18
6,174,62,28

7073 data 16,124,186,185,168,46,
238,224

7080 data 0,207,231,243,251,10,1
0,251

7081 data 30,63,79,123,59,158,19
2,124,120,252,242,222,220,121.3,
62

7082 data 0,127,62,28,8,0,0,0

7083 data 0,0,56,124,15,15,124,5
6,0,0,0,0,255,255,0,0,0,0,28,62,
240,240,62,28

7084 data 56,124,15,15,124,56,0,
0,0,0,255,255,0,0,0,0,28,62,240,
240,62,28,0,0

7090 data 0,255,255,255,255,0,0,
255

7093 data 0,0,8,28,62,127,0,0
7200 let AS-"AC" : let b$-"be" : l
et cs="fg"

7210 let h-0: let s-0
7300 let sn=1
7410 if s>h then let h=s
7420 let s=0: let li-3
7450 go sub 9000

7460 if inkey$<>"0" then go sub
9600

7510 cls : let sd-0

7511 if sn>3 then let sn-1

7515 restore 8000+sn«100

7516 print ink 2;at 1.0;"oeoooo
OEOOOOOEOOOOOEOOOOOEOOOOOE"
7518 for 3=4 to 20 step 4

7520 print at 3,0; ink 3: "oeooeo
oeooeooeooeooeooeooeooeooe" : nex
t 3

7530 for 3=5 to 17 step 4

7569 for l=1 to 28 step 9

7570 print ink 6;at 3,l+1;"№i;
ink 0; paper 6; inverse 1;at 3,l
;"i";at 3 , l+2 ; "n"

7573 next l: next 3
7580 for 3=9 to 21 step 4: for к
=1 to 2: read i: print ink 2;at
3,i;"e": read i: print ink 4;a
t 3-4,^"ц" : next k: next 3
7600 print #0;at 0,0; paper 1; "

счет: 00000
рекорд: 00000 жизни

II

7610 print #0;at 0,13-len str$ s

; paper l;s;at 1,13-len strs h;

paper 1 ;h «

7620 print #0;at 0,25;

7630 for 3=1 to li: print #0; pa

per 1;"a ";: next 3

7640 print #0;at 1,25;

7642 for 3=1 to li: print #0; pa

per 1;"b ";: next 3

7730 let d=1: let x=18: let y=1

7740 go sub 5000

7750 print at x,y;"c";at x+1,y;"
d"; ink 6;at a,b;"f";at a+1,b;"e

и

7770 go sub 5200

7799 go sub 9500: go to 100

8100 data 0,6,17,23,6,14,24,27,5

,17,18,27,6,8,15,24

8200 data 5,14,24,18,15,0.27,23,

9,6,26,17,14,0,23,18

8300 data 14,5,23,27,9,8,17,26,5

,8,14,23,0,15,18,27

9010 cls : print paper 2;at 0,1

0 ; "бенни бенни" ; at 2,13;"b игре
";at 4,6;"""шустрый i3k механик"
и it

9020 ink 5: plot 100,103

9030 restore 9060: for 3=1 to 14

: read k,l: draw k,l: next 3

9060 data 120,-12,0,-56,-40,4,0,
40,-70,7,0,-40,-10,1,0.56

9061 data 30,10,120,-12,-30,-10,
30,10,0,-56,-30,-10

9070 for 3-24 to 84 step 20: plo
t 3,69-3/8: restore 9075: for k-

1 to 10: read l,m: draw l,m: nex
t k: next 3: poke z+29,201

9075 data 6,2,10,-1,-6,-2,-10,1,
0,-16,10,-1,0,16,6,2,0,-16,-6,-2
9080 plot 16,35: draw 0,55: draw
10,-1: draw 0,16: draw -20,2: d
raw 0,-16: draw 10,-1
9085 print inverse 1;at 9,1;"**
";at 10,15;"гараж";at 11,15;"бен
ни"

9101 print #0;at 1,0; ink 4;"1-и

нструкция о-старт игры"

9105 ink 7

9110 print at 18,4;"g";at 19,4;"
d" ;at 14 f16;"a";at 15,16;"b"
9120 go sub 9500: return

9500 data 29,53,41,65,29,41,53,6
5 , 31, 55, 43 ,67 , 31, 43 , 55 , 67 , 29 , 53 ,
41,65

9501 data 29,41,53,65,34,58,46,7
0,34,46,58,70

9510 for l=0 to 1: restore 9500
9515 for d»1 to 32: read к
9520 beep .07+l*.07,k-40: beep
07*(1-l),k-28

9530 if inkeyso"" then return
9580 next э: next l: go to 9510
9610 cls ■ print •

сердитый покупатель ищет бенни
в ее гараже."
9620 print 1

если он поймает бенни или
сбросит ей на голову гаечный
ключ, то она потеряет жизнь."
9630 print "

энергия бенни уменьшается все
время, и когда она исчезнет,
бенни также теряет жизнь."
9640 print • "

бенни может пополнить свою
энергию, если сбросит гаечный

»

ключ на голову сердитого покупа-
теля "

9650 print ' "

когда все гаечные ключи будут
сброшены в самый низ, бенни
попадет на следующий экран.
а всего ей придется пройти три
экрана.": go sub 9: print
9670 go sub 8: print paper 2; "
управление:"

9680 print ''"влево.....9"

9685 print '"вправо....0"

9689 print '' "
чтобы подняться вверх, a

остановитесь над красным в

треугольным указателем____"; ink

2; "Р"

9690 print "

с

а чтобы опуститься вниз - d
над зеленым указателем......"; i

nk 4;"н"

9695 print "

чтобы сбросить вниз ключ,
надо пройти над ним."

9700 print .....нажмите любую кла

вишу": pause о: return




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Coding - Описание программы AntiRST8 (для ZS256).
Прерывания в Spectrum'е - схема для использования IM2 прерываний.
Очумелые ручки - Телемастеру: техническое меню телевизоров.
Технология спрайтов - часть 9: печать спрайтов (координаты заданы в пикселях).
Demoscene - история возникновения, состав и софтография Omega Hackers Group.

В этот день...   20 апреля