0
0
Последний раз редактировалось JeRrS; 06.01.2013 в 18:21.
Группа в ВК, посвященная кассетным версиям игр для спектрума
В коллекции:Plazma-128K (YM+TR-DOS), GRM-128 (YM+TR-DOS), Кворум 128+, Дельта 128, Эксперт-006, Рифей-01, Квант V3.а, Квант (Didaktik), Спектр БК-001, Sintez-M (Intercompex), Компаньон-2 (V2.2)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Есть волшебная команда restore n где n - строка с данными которые будут считываться по команде read.
Когда есть, но не знаешь где - это все равно, что нету.
Нет. В текстовых строках "тэги" цвета входят в общую строку.
Если нужно выводить цветные буквы из строки, организуй второй массив, цифры в котором будут означать цвет. На каждую букву - по цифре
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Можно создать двумерный массив, прочитать всё в него, затем ходить по нему =)
если делать в том стиле как ты задумал надо:
10 DATA 1,7, 2,6, 3,5, 4,4, 5,3, 6,2, 7,1
30 READ B
40 READ P
50 BORDER B, PAPER P, CLS
60 READ B,P: GOTO 50
Данные для бордера и бумаги хранятся парами, друг за другом.
Последний раз редактировалось siril; 15.09.2010 в 19:47.
oisee.
Проще делать это, вычисляя "полное" значение ink+paper+bright+flash. И места будет занимать будет меньше и "глобально" меняет одним оператором poke m,n в системных переменных. Для цвета border также актуально..
Когда есть, но не знаешь где - это все равно, что нету.
Еще вопрос, есть заполненная DATA, как через PRINT вызвать допустим по счету третью запись в DATA не чередовая READ с начала?
Группа в ВК, посвященная кассетным версиям игр для спектрума
В коллекции:Plazma-128K (YM+TR-DOS), GRM-128 (YM+TR-DOS), Кворум 128+, Дельта 128, Эксперт-006, Рифей-01, Квант V3.а, Квант (Didaktik), Спектр БК-001, Sintez-M (Intercompex), Компаньон-2 (V2.2)
если типа так:
9999 DATA 1,2,3,4,5
и ты хочешь сразу 3 получить, то по-простому никак. возможно какие-нить POKE в сист. переменные что-то и решат.
Расписать каждое значение (или группу) в свой оперетор data пронумеровав строки, допустим через 10. А потом вызывать их через restore n подставляя номер нужной записи (с соотв. приращением и шагом).
Вариант с хранением данных непосредственно в памяти (операторами poke\peek) более "экономичный", но геморный если понадобится что-нить поменять местами или "глобально" изменить в данных.
Когда есть, но не знаешь где - это все равно, что нету.
23639/23640 "DATADD" - адрес последнего считанного оператором READ объекта данных в операторах DATA.
То есть навскидочку можно, наверное, читать первый элемент, извлекать его адрес PEEKом из этой переменной, а потом, изменив нужным образом, POKEать обратно. Числовые данные занимают по 5 байт каждое число, символы по одному. Надо поиграться, в общем
---------- Post added at 18:38 ---------- Previous post was at 18:34 ----------
То есть вру, пять байт числового значения идут после записи того же числа в символах, то есть одна позиция числовых данных (с одним разрядом) занимает: байт символа + 5 байт числа + байт запятой, итого семь. А символ, соответственно, два байта (считая запятую). Так, что ли?..
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)