президент, не умереть от старости.
1. игра заканчивается когда умираю от старости
2. игра заканчивается когда становлюсь президентом
как сделать чтоб так не заканчивалась, чтоб игра была очень долгоиграющая.
Вид для печати
президент, не умереть от старости.
1. игра заканчивается когда умираю от старости
2. игра заканчивается когда становлюсь президентом
как сделать чтоб так не заканчивалась, чтоб игра была очень долгоиграющая.
Брат мой, президент не должен умирать от старости! Президент став президентом должен перестать становиться президентом и умирать от старости не президентом.
Это президент курильщика. Президент здорового человека вообще не должен умирать, он должен быть вечным.
-если можно листинг киньте.
Оказывается во даже какое есть PRESIDENT 2+
Я тащусь
Президент не умереть от старости! Президент жить вечно!
виват президент!
Если касаемо этой версии президента, то проверка возраста происходит в строке 1890 и если он больше или равен прогнозу смерти, то переходит на 1950 где выводится никролог и игра перезапускается после нажатия любой кнопки (PAUSE 0: RUN)
На президенство уже ковырять лень, надо какую-нибудь софтину написать, чтобы можно было загружать и править бейсик файлы в удобном редакторе, а то отвык от спектрумовского уже - разбаловался :)
P.S. Мы с братом играли в другую версию, что точно помню, шрифт там был не утолщенный на белом фоне, и кажется скролла не было, но это не точно :)
Редакторы Барсика имеются на вос.
Пять штук их на втырдосе
https://b.radikal.ru/b27/1910/96/c6a85beaa34b.jpg
привет всем, обнаружил тут счётчик, помоему показывает возраст, делал 2 раза снап в возрасте за 60 и перед самой смертью :) сна который жёлтым поставил значение 02 после че стал очень долгожителем. далее глубже копать серое вещество не хватает.
теперь вопрос как отключить или сделать предельный возраст до 200 хотя бы, да простят меня противники президента.:)
Зачем такие сложности? Загружает игру, нажимаешь бреак и правишь или удаляешь ту строку о которой я писал выше. Сохраняешь файл на диск (можно даже просто через сохранение в игре, оно как раз просто перезаписывает исполняемый файл).
Если дашь ссылку на версию которую надо пофиксить, завтра постараюсь сделать, сей час я на работе просто.
Upd: не заметил аттач, завтра расковыряю. :)
Labrador, там защита от Бреак стоит
этот способ самый точный. бейсик можно написать так запутанно что чёрт ногу сломит.
вот простой пример
https://a.radikal.ru/a03/1910/b2/6cc7a40135b1.png
https://b.radikal.ru/b00/1910/18/39bf1dc515e9.jpg
https://c.radikal.ru/c29/1910/db/99547b4d8226.jpg
Пошёл от противного, умер в 0х18 лет
https://c.radikal.ru/c09/1910/d9/effd3399f491.jpg
вот такие пироги. дальше не стал экспериментировать
А есть trd версия этого президента?
UPD: На vtrd вроде нашел, там их минимум 3 версии именно этого автора, 1 оригинал, 1 - 95 года прокачаная вроде, и еще 1 крякнутая, в ней как раз защиты от брика нет уже.
Помню, в бейсик-играх "с защитой" нужно было просто подгадать, и вовремя успеть нажать брейк, когда прога уже загрузилась, но ещё не начала исполняться. Помню так "взломал" Ленин в Октябре, нашёл там "защиту" и стал в свои бейсик-поделки её вставлять. Королевство зерна тоже взламывал, делал там астрономические цифры типа "На вас нападает 5.7Е+12 воинов, они в хх милях от вас!"
Эта за-shit'a ведь какой-то системной переменной делается (что расположена между видеопамятью и началом бейсцык-программы).
Достаточно нужный poke ввести. Но то в эмуле просто.
А на реале.. хм.. сложновато. Загрузчик надо ковырять.
merge наше всё, в тяжких случаях есть load/merge из известной книги "тайники zx",
ну или (под эмулем) можно прямо во время загрузки подменить оператор в строке на STOP или SAVE
В общем с защитой пока не разобрался, но за проверку возраста отвечает строка:
Можно попробовать отредактировать ее каким-нибудь хекс редактором.Цитата:
4117 LET AGE=AGE+SGN PI: IF AGE>=MAX THEN GO TO DIE
угу, IF заменить на REM
Вот тут не должен умирать. Но не проверял, лень играть :)
Вложение 70542
изящней SGN на NOT
Можно так, можно каждый раз когда пора умереть, спрашивать, пойдем ли за черной с косой...
Вот версия с остановкой по бреак, можете поковырять сами, может я поковыряю если время будет:Вложение 70543
- - - Добавлено - - -
Я еще не совсем понял как сохранения работают, такое чувство, что при сохранении в определенные ячейки бейсик программы сохраняются параметры, а потом она уже на диск пишется, при изменении эти ячейки могут сместится, но это не точно, забыл уже, как сохранение в спектруме работают, но факт, что при сохранении в одной из версий президента, просто перезаписывалась вся бейсик программа.
да, переменные сохраняются вместе с программой и такое иногда встречается в качестве защиты.
их значения просто задаются перед выгрузкой (нормальное LET a=x может отсутствовать),
но запускать такое нужно только через GO TO. RUN/CLEAR чистят все значения.
если все переменные задаются непосредственно в игре то можно сделав CLEAR перед выгрузкой чуток сократить размер программы.
есть ещё всякие оптимизаторы, но они сокращая размер программы могут увеличить время её выполнения.
Возник интересный вопрос, в программе после 9995 строки идет строка с "не правельным номером" и мусором вместо кода. Интересно, это глюк снапшота или какая-то защита?
Код:9988 DATA "999","1900","1100","1700","1300","1500","2100","END"
9989 DATA "2200","2400","2500","2600","2700","OLD","2160","2160"
9990 DATA "biznesmen","lider musor]ikow","redaktor gazety","okruvnoj [erif","glawnyj sudxq","gospodin senator","premxer-ministr","prezident"
9991 DATA "saraj","kwartiru","awtomobilx","bassejn","willu","morsku` qhtu","park otdyha","li/nyj samolet"
9992 DATA "woditelq","powara","maklera","wra/a","sekretarq","adwokata","detektiwa","li/noj ohrany"
9993 DATA "zabegalowku","restoran","magazin","taksopark","otelx","kazino","supermarket","predpriqtie"
9994 DATA "PEPSI","FORD","SNICKERS","AKAI","MICROSOFТ","HONDA","SANYO","SONY"
9995 DATA LEV,YEAR,MAX,AGE,MON,ACC,KACC,SUD,SYE,SSU,SPR,SCH,CRE,CYE,CCR,CPR
COS n DATA COS tar POKE PIam RESTORE AT NEXT <------- Вот такого вида строка
программа явно портится. после загрузки такого нету или это глюк конвертера
Не получается у меня остановить программу без глюка. Т.е. в редакторе то ни каких строк после 9995 не видно, но если 9995 удалить то вылазит абракадабра, ну и пролистывая вниз указатель после 9995 прыгает куда глаза глядят (куда то в середину программы или на 1 строку) :(
Напрочь забыл структуру бейсик программы в спектруме. Как конец программы обозначается, указывается ли вся длина программы или только каждой строки (точно помню что там строки в формате типа n,n,l,l,STR - n,n 2 разряда номера строки, l,l - 2 разряда длинна строки, а больше ни чего не помню :) )
А где образ? Дайте.
Я вот этот ковыряю, он больше всего походит на снапшоты топикстартера. https://vtrd.in/full_ver/PRESID+.ZIP
Вот тут я его подправил чтобы из главного меню по кнопке "b" вываливал в бейсик:Вложение 70626
- - - Добавлено - - -
Такое чувство, что программа во что-то упирается, добавил 1 строку и после 1 круга игры (до старости) начал "сыпаться" шрифт, тоже самое если в трдос зайти и выполнить команду LIST...
Вот так: https://imgur.com/LS3YOaf
Вот этот кусман.
Красным пометил конец строки, видимо, задана излишняя длина. Мб в целях защиты.Код:9988 DATA "999","1900","1100","1700","1300","1500","2100","END"[0D] 9989 DATA "2200","2400","2500","2600","2700","OLD","2160","2160"[0D]
9990 DATA "biznesmen","lider musor]ikow","redaktor gazety","okruvnoj [erif","glawnyj sudxq","gospodin senator","premxer-ministr","prezident"[0D]
9991 DATA "saraj","kwartiru","awtomobilx","bassejn","willu","morsku` qhtu","park otdyha","li\nyj samolet"[0D]
9992 DATA "woditelq","powara","maklera","wra\a","sekretarq","adwokata","detektiwa","li\noj ohrany"[0D]
9993 DATA "zabegalowku","restoran","magazin","taksopark","otelx","kazino","supermarket","predpriqtie"[0D]
9994 DATA "PEPSI","FORD","SNICKERS","AKAI","MICROSOFT","HONDA","SANYO","SONY"[0D]
9995 DATA LEV,YEAR,MAX,AGE,MON,ACC,KACC,SUD,SYE,SSU,SPR,SCH,CRE,CYE,CCR,CPR[0D][80]SCREEN$ [01][00][00][00][00][00][00][00][00][00][00][00][00]@B[00][00] STOP [07]SCREEN$ [01]@B[00][00] TO [0C]
В общем снес половину инструкции, вроде теперь не затирает шрифт. По достижению максимального возраста спрашивает не хотите ли вы умереть, если нет, то игра продолжается и каждые 10 лет спрашивает о смерти.
https://drive.google.com/file/d/1ngd...ew?usp=sharing