| 
		
		
		
	
		
		
	
		
		
			| Портирование старых игр (текстовых стратегий) |  | 
				
			 |  | 
					| haav | Дата: Среда, 14.09.2022, 10:35 | Сообщение # 1 |  |  Генералиссимус Группа: Администраторы Сообщений: 1436 Статус: Offline | Привет всем! 
 На древних компьютерах Zx Spectrum была игра под названием "Президент" или как-то так. Еще лет 5-7 назад я ее портировал на FB , но в режиме диалекта QB. Сегодня решил попробовать , но на текущем компиле 1.09 не компилировалась. Подправил и выкладываю сюда.
 
 Так же на компьютере УКНЦ (по крайней мере я в нее первый раз играл на УКНЦ) была игрушка "Королевство Эйфория". Ее переносили на DOS и вроде даже на мобильные устройства. Версия под DOS имеет исходник (она отличается от оригинала , но мне понравилась), и именно ее портировал на FB и выкладываю. Под Linux сохраните исходник в UTF8 (без BOM).
 Так же в архиве есть старая версия (одна из первых версий , приближенная к оригиналу). Ее я портировал в режиме диалекта QB.
 
 Обе игры являются текстовыми стратегиями.
 
 Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 |  |  |  |  |  | 
					| sashasold | Дата: Пятница, 16.09.2022, 23:57 | Сообщение # 2 |  | Лейтенант Группа: Пользователи Сообщений: 46 Статус: Offline | открыл исходник  =D, и сразу вспоминается справка по FB "Для лучшей читабельности кода, злоупотребление следует избегать в пользу более современных структур, таких как Do...Loop, For...Next, Sub, и Function" :) |  |  |  |  |  | 
					| haav | Дата: Воскресенье, 28.09.2025, 09:42 | Сообщение # 3 |  |  Генералиссимус Группа: Администраторы Сообщений: 1436 Статус: Offline | Еще одна текстовая стратегия: "Орегонская тропа". Была опубликована в журнале "Creative Computing Magazine (May 1978)". Немного адаптировал под FB (под диаллект QB) , а так же перевел сообщения игры на русский язык. Для Linux сохраняем листинг в файл с кодировкой UTF8 , для Windows с кодировкой CP866.
 
 
 Код ' Игра "oregon-trail" из журнала Creative Computing Magazine (May 1978)#lang "QB"
 5    RANDOMIZE TIMER
 10 Rem PROGRAM Name - OREGON        VERSION:01/01/78
 20 Rem ORIGINAL PROGRAMMING BY BILL HEINEMANN - 1971
 30 Rem SUPPORT RESEARCH And MATERIALS BY DON RAWITSCH,
 40 Rem      MINNESOTA EDUCATIONAL COMPUTING CONSORTIUM STAFF
 50 Rem CDC CYBER 70/73-26     BASIC 3.1
 60 Rem DOCUMENTATION BOOKLET 'OREGON' AVAILABLE FROM
 61 Rem    MECC SUPPORT SERVICES
 62 Rem    2520 BROADWAY DRIVE
 63 Rem    ST. PAUL, MN  55113
 80 Rem
 150 Rem *For THE MEANING OF THE VARIABLES USED, LIST LINES 6470-6790*
 155 Rem
 160 Print "Вам нужны инструкции (YES/NO)";
 170 Dim C_STR As String
 180 Rem Randomize REMOVED
 190 Input C_STR
 200 If C_STR="NO" Then 690
 210 Print
 220 Print
 230 Rem ^*INSTRUCTIONS^*
 240 Print "Эта программа имитирует поездку по тропе Орегона из"
 250 Print "Миссури в Орегон -Сити, штат Орегон, в 1847 году."
 260 Print "Ваша семья из пяти человек должна пройти 2040-мильную тропу Орегона"
 270 Print "в течении 5-6 месяцев --- если у вас получится."
 280 Print
 290 Print "У вас есть 900 долларов, чтобы потратить на поставки, но вы только что заплатили"
 300 Print "   200 долларов за повозку, осталось 700 долларов."
 310 Print "Вам нужно будет потратить оставшуюся часть своих денег на"
 320 Print "   следующие предметы:"
 330 Print
 340 Print "     Волы - Вы можете потратить 200-300 долларов на волов."
 350 Print "            Чем больше вы тратите, тем быстрее вы пойдете,"
 360 Print "               потому что у вас будут лучшие животные"
 370 Print
 380 Print "     Еда - Чем больше у вас есть, тем меньше шансов заболеть"
 400 Print
 410 Print "     Боеприпасы - за 1 доллар можно купить ремень из 50 пуль"
 420 Print "         Вам понадобятся пули для защиты от нападений животных"
 430 Print "               и бандитов, а так же для охоты"
 440 Print
 450 Print "     ОДЕЖДА - Это особенно важно на холоде."
 460 Print "               Погода, с которой вы столкнетесь при пересечении"
 470 Print "               гор"
 480 Print
 490 Print "     Разное - Это включает в себя лекарства и"
 500 Print "              другие вещи, которые вам понадобятся при болезнях"
 510 Print "              и ремонтах"
 520 Print
 530 Print
 540 Print "Вы можете потратить все свои деньги, прежде чем начать поездку -"
 550 Print "или вы можете сэкономить часть ваших денег, чтобы потратить их в фортах "
 560 Print "по дороге. Тем не менее, предметы стоят дороже в фортах"
 570 Print "Вы также можете пойти на охоту по пути, чтобы получить"
 580 Print "больше еды."
 590 Print "Всякий раз, когда вам приходится использовать свою верную винтовку по пути,"
 600 Print "Вам будут сказано ввести нужное слово (оно будет в подсказке)"
 610 Print "Чем быстрее вы вводите это слово и нажимаете клавишу"
 620 Print """RETURN"", тем удачнее выстрел."
 630 Print
 640 Print "На каждом шагу все предметы показаны в долларах"
 650 Print "кроме пуль"
 660 Print "При запросе денежных сумм, не используйте ""$""."
 670 Print
 680 Print "Удачи!!!"
 690 Print
 700 Print
 710 Print "Насколько хорошо вы стреляете из своей винтовки?"
 720 Print "  (1) ACE MARKSMAN,  (2) GOOD SHOT,  (3) FAIR TO MIDDLIN'"
 730 Print "         (4) NEED MORE PRACTICE,  (5) SHAKY KNEES"
 740 Print "Введите одно из вышеперечисленных - чем лучше вы утверждаете, как вы стреляете,"
 750 Print "тем быстрее вы должны орудовать со своим пистолетом, чтобы добиться успеха."
 752 Print "Это своего рода уровень игры. Где 1 - самый сложный , 5 - самый легкий"
 760 Input D9
 770 If D9>5 Then 790
 780 Goto 810
 790 D9=0
 800 Rem ^*INITIAL PURCHASES^*
 810 X1=-1
 820 K5=S4=F1=F2=M=M9=D3=0
 830 Print
 840 Print
 850 Print "Сколько вы хотите потратить на свою команду волов";
 860 Input A
 870 If A >= 200 Then 900
 880 Print "Недостаточно"
 890 Goto 850
 900 If A <= 300 Then 930
 910 Print "Слишком"
 920 Goto 850
 930 Print "Сколько вы хотите потратить на еду";
 940 Input F
 950 If F >= 0 Then 980
 960 Print "Невозможно"
 970 Goto 930
 980 Print "Сколько вы хотите потратить на боеприпасы";
 990 Input B
 1000 If B >= 0 Then 1030
 1010 Print "Невозможно"
 1020 Goto 980
 1030 Print "Сколько вы хотите потратить на одежду";
 1040 Input C
 1050 If C >= 0 Then 1080
 1060 Print "Невозможно"
 1070 Goto 1030
 1080 Print "Сколько вы хотите потратить на другие поставки";
 1090 Input M1
 1100 If M1 >= 0 Then 1130
 1110 Print "Невозможно"
 1120 Goto 1080
 1130 T=700-A-F-B-C-M1
 1140 If T >= 0 Then 1170
 1150 Print "Заново -у вас было всего 700 долларов, чтобы потратить. Купить снова"
 1160 Goto 830
 1170 B=50*B
 1180 Print "После всех ваших покупок у вас теперь есть " ; T
 1190 Print
 1200 Print "Понедельник, 29 марта 1847 г."
 1210 Print
 1220 Goto 1750
 1230 If M >= 2040 Then 5430
 1240 Rem ^*SETTING Date^*
 1250 D3=D3+1
 1260 Print
 1270 Print "ПОНЕДЕЛЬНИК ";
 1280 If D3>10 Then 1300
 1290 On D3 Goto 1310, 1330, 1350, 1370, 1390, 1410, 1430, 1450, 1470, 1490
 1300 On D3-10 Goto 1510,1530,1550,1570,1590, 1610, 1630, 1650, 1670, 1690
 1310 Print "12 апреля ";
 1320 Goto 1720
 1330 Print "26 апреля ";
 1340 Goto 1720
 1350 Print "10 мая ";
 1360 Goto 1720
 1370 Print "24 мая ";
 1380 Goto 1720
 1390 Print "7 июня ";
 1400 Goto 1720
 1410 Print "21 июня ";
 1420 Goto 1720
 1430 Print "5 июля ";
 1440 Goto 1720
 1450 Print "19 июля ";
 1460 Goto 1720
 1470 Print "2 августа ";
 1480 Goto 1720
 1490 Print "16 августа ";
 1500 Goto 1720
 1510 Print "31 августа ";
 1520 Goto 1720
 1530 Print "13 сентября ";
 1540 Goto 1720
 1550 Print "27 сентября ";
 1560 Goto 1720
 1570 Print "11 октября ";
 1580 Goto 1720
 1590 Print "25 октября ";
 1600 Goto 1720
 1610 Print "8 ноября ";
 1620 Goto 1720
 1630 Print "22 ноября ";
 1640 Goto 1720
 1650 Print "6 декабря ";
 1660 Goto 1720
 1670 Print "20 декабря ";
 1680 Goto 1720
 1690 Print "Вы слишком долго были на тропе ------"
 1700 Print "Ваша семья умирает в первой зимней метели"
 1710 Goto 5170
 1720 Print "1847"
 1730 Print
 1740 Rem ^*BEGINNING EACH TURN^*
 1750 If F >= 0 Then 1770
 1760 F=0
 1770 If B >= 0 Then 1790
 1780 B=0
 1790 If C >= 0 Then 1810
 1800 C=0
 1810 If M1 >= 0 Then 1830
 1820 M1=0
 1830 If F >= 13 Then 1850
 1840 Print "Вам лучше пойти охоту или купить еду в ближайшее время !!!!"
 1850 F=Int(F)
 1860 B=Int(B)
 1870 C=Int(C)
 1880 M1=Int(M1)
 1890 T=Int(T)
 1900 M=Int(M)
 1910 M2=M
 1920 If S4=1 Then 1950
 1930 If K8=1 Then 1950
 1940 Goto 1990
 1950 T=T-20
 1960 If T<0 Then 5080
 1970 Print "Счет доктора составляет 20 долларов"
 1980 Let K8=S4=0
 1990 If M9=1 Then 2020
 2000 Print "Общий пробег ";M
 2010 Goto 2040
 2020 Print "Общий пробег 950"
 2030 M9=0
 2040 Print "Еда","Пули","Одежда","Разное","Наличные"
 2050 Print F,B,C,M1,T
 2060 If X1=-1 Then 2170
 2070 X1=X1*(-1)
 2080 Print "Вы хотите (1) остановиться в следующем форте, (2) охотиться, ";
 2090 Print "или (3) продолжить"
 2100 Input X
 2110 If X>2 Then 2150
 2120 If X<1 Then 2150
 2130 Let X=Int(X)
 2140 Goto 2270
 2150 Let X=3
 2160 Goto 2270
 2170 Print "Вы хотите (1) охотиться или (2) продолжить"
 2180 Input X
 2190 If X=1 Then 2210
 2200 Let X=2
 2210 Let X=X+1
 2220 If X=3 Then 2260
 2230 If B>39 Then 2260
 2240 Print "Вам нужно больше пуль, чтобы пойти на охоту"
 2250 Goto 2170
 2260 X1=X1*(-1)
 2270 On X Goto 2290,2540,2720
 2280 Rem ^*STOPPING AT FORT^*
 2290 Print "Введите то, что вы хотите потратить на следующее"
 2300 Print "Еда";
 2310 Gosub 2330
 2320 Goto 2410
 2330 Input P
 2340 If P<0 Then 2400
 2350 T=T-P
 2360 If T >= 0 Then 2400
 2370 Print "У вас не так много--экономьте свои расходы"
 2375 Print "Вы упускаете свой шанс потратить на этот предмет"
 2380 T=T+P
 2390 P=0
 2400 Return
 2410 F=F+2/3*P
 2420 Print "Боеприпасы";
 2430 Gosub 2330
 2440 Let B=Int(B+2/3*P*50)
 2450 Print "Одежда";
 2460 Gosub 2330
 2470 C=C+2/3*P
 2480 Print "Разные поставки";
 2490 Gosub 2330
 2500 M1=M1+2/3*P
 2510 M=M-45
 2520 Goto 2720
 2530 Rem ^*HUNTING^*
 2540 If B>39 Then 2570
 2550 Print "Вам нужно больше пуль, чтобы пойти на охоту"
 2560 Goto 2080
 2570 M=M-45
 2580 Gosub 6140
 2590 If B1 <= 1 Then 2660
 2600 If 100*Rnd<13*B1 Then 2710
 2610 F=F+48-2*B1
 2620 Print "Хороший выстрел--Прямо в цель--Будет что покушать вечером!!"
 2630 B=B-10-3*B1
 2640 Goto 2720
 2650 Rem ^BELLS IN Line 2660^
 2660 Print "Прямо между глазами-вы получили большой куш!!!!"
 2670 Print "Будет что покушать!"
 2680 F=F+52+Rnd*6
 2690 B=B-10-Rnd*4
 2700 Goto 2720
 2710 Print "Вы промахнулись - и ваш ужин ушел....."
 2720 If F >= 13 Then 2750
 2730 Goto 5060
 2740 Rem ^*EATING^*
 2750 Print "Вы хотите поесть (1) плохо (2) умеренно"
 2760 Print "или (3) хорошо";
 2770 Input E
 2780 If E>3 Then 2750
 2790 If E<1 Then 2750
 2800 Let E=Int(E)
 2810 Let F=F-8-5*E
 2820 If F >= 0 Then 2860
 2830 F=F+8+5*E
 2840 Print "Вы не можете есть так хорошо"
 2850 Goto 2750
 2860 Let M=M+200+(A-220)/3+10*Rnd
 2870 L1=C1=0
 2880 Rem ^*RIDERS ATTACK^*
 2890 If Rnd*10>((M/100-4)^2+72)/((M/100-4)^2+12)-1 Then 3550
 2900 Print "Всадники впереди.  Они ";
 2910 S5=0
 2920 If Rnd<.8 Then 2950
 2930 Print "не ";
 2940 S5=1
 2950 Print "выглядят враждебно"
 2960 Print "Тактика"
 2970 Print "(1) Бежать  (2) Аттаковать  (3) Продолжить идти  (4) Кружить повозкой"
 2980 If Rnd>.2 Then 3000
 2990 S5=1-S5
 3000 Input T1
 3010 If T1<1 Then 2970
 3020 If T1>4 Then 2970
 3030 T1=Int(T1)
 3040 If S5=1 Then 3330
 3050 If T1>1 Then 3110
 3060 M=M+20
 3070 M1=M1-15
 3080 B=B-150
 3090 A=A-40
 3100 Goto 3470
 3110 If T1>2 Then 3240
 3120 Gosub 6140
 3130 B=B-B1*40-80
 3140 If B1>1 Then 3170
 3150 Print "Хорошая стрельба---Вы их прогнали"
 3160 Goto 3470
 3170 If B1 <= 4 Then 3220
 3180 Print "Паршивый выстрел---Вы получили удар ножом"
 3190 K8=1
 3200 Print "Вам нужно пойти к доктору BLANCHARD"
 3210 Goto 3470
 3220 Print "С вашим кольтом .45 все очень медленно"
 3230 Goto 3470
 3240 If T1>3 Then 3290
 3250 If Rnd>.8 Then 3450
 3260 Let B=B-150
 3270 M1=M1-15
 3280 Goto 3470
 3290 Gosub 6140
 3300 B=B-B1*30-80
 3310 M=M-25
 3320 Goto 3140
 3330 If T1>1 Then 3370
 3340 M=M+15
 3350 A=A-10
 3360 Goto 3470
 3370 If T1>2 Then 3410
 3380 M=M-5
 3390 B=B-100
 3400 Goto 3470
 3410 If T1>3 Then 3430
 3420 Goto 3470
 3430 M=M-20
 3440 Goto 3470
 3450 Print "Они не атаковали"
 3460 Goto 3550
 3470 If S5=0 Then 3500
 3480 Print "Всадники были дружелюбны, но все таки проверьте возможные потери"
 3490 Goto 3550
 3500 Print "Всадники были враждебными-проверьте потери"
 3510 If B >= 0 Then 3550
 3520 Print "У вас кончились пули и вы были убиты всадниками"
 3530 Goto 5170
 3540 Rem ^*SELECTION OF EVENTS^*
 3550 Let D1=0
 3560 Restore
 3570 R1=100*Rnd
 3580 Let D1=D1+1
 3590 If D1=16 Then 4670
 3600 Read D
 3610 If R1>D Then 3580
 3620 Data 6,11,13,15,17,22,32,35,37,42,44,54,64,69,95
 3630 If D1>10 Then 3650
 3640 On D1 Goto 3660,3700,3740,3790,3820,3850,3880,3960,4130,4190
 3650 On D1-10 Goto 4220,4290,4340,4560,4610,4670
 3660 Print "Фургон сломался-потрачено время и поставки для ремонта"
 3670 Let M=M-15-5*Rnd
 3680 Let M1=M1-8
 3690 Goto 4710
 3700 Print "Вол травмирует ногу --- замедляя остальную часть повозки"
 3710 Let M=M-25
 3720 Let A=A-20
 3730 Goto 4710
 3740 Print "Неудача --- твоя дочь сломала руку"
 3750 Print "Вы должны остановиться и использовать припасы, чтобы сделать перевязку"
 3760 M=M-5-4*Rnd
 3770 M1=M1-2-3*Rnd
 3780 Goto 4710
 3790 Print "Бык сошел с ума-потрачено время на него"
 3800 M=M-17
 3810 Goto 4710
 3820 Print "Твой сын потерялся --- потрачена половина дня в поисках его"
 3830 M=M-10
 3840 Goto 4710
 3850 Print "Небезопасная вода-потрачено время в поисках чистой весны"
 3860 Let M=M-10*Rnd-2
 3870 Goto 4710
 3880 If M>950 Then 4490
 3890 Print "Проливные дожди --- время и поставки потеряны"
 3910 F=F-10
 3920 B=B-500
 3930 M1=M1-15
 3940 M=M-10*Rnd-5
 3950 Goto 4710
 3960 Print "Атака бандитов"
 3970 Gosub 6140
 3980 B=B-20*B1
 3990 If B >= 0 Then 4030
 4000 Print "У вас кончились пули  за них просят много денег"
 4010 T=T/3
 4020 Goto 4040
 4030 If B1 <= 1 Then 4100
 4040 Print "Вам стрельнули в ногу, и они взяли одного из ваших волов"
 4050 K8=1
 4060 Print "Лучше попросить доктора посмотреть на вашу рану"
 4070 M1=M1-5
 4080 A=A-20
 4090 Goto 4710
 4100 Print "Самый быстрый розыгрыш за пределами Додж-Сити !!!"
 4110 Print "Вы получили!"
 4120 Goto 4710
 4130 Print "В вашем фургоне произошел пожар , повреждены продукты и припасы!"
 4140 F=F-40
 4150 B=B-400
 4160 Let M1=M1-Rnd*8-3
 4170 M=M-15
 4180 Goto 4710
 4190 Print "Вы заблудились в тяжелом тумане - теряется время"
 4200 M=M-10-5*Rnd
 4210 Goto 4710
 4220 Print "Вы убили ядовитую змею после того, как она укусила вас"
 4230 B=B-10
 4240 M1=M1-5
 4250 If M1 >= 0 Then 4280
 4260 Print "Вы умираете от укуса змеи, так как у вас нет лекарств"
 4270 Goto 5170
 4280 Goto 4710
 4290 Print "Фургон затопило при переходе реки вброд - потеряна еда и одежда"
 4300 F=F-30
 4310 C=C-20
 4320 M=M-20-20*Rnd
 4330 Goto 4710
 4340 Print "Дикие животные атакуют!"
 4350 Gosub 6140
 4360 If B>39 Then 4410
 4370 Print "У вас было слишком мало пуль--"
 4380 Print "Волки одолели вас"
 4390 K8=1
 4400 Goto 5120
 4410 If B1>2 Then 4440
 4420 Print "Хорошая стрельба, им не удалось много"
 4430 Goto 4450
 4440 Print "Медленно---они добрались до вашей еды и припасов"
 4450 B=B-20*B1
 4460 C=C-B1*4
 4470 F=F-B1*8
 4480 Goto 4710
 4490 Print "Холодная погода---BRRRRRRR!--Вы ";
 4500 If C>22+4*Rnd Then 4530
 4510 Print "не ";
 4520 C1=1
 4530 Print "имеете достаточно одежды, чтобы согреться"
 4540 If C1=0 Then 4710
 4550 Goto 6300
 4560 Print "Шторм --- Поставки повреждены"
 4570 M=M-5-Rnd*10
 4580 B=B-200
 4590 M1=M1-4-Rnd*3
 4600 Goto 4710
 4610 If E=1 Then 6300
 4620 If E=3 Then 4650
 4630 If Rnd>.25 Then 6300
 4640 Goto 4710
 4650 If Rnd<.5 Then 6300
 4660 Goto 4710
 4670 Print "Индейцы показали вам, где найти больше еды"
 4680 F=F+14
 4690 Goto 4710
 4700 Rem ^*MOUNTAINS^*
 4710 If M <= 950 Then 1230
 4720 If Rnd*10>9-((M/100-15)^2+72)/((M/100-15)^2+12) Then 4860
 4730 Print "Горы"
 4740 If Rnd>.1 Then 4780
 4750 Print "Вы заблудились-потеряно ценное время, попытка найти след!"
 4760 M=M-60
 4770 Goto 4860
 4780 If Rnd>.11 Then 4840
 4790 Print "Повозка повреждена! --- Потеряны время и припасы"
 4800 M1=M1-5
 4810 B=B-200
 4820 M=M-20-30*Rnd
 4830 Goto 4860
 4840 Print "Прохождение становится медленным"
 4850 M=M-45-Rnd/.02
 4860 If F1=1 Then 4900
 4870 F1=1
 4880 If Rnd<.8 Then 4970
 4890 Print "Вы сделали это безопасно через Саут-Перес-нет снега"
 4900 If M<1700 Then 4940
 4910 If F2=1 Then 4940
 4920 F2=1
 4930 If Rnd<.7 Then 4970
 4940 If M>950 Then 1230
 4950 M9=1
 4960 Goto 1230
 4970 Print "Метель на горном перевале , потеря времени и припасов"
 4980 L1=1
 4990 F=F-25
 5000 M1=M1-10
 5010 B=B-300
 5020 M=M-30-40*Rnd
 5030 If C<18+2*Rnd Then 6300
 5040 Goto 4940
 5050 Rem ^*DYING^*
 5060 Print "У вас кончилась еда и вы умирли от голода"
 5070 Goto 5170
 5080 Let T=0
 5090 Print "Вы не можете позволить себе врача"
 5100 Goto 5120
 5110 Print "У вас кончились медикаменты"
 5120 Print "Вы умерли от ";
 5130 If K8=1 Then 5160
 5140 Print "Пневмонии"
 5150 Goto 5170
 5160 Print "Травмы"
 5170 Print
 5180 Print "Из-за вашей неудачной ситуации есть несколько"
 5190 Print "формальностей, которые вы должны пройти"
 5200 Print
 5210 Print "Хотите видеть министра?"
 5220 Input C_STR
 5230 Print "Хотите ли вы шикарных похорон?"
 5240 Input C_STR
 5250 Print "Вы хотите, чтобы мы сообщили вашим ближайшим родственникам?"
 5260 Input C_STR
 5270 If C_STR="YES" Then 5310
 5280 Print "Но ваша тетя Сэди в Св. Луи действительно беспокоится о вас"
 5290 Print
 5300 Goto 5330
 5310 Print "Это будет стоить 4*50 за телеграф."
 5320 Print
 5330 Print "Мы благодарим вас за эту информацию, и мы сожалеем , что вы "
 5340 Print "не добрались до великой территории Орегона"
 5350 Print "Удачи в следующий раз!"
 5360 Print
 5370 Print
 5380 Print Tab(30);"Искренне"
 5390 Print
 5400 Print Tab(17);"Торговая палата города Орегон"
 5410 Stop
 5420 Rem ^*FINAL TURN^*
 5430 F9=(2040-M2)/(M-M2)
 5440 F=F+(1-F9)*(8+5*E)
 5450 Print
 5460 Rem ^BELLS IN LINES 5470,5480^
 5470 Print "Вы наконец прибыли в Орегон Сити"
 5480 Print "после 2040 длинных миль --- ура!!!!!"
 5490 Print "Настоящий пионер!"
 5500 Print
 5510 F9=Int(F9*14)
 5520 D3=D3*14+F9
 5530 F9=F9+1
 5540 If F9<5 Then 5560
 5550 F9=F9-7
 5560 On F9 Goto 5570,5590,5610,5630,5650,5690
 5570 Print "Понедельник ";
 5580 Goto 5700
 5590 Print "Вторник ";
 5600 Goto 5700
 5610 Print "Среда ";
 5620 Goto 5700
 5630 Print "Четверг ";
 5640 Goto 5700
 5650 Print "Пятница ";
 5660 Goto 5700
 5670 Print "Суббота ";
 5680 Goto 5700
 5690 Print "Воскресенье ";
 5700 If D3>124 Then 5740
 5710 D3=D3-93
 5720 Print "Июль ";D3;" 1847"
 5730 Goto 5920
 5740 If D3>155 Then 5780
 5750 D3=D3-124
 5760 Print "Август ";D3;" 1847"
 5770 Goto 5920
 5780 If D3>185 Then 5820
 5790 D3=D3-155
 5800 Print "Сентябрь ";D3;" 1847"
 5810 Goto 5920
 5820 If D3>216 Then 5860
 5830 D3=D3-185
 5840 Print "Октябрь ";D3;" 1847"
 5850 Goto 5920
 5860 If D3>246 Then 5900
 5870 D3=D3-216
 5880 Print "Ноябрь ";D3;" 1847"
 5890 Goto 5920
 5900 D3=D3-246
 5910 Print "Декабрь ";D3;" 1847"
 5920 Print
 5930 Print "Еда","Патроны","Одежда","Раное","Наличные"
 5940 If B>0 Then 5960
 5950 Let B=0
 5960 If C>0 Then 5980
 5970 Let C=0
 5980 If M1>0 Then 6000
 5990 Let M1=1
 6000 If T>0 Then 6020
 6010 Let T=0
 6020 If F>0 Then 6040
 6030 Let F=0
 6040 Print Int(F),Int(B),Int(C),Int(M1),Int(T)
 6050 Print
 6060 Print Tab(11); "Президент Джеймс К. Полк отправляет вам свои"
 6070 Print Tab(17); "поздравления от всей души"
 6080 Print
 6090 Print Tab(11);"И желает вам счастливой жизни "
 6100 Print
 6110 Print Tab(22);"в вашем новом доме"
 6120 Stop
 6130 Rem ^*SHOOTING Sub-ROUTINE^*
 6131 Rem THE METHOD OF TIMING THE SHOOTING (LINES 6210-6240)
 6132 Rem WILL VARY FROM System To System.  For EXAMPLE, H-P
 6133 Rem USERS WILL PROBABLY PREFER To USE THE 'ENTER' STATEMENT.
 6134 Rem If TIMING On THE USER'S System Is HIGHLY SUSCEPTIBLE
 6135 Rem To System RMESPONSE Time, THE FORMULA IN Line 6240 CAN
 6136 Rem BE TAILORED To ACCOMODATE This BY EITHER INCREASING
 6137 Rem Or DECREASING THE 'SHOOTING' TIME RECORDED BY THE SYSTEM
 6140 Dim S$(5)
 6150 S$(1)="BANG"
 6160 S$(2)="BLAM"
 6170 S$(3)="POW"
 6180 S$(4)="WHAM"
 6190 S6=Int(Rnd*4+1)
 6200 Print "Введите "; S$(S6)
 6205 Dim As Double TIMER1 ,TIMER2
 6210 TIMER1 = Timer
 6220 Input C_STR
 6230 TIMER2 = Timer
 6240 B1=(TIMER2-TIMER1)-(D9-1) 'B1=((B1-B3)*3600)-(D9-1)
 6250 Print
 6255 If B1>0 Then 6260
 6260 If C_STR=S$(S6) Then 6280
 6270 B1=9
 6280 Return
 6290 Rem ^*ILLNESS Sub-ROUTINE^*
 6300 If 100*Rnd<10+35*(E-1) Then 6370
 6310 If 100*Rnd<100-(40/4^(E-1)) Then 6410
 6320 Print "Серьезное заболевание---"
 6330 Print "Вы должны остановиться для медицинской помощи"
 6340 M1=M1-10
 6350 S4=1
 6360 Goto 6440
 6370 Print "Легкое заболевание --- используется лекарство"
 6380 M=M-5
 6390 M1=M1-2
 6400 Goto 6440
 6410 Print "Плохое заболевание --- используется лекарство"
 6420 M=M-5
 6430 M1=M1-2
 6440 If M1<0 Then 5110
 6450 If L1=1 Then 4940
 6460 Goto 4710
 6470 Rem ^*IDENTIFICATION OF VARIABLES IN THE PROGRAM^*
 6480 Rem A = AMOUNT SPENT On ANIMALS
 6490 Rem B = AMOUNT SPENT On AMMUNITION
 6500 Rem B1 = ACTUAL RESPONSE Time For INPUTTING "BANG"
 6510 Rem B3 = Clock Time AT START OF INPUTTING "BANG"
 6520 Rem C = AMOUNT SPENT On CLOTHING
 6530 Rem C1 = FLAG For INSUFFICIENT CLOTHING IN COLD WEATHER
 6540 Rem C_STR = YES/NO RESPONSE To QUESTIONS
 6550 Rem D1 = COUNTER IN GENERATING EVENTS
 6560 Rem D3 = TURN NUMBER For SETTING Date
 6570 Rem D4 = CURRENT Date
 6580 Rem D9 = CHOICE OF SHOOTING EXPERTISE LEVEL
 6590 Rem E = CHOICE OF EATING
 6600 Rem F = AMOUNT SPENT On FOOD
 6610 Rem F1 = FLAG For CLEARING SOUTH PASS
 6620 Rem F2 = FLAG For CLEARING BLUE MOUNTAINS
 6630 Rem F9 = FRACTION OF 2 WEEKS TRAVELED On FINAL TURN
 6640 Rem K8 = FLAG For INJURY
 6650 Rem L1 = FLAG For BLIZZARD
 6660 Rem M = TOTAL MILEAGE WHOLE TRIP
 6670 Rem M1 = AMOUNT SPENT On MISCELLANEOUS SUPPLIES
 6680 Rem M2 = TOTAL MILEAGE UP THROUGH PREVIOUS TURN
 6690 Rem M9 = FLAG For CLEARING SOUTH PASS IN SETTING MILEAGE
 6700 Rem P = AMOUNT SPENT On ITEMS AT FORT
 6710 Rem R1 = Random NUMBER IN CHOOSING EVENTS
 6720 Rem S4 = FLAG For ILLNESS
 6730 Rem S5 = ""HOSTILITY OF RIDERS"" FACTOR
 6740 Rem S6 = SHOOTING WORD SELECTOR
 6750 Rem S$ = VARIATIONS OF SHOOTING WORD
 6760 Rem T = CASH Left OVER AFTER INITIAL PURCHASES
 6770 Rem T1 = CHOICE OF TACTICES WHEN ATTACKED
 6780 Rem X = CHOICE OF ACTION For EACH TURN
 6790 Rem X1 = FLAG For FORT Option
 6800 End
 
 Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 |  |  |  |  |  | 
					| DarkDemon | Дата: Воскресенье, 28.09.2025, 12:49 | Сообщение # 4 |  | Генерал-майор Группа: Друзья Сообщений: 261 Статус: Offline | CDC 70, это как раз из времён когда компы были большие и толстые. 
 
  
 Мужику что там с проводами возится - не позавидуешь. Так что моя больная спина после дня разборки и сборки системника ещё ничего.
 Вот этот дядька после дня возьни наверное в полуусопшем состоянии. Подрубать тонны проводов на карачках и ещё правильно всё надо
 подрубить, ничего не забыть. Воистину люди другого уровня квалификации.
 
 Но если так подумать, начало 70-х, ничего нет, нихера нет и тут бац, вот такой футуризм:
 
 
  
 Это ведь была прерогатива крупных научных центров, универов. И ещё на игры время находили.
 |  |  |  |  |  | 
					| haav | Дата: Воскресенье, 28.09.2025, 16:53 | Сообщение # 5 |  |  Генералиссимус Группа: Администраторы Сообщений: 1436 Статус: Offline |  Цитата  Подрубать тонны проводов на карачках и ещё правильно всё надоподрубить, ничего не забыть.
Да уж. Даже более поздние компьютеры имели нехорошую особенность "сгорать" , если подать не все необходимые напряжения. То есть скажем микросхема требует 2 или 3 питания. Одно какое-нибудь забыл подать или оно по каким-то причинам пропало , считай что чип сгорел. А уж у этих древних образцов на фото , думаю слабых мест было еще больше.
 
 Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 |  |  |  |  |  | 
					| sashasold | Дата: Воскресенье, 28.09.2025, 23:53 | Сообщение # 6 |  | Лейтенант Группа: Пользователи Сообщений: 46 Статус: Offline | "Мужику что там с проводами возится - не позавидуешь" Ну почему сразу так)) в то время его работа на передовом крае.
 Это как сейчас сказать не позавидуешь тайваньцу работающему на передовом тех процессе 4нм, за 2млн. руб в месяц.
 Я думаю, что он очень не против такой работы =)
 |  |  |  |  |  | 
					| DarkDemon | Дата: Понедельник, 29.09.2025, 01:05 | Сообщение # 7 |  | Генерал-майор Группа: Друзья Сообщений: 261 Статус: Offline | Цитата  Это как сейчас сказать не позавидуешь тайваньцу работающему на передовом тех процессе 4нмЛучше не завидовать интеловцу, они сейчас в полной заднице))) там потому что не понятно: передний или край)))
 тайванец ещё при делах)))
 А деньги большие да. Но и работа там на этих передних краях не сахар. В TSMC они же там целыми
 днями в костюмах ходят, жарко, пот рекой, и надо ещё там тончайшую работу делать, техпроцесс долгий,
 партии стоят огромных бабок.
 
 
 Цитата  Я думаю, что он очень не против такой работы =)Ну да, тогда по идее было очень сытно и перспектив вагоны, куча нового и неизведанного и по софту и по железу.
 А сейчас ничего нового. Техпроцессы уменьшать - уже что-то близко к невозможному, а в софте всё уныло.
 
 
 Сообщение отредактировал DarkDemon - Понедельник, 29.09.2025, 01:22 |  |  |  |  |  | 
					| sashasold | Дата: Понедельник, 29.09.2025, 12:49 | Сообщение # 8 |  | Лейтенант Группа: Пользователи Сообщений: 46 Статус: Offline | Сейчас в софте стабильно, и процы новые выходят, а уже не особо и нужно быстрее. А вот ИИ скачет семимильными шагами, каждый год новая версия. Дипфейки лепить школьник может. Видео по описанию за копейки.
 Чтото с темы съехали
 
 А по теме слышал организовали сборник игр всех времен. И портировали на современный лад, на современный ПК 100 лучших игр. Чтобы они не ушли в небытие
 |  |  |  |  |  | 
					| DarkDemon | Дата: Понедельник, 29.09.2025, 14:50 | Сообщение # 9 |  | Генерал-майор Группа: Друзья Сообщений: 261 Статус: Offline | Цитата  Чтобы они не ушли в небытиеМы прекрасно знаем что они уже ушли и не вернутся. Пара динозавров сделали эту работу чисто для ностальгии,
 для тех, кто застал то славное время.
 
 Тему ИИ затрагивать не буду: это всё щупал и мне оно не импонирует.
 
 
 Цитата  и процы новые выходят, а уже не особо и нужно быстрее.А что если я скажу, что почти любая софтина, на которую ты смотришь в состоянии работать минимум раз в 10 быстрее.
 Это касается механизмов(скелета программы), потребления памяти и скорости загрузки. Причём это ещё очень
 скромная цифра.
 
 И почему люди не думают об экологии? Менять железо - означает выкинуть прошлое, а оно не утилизируется никак,
 никто ещё не умеет этого делать, люди умеют пока только мешок мусорный завязать и донести до мусоропровода.
 Как наши потомки будут с этим справляться - не знаю.
 |  |  |  |  |  | 
					| zamabuvaraeu | Дата: Среда, 01.10.2025, 06:53 | Сообщение # 10 |  | Полковник Группа: Друзья Сообщений: 173 Статус: Offline |  Потому что не готовы программисты так работать.Цитата  почти любая софтина, на которую ты смотришь в состоянии работать минимум раз в 10 быстрее.Это касается механизмов(скелета программы), потребления памяти и скорости загрузки
Простой пример: добавляем во фрибесиковый код вызов функции Circle. И что же? Размер екзешника раздувается на 300 килобайт. А если вызывать функцию операционной системы напрямую, то екзешник будет не больше 8 килобайт. Разница очевидна.
 |  |  |  |  |  | 
					| DarkDemon | Дата: Среда, 01.10.2025, 22:41 | Сообщение # 11 |  | Генерал-майор Группа: Друзья Сообщений: 261 Статус: Offline | Цитата  Потому что не готовы программисты так работать.Для этого нужна ясная память и усидчивость на всякие мелочи, "не только лишь все, мало кто".
 Людям 20 лет промывали мозги, конкуренции особо нет, сплошные монополии. Большинство смирилось и смирится
 с ещё большим регрессом. Вопрос сколько нас осталось, кто хоть как-то этому внимание уделяет.
 
 
 Цитата  добавляем во фрибесиковый код вызов функции Circle. И что же? Размер екзешника раздувается на 300 килобайт.Оно, походу, тянет за собой кучу зависимостей. Сам циркл это строчек 15-20 кода, а если готовой функцией - то
 всего несколько десятков байт.
 |  |  |  |  |  | 
					| sashasold | Дата: Среда, 08.10.2025, 18:50 | Сообщение # 12 |  | Лейтенант Группа: Пользователи Сообщений: 46 Статус: Offline | По поводу раздувания кода не скажу, не на том уровне программиррвания чтобы серьезные программы анализировать. Но как пользователь ПК, яркий пример, браузер - прошло 10 лет, и онО началО жрать гигабайты оперативной памяти. Раньше столько в ПК не было, а теперь пара страничек интернета занимает |  |  |  |  |  | 
					| DarkDemon | Дата: Четверг, 09.10.2025, 15:50 | Сообщение # 13 |  | Генерал-майор Группа: Друзья Сообщений: 261 Статус: Offline | Цитата sashasold (  )  яркий пример, браузер - прошло 10 летРаньше это случилось. До 2012-го года сидел на P4 с 4-мя Гб памяти. В 2009-м всё работало нормально, в 2010 было уже трудно,
 в 11-м - началась жопа, а в 12-м это стало просто невыносимо, пришлось менять железо. И в принципе 8Гб памяти хватало
 до относительно недавнего времени. Сейчас со скрипом хватает 32, потому что привык к RAM дискам(понаделал себе батников,
 создаю и уничтожаю скриптами), а браузер жрёт всё больше и больше.
 Плюс дело ещё в том, что если использовать чисто физическую память и вырубать файл подкачки, то нет никаких "вся память на процесс",
 даже на 64 битной машине, падение происходит когда по диспетчеру свободно ещё много гигов(обычно на 24-х, на 27 прям
 край - все браузеры зависают 100%), но это абсолютно точно идёт из-за нехватки оперативы(при открытии новой вкладки), также
 предположу, что нечёткость этой цифры зависит от фрагментации памяти.
 Т.е. ставя память и думая что её с гарантией хватит - стоит учитывать, что есть издержки и они существенные.
 Ещё жрать может архиватор при разных настройках, себе поставил такие, мне нравится(прилично жмёт по 70-90 Мб/с):
 
 
   |  |  |  |  |  
 |