Четверг, 28.03.2024, 18:48

..



Главная Регистрация Вход
Приветствую Вас, Гость · Браузер: « v»
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Всё об «Электроника БК0010(-01), БК0011(М)»! » Языки программирования » Бейсик » Листинги игр » «Tower» [xx.xx.87] (Автор: ЦКО ИАЭ им. И.В.Курчатова)
«Tower» [xx.xx.87]
-=RUS=-Дата: Пятница, 16.11.2012, 22:43 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 352
Репутация: 1
Статус: 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
 
Всё об «Электроника БК0010(-01), БК0011(М)»! » Языки программирования » Бейсик » Листинги игр » «Tower» [xx.xx.87] (Автор: ЦКО ИАЭ им. И.В.Курчатова)
  • Страница 1 из 1
  • 1
Поиск:

-=RUS=-
ICQ: 320867225
asr-corp@yandex.ru
bk001x@yandex.ru