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

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


Игра представляет интерес для тех, кто хочет поскорее обучить-
ся устному счету. Рассчитана на двух игроков младшего школьного
возраста.

Вначале Вам выдается задание - цель: число в диапазоне от 50
до 150.

На первом этапе необходимо из заданных случайным образом цифр
выбрать две, с которыми и будут производиться действия. Угадайте
эти числа: когда вы попадете из лазерной пушки в квадрат с заданной
цифрой, он станет красным. Так же отгадайте вторую цифру.

На втором этапе Вам предстоит выбрать, какое действие произ-
вести с этими двумя числами: сложение, вычитание или умножение.

На третьем этапе Вам предстоит в уме сосчитать результат и
ввести его для проверки на правильность. Если Вы ответили правиль-
но, тогда результат прибавится к Вашему счету, приближая Вас к зна-
чению, заданному в начале игры, как "цель".

Выиграет тот, чей счет в точности сравняется со значением
"цель".

Стратегия игры должна быть примерно такой: На первых порах на-
до возможно быстрее набирать очки, поэтому почти во всех случаях
предпочтительней будет умножение, так как оно дает наиболее высокие
результаты (исключением является случай, когда одно иэ чисел равно
1. В этом случае сложение даст больший результат). Однако по мере
приближению к значению "цели", надо быть внимательным, а то можно и
проскочить "цель", превысив ее. Если все же это случится. Вам надо
ждать благоприятного момента и задавать вычитание если Вам повезет
и первое число окажется меньше второго, то результат будет отрица-
тельный и Ваш счет несколько уменьшится-

1 GO ТО 10

2 CLEAR 64599: LOAD "chr"CODE
64600

3 POKE 23675,88 POKE 23676,2
55: RESTORE 3: FOR A=0 TO 7: REA
D B: POKE USR "A"+A,B: NEXT A: D
ATA 24,24,60,60,126,126,255,255

4 RUN

5 SAVE "TARGET" LINE 2: STOP

8 POKE 23606,88- POKE 23607,2
51: RETURN

9 POKE 23606,0: POKE 23607,60
: RETURN

10 GO SUB 8: CLS . DIM N$(2,7)
BORDER 0: PAPER 0 INK 7: BRIG
HT 0: INVERSE 0: OVER 0: FLASH 0
: CLS : PRINT AT 9,4; FLASH 1; P
APER 4; INK 1; BRIGHT 1;" ПРЕДЛ
АГАЕМ ВАМ ИГРУ ";AT 11,7; PAPER

6; INK 2; FLASH 0," "" T A R G
E T ■•" "

12 FOR A=0 TO 500: NEXT A: FOR
A=0 TO 30: PRINT AT 9,A; INK 2;
" A": BEEP .01,A: BEEP .005,0: N
EXT A: PRINT AT 9,31;" ": FOR A=
30 TO 0 STEP -1: PRINT AT 11,A;
INK 2;"A ": BEEP .01.A: BEEP .01
,-10: NEXT A PRINT AT 11,0;" "

13 PLOT 15,111: DRAW 0,25: DRA
W 25,0: DRAW 0,-25: DRAW -25,0

14 PLOT 55,111: DRAW 0,25: DRA
W 25,0: DRAW 0,-25: DRAW -25,0

15 PLOT 95,111. DRAW 0,25: DRA
W 25,0: DRAW 0,-25: DRAW -25,0

16 PLOT 135,111: DRAW 0,25" DR
AW 25,0: DRAW 0,-25: DRAW -25,0

17 PLOT 175,111: DRAW 0,25: DR
AW 25.0: DRAW 0,-25: DRAW -25,0

18 PLOT 215,111: DRAW 0,25 DR
AW 25,0: DRAW 0,-25: DRAW -25,0

20 LET B=0: LET A$="TARGET": F
OR A=3 TO 31 STEP 5

21 LET B=B+1: PRINT AT 18,A; I
NK 2;"A": PLOT A*8+4,32: DRAW 0,
78

22 PRINT AT 5,A-1; PAPER 2; IN
К 7;" ";AT 6,A-1;" ";AT 7,A-
1;"

23 PRINT AT 6,A; INK 7; PAPER
2; AS (В)

24 BEEP 01,0

25 PRINT AT IB,A;" »: PLOT OV
ER 1;A*8+4,32: DRAW OVER 1;0,78

26 IF A<26 THEN FOR C=A TO A+
4 PRINT AT 18,С INK 2 ; "A" : BEE
P 01,A: PRINT AT 18,C;" ■: NEXT

С

29 NEXT A

30 OVER 0: PRINT AT 10,2; PAPE
R 6, INK 2;" DAVID MYLES + ""ИН

ФОРКОМ......; AT 15,4; PAPER 0. IN

К 7;"ИГРА ДЛЯ ДВУХ ПАРТНЕРОВ"

31 FOR А=0 ТО 400: NEXT А

35 PRINT AT 17,3,'"ВАМ НУЖНА ИН
СТРУКЦИЯ? (Y/N)"
38 РОКЕ 23658,8

40 IF INKEYS="Y" THEN GO TO 9

