Игра "Погонщик барана"

Исходный текст программы на бейсике (Basic)

СКАЧАТЬ

Цветом выделены элементы влияющие на скорость игры.

10 SCREEN 1:SCREEN 0
20 DIM A(20,20)
50 H$="Hi score"
60 HS=0
100 CLS
110 LOCATE 5,15
130 PRINT "Погонщик барана"
150 LOCATE 10,13
160 PRINT H$
170 U=HS
200 FOR I=27 TO 22 STEP -1
210 LOCATE 10,I
220 U=INT(U)/10 : V=(U-INT(U))*10
230 PRINT CHR$(V+48) : NEXT I
240 RESTORE
250 S=0 :L=1
260 A$=INKEY$ : IF A$<>" " THEN 260
300 T=5000 : GOSUB 3000
310 GOSUB 3300
400 X=4 : Y=4
410 X1=1 : Y1=0
495 REM ***********************

500 LOCATE Y+1,X+1:PRINT"O"
510 T=T-1:LOCATE 8,24:PRINT T;" "
515 FOR II=1 TO 1500 : NEXT II
520 IF T=0 THEN GOTO 2000
525 P=1 : GOSUB 3200
530 A$=INKEY$:IF A$="" THEN GOTO 600
535 IF X+X1<2 OR Y+Y1<2 OR X+X1>18 OR Y+Y1>18 THEN 500
540 IF A(X+X1,Y+Y1)<>0 THEN 500
545 LOCATE Y+Y1+1,X+X1+1
550 IF A$="," THEN A(X+X1,Y+Y1)=1:PRINT"/"
560 IF A$="." THEN A(X+X1,Y+Y1)=2:PRINT"\"
570 GOTO 500
590 REM ------------------

600 X2=X:Y2=Y
610 X=X+X1:Y=Y+Y1:U=A(X,Y)
620 IF U=0 THEN 800
630 IF U=1 THEN 700
635 IF U=2 THEN 750
640 IF U=3 THEN S=S+25
650 IF U=4 THEN S=S+100
660 IF U=5 THEN 2500
665 K=K-1:IF K=0 THEN 2500
670 A(X,Y)=0:LOCATE 3,24:PRINT S
690 GOTO 800
695 REM ------------------

700 U=Y1:Y1=-X1:X1=-U
710 A(X,Y)=2
720 GOTO 800
740 REM ------------------

750 U=Y1:Y1=X1:X1=U
760 A(X,Y)=1
770 GOTO 800
790 REM ------------------

800 LOCATE Y2+1,X2+1
810 U=A(X2,Y2):IF U=1 THEN PRINT"/":GOTO 900
820 IF U=2 THEN PRINT"\":GOTO 900
830 PRINT" "
900 IF X=1 OR Y=1 OR X=20 OR Y=20 THEN Y1=-Y1:X1=-X1
990 GOTO 500
995 STOP
1990 REM ------------------

2000 LOCATE Y,X : PRINT "\|/"
2010 LOCATE Y+1,X : PRINT "-*-"
2020 LOCATE Y+2,X : PRINT "/|\"
2030 P=1000 : GOSUB 3200
2040 GOSUB 3000 : GOSUB 3300
2060 IF SH>S THEN 100
2100 LOCATE 24,1
2110 INPUT "Name ";H$
2120 HS=S
2130 GOTO 100
2490 REM ------------------

2500 X=10000
2510 FOR I=1 TO 4 : X=X/10
2520 IF T 2530 T=T-X:S=S+X:GOSUB 3600
2540 GOTO 2500
2600 NEXT I
2610 FOR I=1 TO 20:FOR J=1 TO 20
2620 A(I,J)=0:NEXT J:NEXT I
2700 GOTO 300
2790 REM -------------

3010 CLS : PRINT CHR$(201);
3020 GOSUB 3150 : PRINT CHR$(187)
3030 FOR I=1 TO 20
3040 PRINT CHR$(186) ; " ";
3050 PRINT CHR$(186) : NEXT I
3060 PRINT CHR$(200); : GOSUB 3150
3070 PRINT CHR$(188)
3080 LOCATE 1,24: PRINT "SCORE"
3090 LOCATE 11,24: PRINT "LEVEL"
3100 LOCATE 6,24: PRINT "TIME"
3110 GOSUB 3600
3120 LOCATE 16,24 : PRINT "< >"
3130 LOCATE 18,24 : PRINT "/ \"
3140 RETURN

3150 FOR I=1 TO 20
3160 PRINT CHR$(205);
3170 NEXT I : RETURN
3180 REM ------------------

3190 P=50
3200 FOR J=1 TO P
3210 NEXT J
3220 RETURN
3290 REM ------------------

