Цитата Сообщение от ivagor Посмотреть сообщение
....Чтобы можно было запускать повторно надо изменить в строке 83 переход на строку 91 вместо 93.
Спасибо за подсказку !! Исправил - загрузил новый файл.

Цитата Сообщение от ivagor Посмотреть сообщение
Про резервы ANTIGRAV по размеру. Массив GROT(32,32) можно безболезненно урезать до (31,31) и даже не менять программу. Если менять программу, то можно выиграть еще 3 Кб - вместо DIM организовать байтовый массив с использованим POKE и PEEK.
Ого 3 Кб это ж целое состояние. Интересно что быстрее обращение к массиву или чтение PEEK ?

Цитата Сообщение от ivagor Посмотреть сообщение
Вредный совет - все имена переменных можно сократить до 2 букв, все равно эта ветка бейсиков больше не учитывает.
Хороший совет. Был момент когда я заподозрил что что-то не так с длиной переменных - я не понимал почему длинные имена переменных разные а Бейсику всё равно. А оно оказывается вон что происходит.

Цитата Сообщение от ivagor Посмотреть сообщение
Хочу написать несколько мыслей по поводу ANTIGRAV, надеюсь в них есть конструктивность.
1. Можно попробовать все же реализовать концепцию basic-only изменив принцип управления. Пусть нажатие клавиши задает направление движения не на одну позицию, а до упора или до нажатия другой клавиши. Возможно тогда INKEY$ все же более-менее подойдет. Чтобы уменьшить влияние буферизации кнопку действия лучше перенести с пробела на СС и опрашивать по INP. Тогда, кстати, можно одновременно опрашивать две клавиши штатными средствами. Есть еще РУС/ЛАТ, но к нему привязана лампочка, хотя этот недостаток можно попробовать обратить в достоинство, если придумать какую-то игровую механику.
Да идея basic-only заманчива.
В Байт №5 1991 г. в теме:"Машинные программы в Бейсике." там в конце этой темы написано:
"....с адреса 2CFCH располагается подпрограмма ввода кода нажатой клавиши без ожидания нажатия....в регистре А при выходе находится код нажатой клавиши (аналогично использованию ASC(INKEY$))"
Эта подпрограмма тоже самое что обычный INKEY$ или она отличается чем-то ?

Ещё по поводу опроса клавиатуры пришла такая идея (не знаю насколько просто или тяжело она реализуема) -
я предполагаю в Бейсике подпрограмма INKEY$ имея некий буфер складывает туда "нажатые клавиши".
Следовательно некоей командой (например INX D) меняется текущая ячейка буфера куда пишется очередной символ.
А что если аккуратно заменить этот INX D на команду NOP ? Тогда по идее буфер "умирает", а INKEY$ будет писаться только в одну ячейку отражая последнюю нажатую клавишу. Реально ли это ?


Цитата Сообщение от ivagor Посмотреть сообщение
2. Если же оставить машинокодовый опрос, то почему-бы не решить ассемблером и другую проблему - скорость рисования уровня.
Кто-то тогда сможет сказать: "Ну это уже не Бейсик а АССЕМБЛЕР."


Цитата Сообщение от ivagor Посмотреть сообщение
3. Игра на бейсике, поэтому тут не до быстроты реакции, я однозначно за это. Но было бы здорово добавить элемент головоломки, чтобы немного подумать над порядком выключения лазеров и открытия дверей.
Да согласен - это было бы лучше. Да и других разных фишек можно добавить, но это в случае если дальше реализовывать игру на Бейсике. Но для меня развитию этого проекта в Бейсике сильно мешает скорость "бега" персонажа.