000

41 IF INKEY$="N" THEN GO TO 1

00

4 3 GO TO 38
100 CLS

105 PRINT AT 0,2; INK 3;"ПОЖАЛУ
ЙСТА, ВВЕДИТЕ ВАШЕ ИМЯ";AT 1,6;"
(НЕ БОЛЕЕ 7 СИМВОЛОВ)"

106 PRINT AT 4,2, INK 5."ИГРОК

1 :"

107 GO ТО 200

150 LET А=12

151 LET AS=""

160 PAUSE О: POKE 23658,0

163 IF CODE INKEY$=13 THEN GO
TO 170

164 IF CODE INKEYS=12 AND A>12
THEN LET A=A-1: PRINT AT P,A;"
" GO TO 160

165 IF A=12 AND CODE INKEY$=12
THEN GO TO 160

166 PRINT AT P,A;INKEYS

167 BEEP .1,1 LET A=A+1

168 IF As=19 THEN GO TO 170

169 GO TO 160

170 LET A$="": FOR A=12 TO 20:
LET BS-SCREENS (P,A)

173 LET A$=AS+B$: NEXT A

174 LET NS(N)=A$

175 BEEP .3,0: RETURN

201 LET N=1: LET P=4: GO SUB 15
0: GO TO 204

203 BORDER 0 FOR A=1 TO 500 В
ORDER 2- BORDER 6 BORDER 4 BOR
DER 5: BORDER 0: PAUSE 1: NEXT A
: GO TO 430

204 LET N=2: LET P=4: PRINT AT
4,8, INK 5;"2: " G
О SUB 150

205 LET AS»" ": PAUSE 10: CLS

206 FOR A=15 TO 254 STEP 40

208 PLOT A,111: DRAW 0,25: DRAW

25,0 DRAW 0,-25 DRAW -25,0

209 NEXT A

210 PRINT AT 2,0; INK 2:"32*g3"

212 PRINT AT 17,0; INK 1; PAPER

2;"32*a3,32*ia3"

213 PRINT AT 17,13; PAPER 2; IN
К 7;"ЦЕЛЬ:";AT 18,13;" "

214 LET T=(RND*150)+50: IF T>15
0 OR T<50 THEN GO TO 214

215 LET DE=T/60: FOR A=0 TO 7:
PRINT AT 18,14 PAPER 2; INK 7;A

BEEP .Ol.A/DE: NEXT A

218 PRINT AT 18,14; PAPER 2; IN
К 7;INT T

219 LET P»l: LET B=1: LET P1=0:

LET P2-0

222 PRINT AT 0,5; FLASH 1, INK
1, PAPER 6;"СЕЙЧАС ВАШ ХОД, ";NS

(P)

223 PRINT AT 20,9;"НАЖМИТЕ SPAC
E";AT 21,9;"ДЛЯ ВЫСТРЕЛА": FOR
a=3 to 31 step 5

224 print at 6,a; paper 0; ink
6;int (rnd*9)+1: next a

225 for a=0 to 29: pause 2

226 print at 16,a; ink 2;" a"

227 if inkeyso" " then next a
: print at 16,30;" ": go to 225

228 plot a*8+ll,48: draw 0,61

229 if attr ( 6 , a+l )<>6 then be
ep .001,60: go to 235

230 print at 5,a; paper 2; ink
7;" ";at 6,a, over 1;" ";at
7,a; over 0;" "

231 beep .2,0: let a$(b)=screen
s (6,a+l): let b=b+1

232 if b=3 and p=1 then let b=
0: let p=2: go to 300

233 if b=3 and p=2 then let b=
0: let p=1 : go to 300

235 plot over 1;a*8+11,48: dra
w over 1:0,61 go to 226

300 for g=0 to 10: next g: plot
over 1;a*8+ll,48: draw over 1
;0,61: print at 20,9,"

";at 21,9;" "

305 print at 19,24: paper 2, in
к 7;ns(2);at 20,24;" счет: ";at
21,24;" ";at 21,26;p2

306 print at 19,0; paper 2; ink

7;ns(1);at 20,0;" счет' ";at 21

,0;" ";at 21,2;p1

307 let c=val as(1) let d=val
as ( 2)

310 print at 0,0;"1=слш. 2=b
ычит. 3=умнож."

311 if inkeys="1" then let a=c
+d: let b$="+": go to 320

312 if inkey$="2" then let a=c
-d: let bs="-": go to 320

313 if inkey$="3" then let a=c
*d: let bs="x": go to 320

314 go to 311

320 print at 0,0;"

" : for b=4 to

16: print at в,0;"

": next в

321 print at 0,0;"введите пожал
уйста результат:"

322 plot 70,111: draw 0,25: dra
w «""/о: draw 0,-25: draw -47,0

print at 6,10;c;BS;d;at 6,1

r p «

324 if a<10 then let l=8: go t
о 326

325 let l=17

326 plot 135,111: draw 0,25: dr
aw 16+l,0: draw 0,-25: let l=l+1
6 draw -l,0

327 if c<d and b$="-" then pri
nt at 6,17;"-"