3300 READ K
3310 IF K=0 THEN 3350
3320 FOR I=1 TO K
3330 READ V:X=INT(V/100):Y=V-X*100 : LOCATE Y+1,X+1 : PRINT CHR$(4)
3340 GOSUB 3180 : A(X,Y)=3 : NEXT I
3350 READ U : K=K+U
3360 IF K=0 THEN 3400
3370 FOR I=1 TO U
3380 READ V:X=INT(V/100):Y=V-X*100 : LOCATE Y+1,X+1 : PRINT "*"
3390 GOSUB 3180 : A(X,Y)=4 : NEXT I
3400 IF L<10 THEN L=L+1 : RETURN
3590 REM ------------------

3600 REM
3610 LOCATE 3,24 : PRINT S
3620 LOCATE 8,24 : PRINT T
3630 LOCATE 13,24 : PRINT L
3680 RETURN
3690 REM ------------------

4000 REM Этап 1 ------------->
4005 DATA 20
4010 DATA 1213,1113,1013,0913 ,0813,0812,0811,0810
4015 DATA 0809,0808,0908,1008 ,1108,1208,1308,1309 ,1310,1311,1312,1313
4020 DATA 16
4025 DATA 1011,1010,1110,1111 ,1112,1012,0912,0911
4030 DATA 0910,0909,1009,1109 ,1209,1210,1211,1212

4050 REM Этап 2 ------------->
4055 DATA 20
4060 DATA 0711,1410,0812,1309 ,0913,1208,1014,1107
4065 DATA 1113,1008,1012,1109 ,0911,1210,0810,1311 ,0909,1212,1010,1111
4070 DATA 8
4075 DATA 0707,0708,0808,0807 ,1313,1314,1414,1413

4100 REM Этап 3 ------------->
4105 DATA 60
4110 DATA 0510,0609,0708,0807 ,0906,1005,1105,1206 ,1307,1408,1509,1610
4115 DATA 1611,1512,1413,1314, 1215,1116,1016,0915 ,0814,0713,0612,0511
4120 DATA 0610,0709,0808,0907, 1006,1106,1207,1308 ,1409,1510,1511,1412
4125 DATA 1313,1214,1115,1015, 0914,0813,0712,0611 ,0710,0809,0908,1007
4130 DATA 1107,1208,1309,1410, 1411,1312,1213,1114 ,1014,0913,0812,0711
4135 DATA 12
4140 DATA 1012,1112,1211,1210, 1109,1009,0910,0911 ,1011,1111,1110,1010

4150 REM Этап 4 ------------->
4155 DATA 50
4160 DATA 0209,1709,0308,1808, 0407,1907,0408,1908 ,0409,1909,0410,1910
4165 DATA 0411,1911,0412,1912, 0313,1813,0413,1913 ,0513,2013,0712,1212
4170 DATA 0813,1313,0913,1413, 1012,1512,1011,1511 ,1010,1510,1009,1509
4175 DATA 1008,1508,0907,1407, 0807,1307,0708,1208 ,0709,1209
4180 DATA 0810,1310,0910,1410 , 0

4200 REM Этап 5 ------------->
4205 DATA 70
4210 DATA 0605,0705,0805,0905, 1005,1105,1205,1305 ,1405,1505,0608,0708
4215 DATA 0808,1308,1408,1508, 0713,0813,0913,1013 ,1113,1213,1313,1413
4220 DATA 0915,1015,1115,1215, 0911,1011,1111,1211 ,0817,0917,1017,1117
4225 DATA 1217,1317,1007,1108, 1009,1110,1107,1008 ,1109,1010,0814,1314
4230 DATA 0506,1606,0407,1707, 0408,1708,0409,1709 ,0410,1710,0411,1711
4235 DATA 0412,1712,0513,1613, 0514,1614,0615,1515 ,0716,1416
4240 DATA 6 ,0914,1014,1114, 1214,0709,1409

4250 REM Этап 6 ------------->
4255 DATA 44
4260 DATA 0505,1616,0605,1516, 0706,1415,0807,1314 ,0907,1214,1007,1114
4265 DATA 1107,1014,1207,0914, 1307,0814,1406,0715 ,1505,0616,1605,0516
4270 DATA 1606,0515,1507,0614, 1408,0713,1409,0712 ,1410,0711,1411,0710
4275 DATA 1412,0709,1413,0708, 1514,0607,1615,0506
4280 DATA 20
4285 DATA 0810,0811,0910,0911, 1010,1011,1110,1111 ,1210,1211,1310,1311
4290 DATA 1008,1108,1009,1109, 1012,1112,1013,1113

На главную

Смотрите, скачивайте, читайте, пишите на e-mail

 

Directrix.ru - рейтинг, каталог сайтов