тогда надо вообще перед стартом игры запрашивать MAX?
Вид для печати
Можно так, можно каждый раз когда пора умереть, спрашивать, пойдем ли за черной с косой...
Вот версия с остановкой по бреак, можете поковырять сами, может я поковыряю если время будет:Вложение 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