328 if a>9 then let v=18: let
x=19: go to 330

329 let v=17: let x=18

330 for g=v to x: pause 0: let
d$=inkey$

331 if inkey$<chr$ 48 or inkeys
>chrs 57 then print at 6,18;" "
: if a>9 then print at 6,19;" "
: go to 330

332 print at 6,g;d$

333 next g

334 if v=18 then print at 5,17
; over 1; paper 2; ink 7;" ";
at 6,17;" " ;at 7,-17;"

335 if v=17 then print at 5,17
; over 1; paper 2; ink 7;" ;a
t 6,17;" ";at 7,17;"

336 if v=18 then let as=" ":
let as(1)=screen$ (6,18): let as
(2)=screens (6,19)

337 IF V=17 THEN LET AS=" ": L
ET A$(1)=SCREEN$ (6,18)

338 IF V-17 AND B$=,,-,, THEN LE
T AS=" ": LET A$(1)-SCREENS (6,
17): LET AS(2)-SCREENS (6,18)

340 IF VAL AS=A THEN PLOT 87,4
7: DRAW 0,25: DRAW 73,0: DRAW 0,
-25: DRAW -73,0: PRINT AT 13,11;

PAPER 2; INK 7;" ";AT 1

4,11;"ПРАВИЛЬНО";AT 15,11;"

": FOR F=-30 TO 30: BEEP .01
,ABS F: NEXT F

350 IF VAL AS OA THEN PLOT 95,
47: DRAW 0,25: DRAW 57,0: DRAW 0
,-25: DRAW -57,0 PRINT AT 13,12
; PAPER 2; INK 7;" ";AT 14
,12;"НЕВЕРНО";AT 15,12;" "
: BEEP 1,-25: BEEP 1.-30: GO TO
355

351 IF VAL AS=A AND P=1 THEN F
OR Z=P2 TO P2+A: PRINT AT 21,26;

PAPER 2; INK 7.Z BEEP .01,40:
NEXT Z: LET P2-P2+A

352 IF VAL AS=A AND P=2 THEN F
OR Z-Pl TO Pl+A: PRINT AT 21,2;
PAPER 2: INK 7;Z: BEEP .01,40: N
EXT Z: LET P1=P1+A

353 PRINT AT 21,26; PAPER 2; IN
К 7;P2;AT 21,2;P1

354 IF Pl-INT T OR P2-INT T THE
N GO TO 400

355 PRINT AT 0,0;"

" : FOR B—4 TO

16: PRINT AT В,0;"

": NEXT В

356 FOR A-15 TO 254 STEP 40: PL
ОТ A,111: DRAW 0,25: DRAW 25,0:
DRAW 0,-25: DRAW -25,0 NEXT A

357 LET AS-" ": LET B=1: GO TO

222

400 cls : if p1=int t then let
k=1 go to 402

401 let k=2

410 print at 10,0; ink 6,"побед

ителем стал................"

412 for a=21 to 12 step -1 pri
nt at a,13;n$(k): beep .01,a: be
ep .01, a+10: beep .01.a+20 next
A

420 go to 203
500 cls : go to 13
9000 pause 10: cls
9010 print at 0,10;"инструкция";
at 1,10;" "

9020 print at 3,0; ink 4, "

1. угадайте два заданных числа,
стреляя по ним.": go sub 9900: р
rint #0;"

II

9030 print at 6,0; ink 5;

2. с этими числами вы можете
делать арифметические действия:
сложение, вычитание и деление.":

go sub 9900: print #0;at 0,10,"

9040 print at 10,0, ink 6,

3. если вы правильно сосчитаете
результат выбранного действия,
то он прибавится к вашему счету.
": go sub 9900: print #0;"

II

9050 print at 14.0; ink 5;

4. победит тот, кто первым дове-
дет свой счет до значения 'цель'
»: go sub 9900- print #0;at 0,0;

• I

9055 print at 17,0; ink 4;

5. если ваш счет превысил 'цель'
используйте вычитание для умень-
шения счета, например: 1-9=-8"
9060 for в=0 то 2: for а=0 то 6:
pause 5: print at 21,1;"использ
уйте "; ink a;"space"; ink 7;" д
ля стрельбы": веер .001,а*7: nex
т a: next в: pause 200: go то 90
70

9070 cls : print at в,9;"he хоти
те ли вы";ат 10,2;"посмотреть ин
струкцию снова?";at 12,13;"(y/n)

9071 poke 23658,8
9072 if inkey$-"y" then go to 9
000

907 3 if inkey$-="n" then go to 1
00

9074 go to 9071
9099 stop

9900 print #0,at 0,9;"нажмите sp
ACE"

9901 if inkey$«" " then for a-l
to 10: beep .009,a: next a: ret

urn

9902 go to 9901




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
scene more - трилогия о сценерах: часть I.
Авторы - создатели газеты.
Ассемблер - Turbo Loader с полным контролем ошибок.
Рассказ - сутки хаккера, обыкновенные.
Программирование - процедура на Бейсике "КАЛЕНДАРЬ".

В этот день...   21 ноября