КОРОЛЕВСТВО
Эта текстовая игра сделана целиком на русском языке, поэтому подробных пояснений к ней не требуется; Достаточно читать выводимые на экран вопросы и, опираясь на логику и свой жизненный опыт, давать ответы.
Вы являетесь монархом маленькой аграрной страны где-то в центре Европы. Земли королевства плодородны, крестьяне счастливы, да вот беда: соседи, как всегда, завистливы. Но, несмотря на это, вы должны обеспечить процветание своей страны и даже попытаться расширить свои владения. Эта задача не так легка, как может показаться на первый взгляд - ведь против вас действует изощренная компьютерная программа. Она насылает на королевство всевозможные напасти: от холеры и чумы до нашествия саранчи и крыс. Да и враги не теряют зря времени, пытаясь отхватить то один, то другой кусочек ваших владений.
В вашем распоряжении три показателя, которыми можно распоряжаться в зависимости от ситуации: население, земля и зерно. Например, чтобы защититься от врагов, можно воспользоваться услугами наемников, но им надо чем-то платить.
Вот и решайте: то ли отдать часть зерна и заставить голодать своих подданных, то ли уплатить землей, что в конце концов тоже грозит недобором зерна и голодом. Вот и приходится
королю постоянно лавировать между желаемым и возможным, не забывая о том, что при любых обстоятельствах надо сохранить корону, а иначе...
Программа 43. КОРОЛЕВСТВО.
10 LET В$=" БУШЕЛЕЙ": PAPER 0: INK 7 20 POKE 23658,8 30 RANDOMIZE 50 BORDER 0
60 OVER 0: FLASH 0: BRIGHT 0 70 CLS
80 PRINT AT 10,10;"Please WAIT" 90 GO SUB 9900
100 CLS : FOR N=1 TO 100: NEXT N
102 LET H$="K О Р О Л Е В С Т В О"
103 FOR N=6 TO 26 STEP 2
104 LET A=INT (RND*7+1): PAPER A: FOR M=14 TO 16: PRINT AT M,N;" ": NEXT M
105 PRINT AT 18,N; INK A; PAPER 0;H$(N-5)
106 NEXT N
108 PRINT #0;"ПППППИНСТРУКЦИЯ НУЖНА? (Д/Н)"
109 LET C=1
110 BRIGHT 1: LET C=C+1: IF C=4 THEN LET C=6 112 IF C>7 THEN LET C=2
115 INK С
120 PLOT 110,110: DRAW 40,0: DRAW 30,60: DRAW -40,-30: DRAW -10,30: DRAW -10,-30: DRAW -40,30: DRAW 30,-60
122 IF INKEY$="D" THEN BRIGHT 0: PAPER 0: GO SUB 8000
123 IF INKEY$="N" THEN BRIGHT 0: GO TO 150 125 LET A=INT (RND*7+1)
127 LET X=INT (RND*11+1)
129 BRIGHT 0
130 FOR N=14 TO 16: PAPER A: PRINT AT N,X*2+4;" ": NEXT N 132 PRINT AT 18,X*2+4; PAPER 0; INK A;H$(X*2-1)
140 GO TO 110
150 DIM Z(4): DIM E(10): DIM L(8)
151 PAPER 0
152 LET Z(1)=1500
153 LET Z(4)=1500
155 LET L(1)=100
156 LET L(8)=100
158 LET EC1) =5000
159 LET E(10)=5000
160 LET GOD=0
161 LET TE=0
162 LET UR=0 164 LET SAR=0 165 LET SAR1=0
167 LET MOB=0
168 LET ARM=0
169 LET NA=0
200 REM ------------------
210 LET GOD=GOD+1 215 INK 4: CLS
220 PRINT BRIGHT 1; INK 2;"*********** "; INK 7;"GOD ";GOD;INK 2;" ***********"
230 PRINT INK 5;"НАСЕЛЕНИЕ:"; INK 4;L(8);" ЧЕЛОВЕК"
240 IF GOD=1 THEN GO TO 275
245 PRINT "РОДИЛОСЬ:"^(2)
250 PRINT "УМЕРЛО ЕСТЕСТВЕННОЙ СМЕРТЬЮ:"^(3)
255 PRINT "УМЕРЛО ОТ ГОЛОДА:"^(4)
260 PRINT "ЖЕРТВЫ ВОЙНЫ:"^(5) 265 PRINT "ЖЕРТВЫ ГРАБЕЖА:"^(7) 270 PRINT "УМЕРЛО ОТ БОЛЕЗНЕЙ:"^(6) 272 IF L(1)=0 THEN LET L(1)=1 275 PRINT "ИТОГО НАСЕЛЕНИЯ:"Л(1) 277 PRINT 280 IF GOD=1 THEN GO TO 300
282 GO SUB 7000
283 CLS
284 FOR N=2 TO 7
285 LET L(N)=0
286 NEXT N
290 LET L(8)=L(1)
300 PRINT INK 5;"ЗЕМЛЯ:"; INK 4;Z(4);" АКРОВ"
310 IF GOD=1 THEN GO TO 325
315 PRINT "КУПЛЕНО (ПРОДАНО):";2(2)
320 PRINT "B РЕЗУЛЬТАТЕ ВОЙНЫ:";Z(3)
325 PRINT "ИТОГО:";2(1);" АКРОВ"
327 PRINT
330 IF GOD=1 THEN GO TO 350
332 GO SUB 7000
333 CLS
334 LET Z(2)=0
335 LET Z(3)=0 340 LET Z(4)=Z(1)
350 PRINT INK 5;"3EPHO:"; INK 4;E(10);BS
355 IF GOD=1 THEN GO TO 405
360 PRINT "УРОЖАЙ^Е^Ш
365 PRINT "УРОЖАЙНОСТЬ:";^;" БУШЕЛЬ/АКР"
370 PRINT "УПОТРЕБЛЕНО В ПИЩУ:";Е(3)
375 PRINT "HA CEMEHA:";E(4)
380 PRINT "B УПЛАТУ ЗА ЗЕМЛЮ:";Е(5)
385 PRINT "НАЕМНИКАМ:";Е(6)
390 PRINT "СЪЕДЕНО КРЫСАМИ:";Е(7)
395 PRINT "B РЕЗУЛЬТАТЕ ВОЙНЫ:";Е(8)
400 PRINT "B РЕЗУЛЬТАТЕ ГРАБЕЖА:";Е(9)
405 PRINT "ИТОГО^^О)^
410 FOR N=2 TO 9
415 LET E(N)=0
420 NEXT N
425 LET E(10)=E(1)
430 IF TE<100 THEN GO TO 500
435 PAUSE 300: CLS : INK 2
440 PRINT "НАРОД УСТАЛ ОТ ВОЙНЫ И ГОЛОДА.""ПППППППВЫ НИЗЛОЖЕНЫ!!!" 445 INK 5
450 PRINT "ЖЕЛАЕТЕ ПОПРОБОВАТЬ ЕЩЕ? (Д/Н)" 460 IF INKEYS="D" THEN GO TO 100 470 IF INKEYS="N" THEN CLS : STOP 480 GO TO 460
500 IF L(1)>2 THEN GO TO 530
505 PAUSE 300: CLS : INK 2 510 PRINT "ВЫ И ОСТАТОК ВАШЕГО НАРОДА.....ЭМИГРИРУЕТЕ В
АРГЕНТИНУ" 520 GO TO 445
530 REM --ЗЕМЕЛЬНЫЕ МАХИНАЦИИ-540 GO SUB 7000 550 LET R=INT (RND*10+23) 555 CLS : INK 5
560 PRINT "СКОЛЬКО АКРОВ ЖЕЛАЕТЕ КУПИТЬ.....ПО "^;"БУШЕЛЬ /АКР"
570 INPUT "СКОЛЬКО АКРОВ? ";КО
575 IF K0<0 THEN BEEP .1,-25: PAUSE 200: GO TO 555
580 IF K0=0 THEN GO TO 600 582 IF KO*R<=E(1) THEN GO TO 590 585 GO SUB 7100
587 BEEP .1.-25: PAUSE 200: GO TO 555
590 LET E(5)=-R*KO
591 LET E(1)=E(1)+E(5)
592 LET Z(2)=KO
593 LET Z(1)=Z(1)+Z(2) 595 GO TO 850
600 LET R=R-1
610 PRINT "СКОЛЬКО АКРОВ ЖЕЛАЕТЕ ПРОДАТЬ.....ПО "^;"БУШЕЛЬ/АКР"
620 INPUT "СКОЛЬКО АКРОВ? ";КО
625 IF K0<0 THEN BEEP .1.-25: PAUSE 200: CLS : GO TO 610 630 IF K0=0 THEN GO TO 850 635 IF KO<=Z(1) THEN GO TO 670 640 GO SUB 7150
650 BEEP .1.-25: PAUSE 200: CLS : GO TO 610 670 IF KO<=Z(1)/10 THEN GO TO 800 675 LET R=R-1
680 INK 1: PRINT "ПРОДАТЬ ТАК МНОГО ВЫ МОЖЕТЕ .....ТОЛЬКО ПО ";R;" БУШЕЛЬ/АКР" 685 INK
5
690 PRINT "БУДЕТЕ ПРОДАВАТЬ:.....А-ПО ЭТОЙ ЦЕНЕ,.....В-ДРУГОЕ КОЛИЧЕСТВО,.....С-НЕ БУДЕТЕ
ПРОДАВАТЬ......НАЖМИТЕ А,В ИЛИ С"
700 IF INKEY$="A" THEN GO TO 800
710 IF INKEY$="B" THEN CLS : LET R=R+1: GO TO 610
720 IF INKEY$="C" THEN GO TO 850
730 GO TO 700
800 LET EC5)=KO*R
810 LET Z{2)=-KO
820 LET E(1)=E(1)+E(5)
830 LET Z(1)=Z(1)+Z(2)
850 INK 6 860 CLS
870 PRINT "СКОЛЬКО АКРОВ ВЫ ЖЕЛАЕТЕ ЗАСЕЯТЬ?"
880 INPUT "СКОЛЬКО АКРОВ? ";КО: LET KO=INT КО
890 IF K0<0 THEN GO TO 860
900 IF KO<=E(1) THEN GO TO 950
910 GO SUB 7100 915 GO SUB 7000
920 GO TO 860
950 IF KO<=Z(1) THEN GO TO 1000 960 GO SUB 7150 965 PAUSE 300 970 GO TO 860
10OO IF KO<L(1)*10 THEN GO TO 1050 1010 GO SUB 7200 1015 PAUSE 300 1020 GO TO 860 1050 LET E(4)=-KO 1060 LET E(1)=E(1)+E(4)
1070 CLS 1080 PRINT "СКОЛЬКО ЗЕРНА ВЫ ДУМАЕТЕ.....УПОТРЕБИТЬ В ПИЩУ?"
1090 INPUT "СКОЛЬКО БУШЕЛЕЙ? ";КО: LET KO=INT КО
1100 IF K0<0 THEN CLS : PRINT "HE ВАЛЯЙ ДУРАКА!!!": PAUSE 200: GO TO 1070
1110 IF KO<=E(1) THEN GO TO 1150
1120 GO SUB 7100
1130 PAUSE 300
1140 GO TO 1070
1150 LET L(4)=-(L(1)-INT (KO/40))
1151 IF L(4)>=0 THEN LET TE=TE-1: LET L(4)=0: GO TO 1153
1152 LET TE=TE+INT (L(4)/2)
1153 LET E(3)=-KO
1154 LET L(1)=L(1)+L(4)
1155 LET E(1)=E(1)+E(3)
1160 REM ------------------
1170 LET UR=INT (RND*3+5)
1200 REM --НАСЕЛЕНИЕ--
1210 LET L(2)=INT ((9.0E-02+5.0E-02*RND)*L(1))+1 1220 LET L(3)=-INT ((4.0E-02+3.0E-02*RND)*L(1 )) 1230 LET L(1)=L(1)+L(2)+L(3)
1300 REM ------------------
1305 CLS
1310 IF (RND>.05 AND SAR=0) OR GOD<5 THEN GO TO 1400 1320 PRINT "СЕМИЛЕТНЕЕ НАШЕСТВИЕ САРАНЧИ!" 1330 IF SAR=0 THEN LET SAR1=7: LET SAR=1
1340 IF SAR1>0 THEN PRINT "GOD ";8-SAR1: LET UR=INT (RND*3+ 2): GO SUB 7000: LET SAR1=SAR1-1: GO TO 1400 1350 LET SAR=0
1400 REM ------------------
1410 LET E(2)=INT (UR*ABS E(4)) 1420 LET E(1)=E(1)+E(2)
1500 REM -- КРЫСЫ ------------
1501 REM
1502 IF RND>.25 THEN GO TO 1532 1504 LET E(7)=-INT (E(1)/10)
1506 LET E(1)=E(1)+E(7)
1507 PRINT "КРЫСЫ НАВОДНИЛИ ВАШИ АМБАРЫ": GO SUB 7000
1530 REM -- ЧУМА ------------
1531 REM
1532 IF RND>.01 THEN GO TO 1550
1533 PRINT "ЧЕРНАЯ ЧУМА ПОРАЗИЛА КОРОЛЕВСТВО": GO SUB 7000
1534 LET L(6)=-INT (L(1)/2)
1540 REM -- ХОЛЕРА ----------
1541 REM
1550 IF RND>.2 THEN GO TO 1580
1560 PRINT "ЭПИДЕМИЯ ХОЛЕРЫ ПОРАЗИЛА.....КОРОЛЕВСТВО."^ SUB 7000
1570 LET L(6)=L(6)-INT (L(1)/20) 1580 LET L(1)=L(1)+L(6)
1590 REM -- ВОЙНА ----------
1591 REM
1600 IF RND>.15 OR GOD<3 THEN GO TO 3000 1620 CLS
1630 PRINT "СОСЕДНЕЕ КОРОЛЕВСТВО УГРОЖАЕТПППП.....ВОЙНОЙ."; INK 5;"ВЫ ОБЪЯВИТЕ
МОБИЛИЗАЦИЮ? (Д/Н)" 1640 IF INKEYS="D" THEN GO TO 1670 1650 IF INKEYS="N" THEN LET MOB=0: GO TO 1750 1660 GO TO 1640 1670 REM -- МОБИЛИЗАЦИЯ ---1680 CLS
1685 PRINT "СКОЛЬКО НАРОДУ ВЫ МОБИЛИЗУЕТЕ?"
1690 INPUT AT 20,0;AT 0,0;"СКОЛЬКО ЧЕЛОВЕК? ";КО: LET KO=INT КО
1695 IF KO>(L(1)-(L(1)/3)) THEN GO SUB 7250: PAUSE 200: GO TO 1680
1700 IF K0<=0 THEN LET MOB=0: GO TO 1750
1710 LET HOB=KO
1740 REM -- НАЕМНИКИ --------
1750 CLS
1760 PRINT "НАЕМНИКИ ТРЕБУЮТ ПО 80 БУШЕЛЕЙППП.....ЗЕРНА В ГОД. СКОЛЬКО
НАЕМНИКОВППП.....ВЫ ПРИВЛЕЧЕТЕ ?"
1770 INPUT AT 17,0;AT 0,0;"СКОЛЬКО НАЕМНИКОВ? ";КО: LET К0= INT КО
1780 IF K0<=0 THEN LET K0=0: GO TO 1800
1790 IF KO*80>E(1) THEN GO SUB 7100: PAUSE 200: GO TO 1750
1792 REM -- ИТОГИ ----------
1793 REM
1800 LET ARM=MOB+KO
1802 LET NA=KO*80
1810 PRINT "М0БИЛИЗ0ВАН0:";M0B
1820 PRINT "НАНЯТО:";КО
1830 PRINT "ИТОГО:"; INK 2;ARM; INK 4;" СОЛДАТ" 1910 IF ARM=0 THEN LET W=.2: GO TO 1920 1915 LET W=.1
1920 IF RND>W THEN GO TO 2000
1922 REM -- ПЕРЕГОВОРЫ ------
1923 REM
1930 GO SUB 7000: CLS
1940 PRINT "НАЧАЛИСЬ МИРНЫЕ ПЕРЕГОВОРЫ:"
1950 PRINT "ВОЙНЫ НЕ БУДЕТ, ЕСЛИ ВЫ ОТДАДИТЕППП" INT (Z(1)/3) ;" АКРОВ ЗЕМЛИ И "; INT (Е(1)/3);В$;" ЗЕРНА."
1955 PRINT "ВЫ СОГЛАСНЫ С ЭТИМИ УСЛОВИЯМИ?ППП.....(Д/Н)"
1960 IF INKEY$="D" THEN GO TO 1975 1962 IF INKEY$="N" THEN CLS : GO TO 2020 1970 GO TO 1960 1975 LET Z(3)=-INT (Z(1)/3) 1980 LET E<8)=-INT (E(1)/3) 1985 LET E(1)=E(1)+E(8) 1990 LET Z(1)=Z(1)+Z(3) 1995 GO TO 2300 2000 REM -- СРАВНЕНИЕ СИЛ -2001 REM
2010 GO SUB 7000: CLS 2020 PRINT "ВАШИ ВОЙСКА:"^;" ЧЕЛОВЕК" 2030 LET ARM1=INT (RND*L(1)+E(1)/120) 2035 PRINT "ВОЙСКА ПРОТИВНИКА:"^^" ЧЕЛОВЕК" 2040 IF ARM<ARM1 THEN GO TO 2200 2045 REM -- ВОЙНА ВЫИГРАНА -2046 REM
2050 PRINT "ВОЙНА ВЫИГРАНА"
2060 LET L(5)=-INT (MOB/4.5): LET TE=TE-2
2070 LET Z(3)=INT (Z(1)/1.5)
2080 LET E(8)=INT (E(10)/2+NA/2)
2090 LET L(1)=L(1)+L(5)
2100 LET Z(1)=Z(1)+Z(3)
2110 LET E(1)=E(1)+E(8)
2120 GO TO 2300
2200 REM -- ВОЙНА ПРОИГРАНА
2210 PRINT "ВОЙНА ПРОИГРАНА!"
2220 LET L(5)=-INT (L(1)/2): LET TE=TE+!NT (L(8)/2)
2230 LET Z(3)=-INT (Z(1)/2)
2240 LET E(8)=-INT (E(1)/2)
2250 LET L(1)=L(1)+L(5)
2260 LET Z(1)=Z(1)+Z(3)
2270 LET E(1)=E(1)+E(8)
2300 REM -- НАЕМНИКИ --------
2310 IF NA<=E(1) THEN GO SUB 7000: GO TO 2400 2320 GO SUB 7000: CLS
2330 PRINT "У ВАС НЕ ХВАТИТ ЗЕРНА ЗАПЛАТИТЬПП.....НАЕМНИКАМ!!!"
2340 LET L(7)=-INT (.75*L(1)) 2350 LET E(9)=-INI (.5*E(1)) 2360 LET L(1)=L(1)+L(7) 2370 LET E(1)=E(1)+E(9) 2380 GO SUB 7000: GO TO 2420
2390 REM -------------------
2400 LET E(6)=-NA 2410 LET E(1)=E(1)+E(6) 2420 GO TO 200
3000 REM ----------------------
5000 GO TO 200
6999 REM ----------------------
7000 PRINT #0;AT 1,0; INK 3;"ППППППНАЖМИТЕ ЛЮБУЮ КЛАВИШУ" 7005 IF INKEY$="" THEN GO TO 7005
7007 PRINT #0;AT 1,0;"ПППППППППППППППППППППППППППППППП"
7010 RETURN
7100 PRINT "У ВАС НЕТ СТОЛЬКО ЗЕРНА": RETURN 7150 PRINT "У ВАС НЕТ СТОЛЬКО ЗЕМЛИ": RETURN 7200 PRINT "У ВАС НЕ ХВАТИТ ДЛЯ ЭТОГО НАРОДА": RETURN
7250 PRINT "У ВАС НЕТ СТОЛЬКО БОЕСПОСОБНЫХППП.....ЛЮДЕЙ!":RETURN
7260 REM --------------------
8000 REM -- ИНСТРУКЦИЯ --8010 CLS 8015 PRINT TAB 11; INK 5;"ИНСТРУКЦИЯ" 8020 PAPER 7: INK 0
8030 PRINT "ВЫ ЯВЛЯЕТЕСЬ МОНАРХОМ МАЛЕНЬКОЙ .....АГРАРНОЙ СТРАНЫ В
ЦЕНТРАЛЬНОЙППП""ЕВРОПЕ. ВАША ЗЕМЛЯ ПЛОДОРОДНА,ПП" "КРЕСТЬЯНЕ СЧАСТЛИВЫ, НО ВАШИ СО.....СЕДИ ЗАВИСТЛИВЫ."
8040 PRINT "ВАША ЦЕЛЬ - СОХРАНИТЬ ВАШ ТИТУЛ,.....УВЕЛИЧИТЬ ВЛАДЕНИЯ, ПОЗАБОТИТЬСЯ.....ОБ
УВЕЛИЧЕНИИ НАРОДОНАСЕЛЕНИЯ, О.....ПОВЫШЕНИИ БЛАГОСОСТОЯНИЯ ЛЮДЕЙ. "
8050 GO SUB 7000 8060 PAPER 0: INK 7: CLS 8070 GO TO 150
9899 STOP
9900 REM ----------------------
9902 REM Rus. Alfawit
9903 REM
9910 FOR N=1 TO 20 9920 READ A$ 9930 FOR M=0 TO 7 9940 READ S 9950 POKE USR A$+M,S 9960 NEXT M 9970 NEXT N
9975 DATA "B",0,124,64,124,66,66,124,0
9976 DATA "G",0,126,64,64,64,64,64,0
9977 DATA "D",0,28,36,36,36,36,126,66
9978 DATA "J",0,73,73,62,73,73,73,0
9979 DATA "I",0,66,70,74,82,98,66,0
9980 DATA "L",0,30,34,34,34,34,98,0
9981 DATA "P",0,126,66,66,66,66,66,0
9982 DATA "O",0,66,66,36,24,16,96,0
9983 DATA "C",0,68,68,68,68,68,126,2
9984 DATA "H",0.66,66,66,62,2,2,0
9985 DATA "N",0,65,73,73,73,73,127,0
9986 DATA "M",0,65,73,73,73,73,127,1
9987 DATA "E",0,60,66,30,2,66,60,0
9988 DATA "U",0,76,82,114,82,82,76,0
9989 DATA "A",0,62,66,66,62,34,66,0
9990 DATA "S",24,66,70,74,82,98,66,0
9991 DATA "R",0,64,64,124,66,66,124,0
9992 DATA "T",0,192,64,124,66,66,124,0
9993 DATA "F",0,62,73,73,73,62,8,0
9994 DATA "Q",0,66,66,114,74,74,114,0
9995 RETURN