Вторник, 17.10.2017, 14:24

..



Главная Регистрация Вход
Приветствую Вас, Гость · Браузер: « v»
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Всё об «Электроника БК0010(-01), БК0011(М)»! » Языки программирования » Бейсик » Листинги игр » «Артиллерийская Дуэль» [xx.xx.88] (Автор: AEComp [Евтюшкин А.])
«Артиллерийская Дуэль» [xx.xx.88]
-=RUS=-Дата: Воскресенье, 09.12.2012, 11:19 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 350
Репутация: 1
Статус: Offline
;Листинг игры «Артиллерийская Дуэль» на «Бейсике» для «БК0010-01»

10 REM ************************
20 REM *                      *
30 REM *    АРТИЛЛЕРИЙСКАЯ    *
40 REM *         ДУЭЛЬ        *
50 REM *                      *
60 REM ************************
70 REM
80 REM ***** ©A.EВТЮШКИН ******
90 ' ********версия 2**********
100 REM
110 COLOR 0,0
120 ? CHR¤(158)
130 COLOR 2,0
140 REM ********ЗАСТАВКА*******
150 CLS
160 FOR I=0TO139
170 ? "#¤&*%";
180 NEXT I
190 ? "#¤&*";
200 COLOR 1,0
210 FOR Y=4TO12
220 FOR X=4TO27
230 READ A
240 IF A=1THEN PRINT AT(X,Y)"©";
250 NEXT X,Y
270 DATA 0,0,1,1,0,0,1,0,0,1,0,1,1,1,0,0,0,1,1,0,1,0,0,0
280 DATA 0,1,0,1,0,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0
290 DATA 0,1,0,1,0,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0
300 DATA 0,1,0,1,0,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0
310 DATA 0,1,0,1,0, 0,1,0,0,1,0,0,1,1,1,0,1,0,1,0,1,1,1,0
320 DATA 0,1,0,1,0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,0,1,0,0,1
330 DATA 0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,1
340 DATA 0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,1
350 DATA 1,1,1,1,1,0,0,1,1,0,0,1,1,1,0,1,0,0,1, 0,1,1,1,0
360 PRINT AT (10,15)CHR¤(156);" ©AEComp "
370 PRINT AT (9,17)" Москва,1988 ";CHR¤(156);
380 FOR I%=1TO5000
390 NEXT I%
400 CLS
410 REM *****ЗАПРОС РЕЖИМА*****
420 ? AT (1,2)"ИГРАЕМ ВДВОЕМ (Д/Н)?";
430 O¤=INKEY¤
440 IF O¤="" THEN 430
450 IF O¤="Д"OR O¤="D"THEN GOSUB 1850 ELSE GOSUB 1790
460 CLS
470 GOSUB 1910
490 REM *****ИНИЦИАЛИЗАЦИЯ*****
500 REM ****ГЕНЕРАТОРА ПСЧ*****
510 PRINT AT (1,22)"НАЖМИТЕ ЛЮБУЮ КЛАВИШУ ";
520 PRINT AT (1,23)CHR¤(153);
530 I%=I%+1
540 CH¤=INKEY¤
550 IF CH¤=""THEN 530
560 I1%=RND(I%)*5+3
570 I2%=RND(2*I1%)*7+1
580 I3%=RND(I2%)*3+9
590 I4%=RND(I3%)*11+7
600 REM ********РЕЛЬЕФ*********
610 X1%=20
620 Y1%=195-RND(I1%)*85
630 X2%=235+RND(I1%)*20-20
640 Y2%=210-RND(I2%+19)*85
650 X3%=RND(I2%)*70+50
660 Y3%=160-RND(I2%)*100
670 XR%=RND(I3%)*80+110
680 YR%=190-RND(I4%)*160
690 ' *****НАЧАЛЬНЫЕ ЗНАЧЕНИЯ*****
700 DL%=X2%-X1%
710 XJ%=X1%
720 YJ%=Y1%
730 V1=150
740 FOR K%=1 TO 8
750 VV(K%)=110+K%*20
760 NEXT K%
770 FF=.05*(1+.03*I4%)
780 AR=ATN((ABS(Y2%-YR%)+50)/(X2%-XR%))
790 ' *****РИСОВАНИЕ РЕЛЬЕФА*****
800 CLS
810 FOR T%=1TO15
820 LINE (0,Y1%+T%)-(X1%+25,Y1%+T%),2
830 LINE -(X3%,Y3%+T%),2
840 LINE -(XR%,YR%+T%),2
850 LINE -(X2%-25,Y2%+T%),2
860 LINE -(255,Y2%+T%),2
870 NEXT T%
880 Y1%=Y1%-5
890 Y2%=Y2%-5
900 GOSUB 1920
910 GOSUB 1610
920 F%=1
930 IF F%>0THENZ¤=A¤ ELSE Z¤=B¤
940 PRINT AT (5,23)"Стреляет ";Z¤;CHR¤(153);
950 X%(1)=X1%
960 Y%(1)=Y1%
970 X%(2)=X2%
980 Y%(2)=Y2%
990 IF F%>0 THEN D=1 ELSE D=2
1000 XK%=X%(D)
1010 YK%=Y%(D)
1020 IF Z¤="БК-0010"THEN GOSUB 1960 ELSE GOSUB 2110
1030 REM *****ВЫСТРЕЛ*****
1040 KOS=COS(AL)
1050 SYN=SIN(AL)
1060 VI!=V0*FF
1070 YL%=YK%-15*SYN
1080 XL%=XK%+15*KOS*F%
1090 LINE (XK%+5*F%,YK%-5)-(XK%+18*F%,YK%-18),0
1100 LINE (XK%,YK%)-(XL%,YL%),3
1110 FOR L1%=1TO100
1120 POKE &O177716,192
1130 FOR L2%=1TO20+L1%
1140 NEXT L2%
1150 POKE &O177716,128
1160 NEXT L1%
1170 FOR I%=1TO300
1180 VI!=.992*VI!
1190 VX=VI!*KOS*I%
1200 VY=VI!*SYN*I%
1210 XI%=XL%+VX*F%
1220 YI%=YL%-VY+.1*I%*I%
1230 IF XI%>255 OR XI%<0 THEN 1360
1240 IF YI%>210THEN 1360
1250 IF POINT(XI%,YI%)=3THEN1420
1260 IF POINT(XI%,YI%)=2THEN1360
1270 PSET (XI%,YI%),1
1280 FOR K%=1TO5
1290 POKE &O177716,192
1300 FOR L%=1TOYI%\7+K%
1310 NEXT L%
1320 POKE &O177716,128
1330 NEXT K%
1340 PRESET (XI%,YI%),0
1350 NEXT I%
1360 REM *****ПРОМАХ!*****
1370 LINE (XK%,YK%)-(XL%,YL%),0
1380 F%=-F%
1390 IF Z¤="БК-0010"THEN XJ%=XI%
1400 GOSUB 1610
1410 GOTO 930
1420 REM *****ПОПАДАНИЕ!*****
1430 IF ABS(XI%-XK%)<12 THEN F%=-F%
1440 IF F%>0THEN D=2 ELSE D=1
1450 FOR K%=-20TO20 STEP4
1460 PSET (X%(D),Y%(D)),1
1470 LINE @(0,0)-(X%(D)-K%,Y%(D)-20),1
1480 FOR RR%=1TO100
1490 POKE &O177716,192
1500 FOR L%=1TORR%\5+ABS(K%)
1510 NEXT L%
1520 POKE &O177716,128
1530 NEXT RR%
1540 NEXT K%
1550 PRINT AT(1,22)Z¤;" ПОБЕДИЛ!";CHR¤(153);
1560 ? AT (5,23) "ИГРАЕМ ЕЩЕ(Д/Н)?";
1570 XX¤=INKEY¤
1580 IF XX¤="" THEN 1570
1590 IF XX¤="N" OR XX¤="Н" THEN 2270
1600 GOTO 510
1610 REM ***ПУСКОВЫЕ УСТАНОВКИ***
1620 CIRCLE (X1%,Y1%),7,3,0,PI,1
1630 CIRCLE (X2%,Y2%),7,3,0,PI,1
1640 LINE (X1%-12,Y1%)-(X1%+14,Y1%+4),3,B
1650 LINE (X2%-14,Y2%)-(X2%+12,Y2%+4),3,B
1660 PAINT (X1%,Y1%-2),3
1670 PAINT (X1%,Y1%+2),3
1680 PAINT (X2%,Y2%-2),3
1690 PAINT (X2%,Y2%+2),3
1700 FOR TT%=X1%-9 TO X1%+11 STEP 4
1710 CIRCLE (TT%,Y1%+4),2,0
1720 NEXT TT%
1730 FOR TR%=X2%-11 TO X2%+9 STEP 4
1740 CIRCLE (TR%,Y2%+4),2,0
1750 NEXT TR%
1760 LINE (X1%+5,Y1%-5)-(X1%+10,Y1%-10),3
1770 LINE (X2%-5,Y2%-5)-(X2%-10,Y2%-10),3
1780 RETURN
1790 REM *****ИГРА С ЭВМ*****
1800 LOCATE 1,5
1810 INPUT "ВАШЕ ИМЯ ";A¤
1820 PRINT AT(1,8)"С ВАМИ ИГРАЕТ БК-0010";
1830 B¤="БК-0010"
1832 FOR WT=1TO500
1834 NEXT WT
1840 RETURN
1850 REM *****ИГРА ВДВОЕМ*****
1860 LOCATE 1,5
1870 INPUT "КТО СИДИТ СЛЕВА";A¤
1880 LOCATE 1,8
1890 INPUT "КТО СИДИТ СПРАВА";B¤
1900 RETURN
1910 REM *****КАЙМА*****
1920 FOR I%=0TO31
1930 PRINT AT(I%,21)"*";
1940 NEXT I%
1950 RETURN
1960 ' *****ВЫСТРЕЛ ЭВМ*****
1970 IF XJ% 1980 AL=AR*1.1
1990 V1=V1+20
2000 IF AL>12 THEN 2020
2010 GOTO 2080
2020 AL=AR
2030 IF XJ%>X1% GOTO 2070
2040 IF XJ%>0 GOTO 2070
2050 V1=V1*.8
2060 GOTO 2080
2070 V1=V1*DL%/(X2%-XJ%)
2080 AR=AL
2090 V0=V1
2100 RETURN
2110 REM ****ЗАПРОС ДАННЫХ*****
2120 V0=0
2130 I%=0
2140 GRAD=0
2150 PRINT AT (1,22)CHR¤(153)
2160 LOCATE 1,22
2170 INPUT "Угол";GRAD
2180 IF GRAD=>90 THEN 2140
2190 AL=GRAD*PI/180
2200 LOCATE 15,22
2210 NR%=0
2220 INPUT "Заряд номер";NR%
2230 IF NR%>8 OR NR%<1 THEN 2200
2240 V0=VV(NR%)
2250 IF V0<10 THEN 2200
2260 RETURN
2270 CLS
2280 END
 
Всё об «Электроника БК0010(-01), БК0011(М)»! » Языки программирования » Бейсик » Листинги игр » «Артиллерийская Дуэль» [xx.xx.88] (Автор: AEComp [Евтюшкин А.])
Страница 1 из 11
Поиск:

-=RUS=-
ICQ: 320867225