-=RUS=- | Дата: Пятница, 16.11.2012, 22:43 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 352
Статус: Offline
| ;Листинг игры «Tower» на «Бейсике» для «БК0010-01»
10 DIM X(10),Y(10),Z(10),N(3),P(3,10) 20 GOSUB 1370 30 ? AT(2,9)"Нужны Вам инструкции (Д/Н)?",CHR¤(7) 40 GOSUB 1080 50 IF J=4 THEN GOSUB 1200 60 CLS 70 C=1 80 S=0 90 COLOR 3,0 100 ? AT(1,0)"Число колец (1-9)?"; 110 I¤=INKEY¤ 120 IF I¤="" GOTO 100 130 Z=ASC(I¤)-48 140 IF Z<1 GOTO 100 150 IF Z>9 GOTO 100 160 ? AT(12,0)" =";Z, 170 Y=50 180 X=18 190 FOR I=Z TO 1 STEP-1 200 X(I)=2*I 210 P(1,I)=I 220 P(2,I)=0 230 P(3,I)=0 240 Y(I)=1 250 Z(I)=50-2*I 260 Y=Y+10 270 GOSUB 760 280 NEXT 290 N(1)=Z 300 N(2)=0 310 N(3)=0 320 ? AT(1,Z+6)" ————┴—————————┴—————————┴———" 330 ? " 1 2 3" 340 X=13 350 Y=50 360 GOSUB 800 370 X=X+80 380 GOSUB 800 390 X=X+80 400 GOSUB 800 410 IF J>3 THEN J=0 420 IF N(J)=0 GOTO 450 430 IF N(1)=0 AND N(2)=0 GOTO 980 440 IF N(1)=0 AND N(3)=0 THEN GOSUB 1130 450 ? AT(0,18)CHR¤(7);" Откуда взять?"; 460 GOSUB 700 470 S=S+1 480 IF N(J)=0 THEN?AT(0,1)"Нельзя взять там, где ничего нет" 490 IF N(J)=0 GOTO 410 500 P(J,N(J))=0 510 I=N(J) 520 X=18+80*(J-1) 530 Y=60+10*(Z-N(J)) 540 C=0 550 GOSUB 760 560 C=1 570 Y=40 580 GOSUB 760 590 GOSUB 920 600 ? AT(0,18)CHR¤(7);"Куда положить?"; 610 J1=J 620 GOSUB 700 630 IF N(J) < I GOTO 660 640 ? AT(0,1)"Нельзя класть большее на меньшее" 650 J=J1 660 GOSUB 900 670 GOSUB 820 680 GOTO 410 690 END 700 I¤=INKEY¤ 710 IF I¤="" GOTO 700 720 ? AT(0,1),, 730 J=ASC(I¤)-48 740 IF J>0 AND J<4 THEN RETURN 750 GOTO 700 760 IF C=0 GOTO 780 770 IF INT(I/2)=I/2THEN C=1ELSE C=2 780 LINE (X(I)+X,Y(I)+Y)-(Z(I)+X,Y(I)+Y+8),C,B 790 RETURN 800 LINE (X+30,Y)-(X+30,Z*10+60) 810 RETURN 820 C=0 830 GOSUB 760 840 I=N(J) 850 X=18+80*(J-1) 860 Y=60+10*(Z-N(J)) 870 C=1 880 GOSUB 760 890 RETURN 900 N(J)=I 910 P(J,N(J))=N(J) 920 L=0 930 FOR K=0 TO Z 940 IF P(J,K)<>0 THEN L=K 950 NEXT 960 N(J)=L 970 RETURN 980 ? AT(1,1)"Ваше число ходов равно";S 990 IF Z>2 THEN GOSUB 1150 1000 IF Z=1 THEN R=1 1010 IF Z=2 THEN R=3 1020 ? "Bозможно собрать за";R 1030 ? AT(0,18)"Хотите повторить (D/N)?",CHR¤(7) 1040 GOSUB 1080 1050 IF J=4 GOTO 60 1060 COLOR 1,0 1070 END 1080 I¤=INKEY¤ 1090 IF I¤="" GOTO 1080 1100 I=ASC(I¤) 1110 J=I OR 224 XOR 224 1120 RETURN 1130 ? AT(0,1)"Надо сложить правую пирамиду - 3";CHR¤(7) 1140 RETURN 1150 R=3 1160 FOR I=1 TO Z-2 1170 R=R*2+1 1180 NEXT 1190 RETURN 1200 CLS 1210 ? AT(3,1)"Древняя и мудрая восточная" 1220 ? "игра, известная под названием" 1230 ? "'Ханойская башня', помогает " 1240 ? "развитию логического мышления," 1250 ? "внимательности и усидчивости." 1260 ? ,," ЗАДАЧА: собрать предложенную" 1270 ? "пирамиду на правой (3-й) стойке." 1280 ? ,," В ответ на вопросы нажимайте" 1290 ? "клавишу, соответствующую номеру" 1300 ? "выбранной Вами стойки." 1310 ? ,, " ПОМНИТЕ, что класть большее" 1320 ? "кольцо на меньшее - нельзя !" 1330 ? ,,,," Нажмите клавишу 'Д'" 1340 GOSUB 1080 1350 IF J<>4 GOTO 1340 1360 RETURN 1370 CLS 1380 ? AT(4,1)"ЦКО ИАЭ им.И.В.Курчатова" 1390 ? AT(9,7)"Игра 'TOWER'" 1400 ? AT(9,20)"Москва 1987." 1410 FOR I=1 TO 500 1420 NEXT 1430 RETURN
|
|
| |