Распечатать письмо в любом месте на экране

Согласно руководству C64 вы можете напечатать символ, используя «POKE 1024, 1», где 1024 — начальный адрес (C64-BASIC). Размер экрана 40*25, что означает, что 2024 — это позиция конца экрана. Это дает следующую формулу для написания буквы в любой строке и столбце с самого начала (1024, верхний левый угол экрана): 1024 + x + 40 * y, где x — строка, а y — колонка. Теперь, большую часть времени, когда вы создаете подобную игру, вы хотели бы начать с нижней левой точки (которая должна быть адресом 1984). Итак, существует ли «формула», которая действительно заставит X и Y работать с этой точки?

Пример: Допустим, у вас есть персонаж или что-то, движущееся слева, и ему нужно прыгнуть, поэтому нам нужно выполнить некоторые физические расчеты, изменить значения X и Y и записать их на экран. Если X обновляется на 3, а Y на 4, эти значения необходимо рассчитать, чтобы они были правильными на экране (от нижнего левого угла экрана в качестве отправной точки).

Надеюсь, я хорошо объяснил, и это не слишком размыто. В противном случае просто спросите.

Заранее благодарю за любую помощь!


person user1062704    schedule 27.09.2013    source источник


Ответы (2)


Здесь, в Англии, раннее утро (рано...), но насколько я могу судить, вам нужно только инвертировать координату y?

Это может потребовать небольшой настройки, но разве это не сделает формулу [отредактированной]:

1024 + x + 40 * (24 - y)

Похоже, что если идти снизу слева, вам нужно только выяснить, какой будет координата y в вашей исходной формуле...

person Jamie - Fenrir Digital Ltd    schedule 27.09.2013
comment
Это будет 24-y -- "1024" находится не в первой строке, а в нулевой, и строки считаются от 0 до 24. И последняя допустимая позиция 2023, а не 2024. - person Jongware; 30.09.2013
comment
Я думал, что это может быть так, я понял это вскоре после того, как написал, но к тому времени уже был в дороге! - person Jamie - Fenrir Digital Ltd; 30.09.2013

Вы можете изменить позицию печати X с помощью tab():

print tab(8)"test"
person Jupp3    schedule 07.05.2014