ZX Spectrum
Game

Trader

ZX Computing (Великобритания),

Автор:

Жанр: Менеджмент


Доступные версии

 Неофициальное издание
Играть!

Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один
  • Описание
  • Описание (авт.пер.)
  • Информация

Оперативное запоминающее

ZX Computing, март 1987

Клайд Биш представляет советы о полной графикой экрана.

[Были несколько ошибок в этой статье, которую я исправлены. JimG]

В этом месяце мы движемся в большом времени! То есть, насколько размера

иллюстраций идет. Нет больше маленьких minipics .. Теперь мы говорим о полных иллюстраций экрана.

Но сначала плохие новости. Большие фото означать большие блоки памяти для их хранения

– 6912 байт (ячеек памяти), чтобы быть точным, если вы хотите их в славный Sinclaircolor. Если вы предусматривающий “Mugsy” стиле комикса полоса, за рулем которого относительно короткой программы, это может не имеет значения. Давайте предположим, что на данный момент это не так, и посмотреть, как мы называем магазин и Напомним, иллюстрации.

Прежде всего, сколько можно хранить в памяти? Ответ – 5, с о

6К уехал в программе драйвера (“128” владельцы, очевидно, будет делать лучше, чем это). Далее, как вы храните их? В принципе то, что вам нужно сделать, это передать содержимое каждого байта дисплея подать (D_FILE) и атрибуты область (ATTR), где на фото на экран хранится в высокой памяти, зная, где вы приобрели его. Ты мог сделать это, выглядывая каждый байт, POKEing содержимое, но это будет быть довольно медленным. Решение код рутина Короче машина, которая использует инструкция LDIR. Это означает нагрузки / декремента / прироста / Повторяю, которые, вероятно, не сделает вас гораздо мудрее. В сущности, вы установить один счетчик на количество байтов, которые будут переданы, чтобы другой Начало D_FILE, а третий по адресу назначения. LDIR не делает остальное, постоянно передавая байт до первого счетчика сводится к нулю.

Необходимо код включен в программу 1 [файл: picsave], который сделает переводы для вас, изменить код, чтобы он работал в реверс, а затем сохранить его вместе с байт изображения. Введите его в, и давайте попробуем его. Если у вас есть некоторые фотографии в готовом виде с рисунком Утилита (например, по свету экрана Тони Бейкера), вы можете использовать тех. В противном случае “радуги” и “логотип” ЭКРАН $ S в начале Ваш “Горизонты” лентой будет вполне удовлетворительным.

Запустите программу, и вам будет предложено сколько фото вы хотите сохранить.

Давайте попробуем два. Ответ на приглашение на титул с первой картинке, то играть ленту. Картина будет загрузить в более или менее мгновенно и быть переведен в верхней памяти, адрес которого будет дано. Сделать примечание это, и количество POKE также. Вы должны будете это Информация позднее. Повторите для второй картины, и там вы.

Затем можно сохранить данные для двух фото плюс машинный код в падение их обратно.

Чтобы воспользоваться этой рутины вам понадобится подпрограмма в программе

таких как: 9999 мешке 65358, ч: RANDOMIZE USR 65356: ВОЗВРАЩЕНИЕ Где у вас есть установить переменную час на номер мешке вы отметили для этой картины, прежде чем Вы GOSUB 9999. Попробуйте, но не мигают в самый неподходящий момент. Вы будете пропустите его!

Сжатие памяти

Теперь все это очень хорошо, если у вас есть “128” или не нужно много фото.

Как вы можете сжать пословиц кварта в пинты горшок спектра в? Один из способов, чтобы иметь меньший “кварта”. Другими словами, возможно, вам был бы счастлив с двух цветовых рисунка (чернила и бумага), который занимает до 768 байт меньше. Вы могли бы пойти дальше, имея только верхнюю треть, или два две трети экрана картинка (много приключений использовать эту систему, из нижней части экрана прозрачного для текста). РЗМ, приведенные в Программа 1 скажу вам изменения, которые вы должны будете сделать для них вариации. Если вы хотите смешать различные типы иллюстраций в одном Программа вам нужно тыкать 65364 с соответствующего значения, приведенного в линия 100 REM перед вызовом подпрограммы.

Эта методика, очевидно, не поможет, если вы действительно хотите весь экран

иллюстрации, но есть способ обойти эту проблему, если вы находитесь готов пожертвовать немного скорость для большой экономии в пространстве. Если вводе в следующей строке: LOAD “” ЭКРАН $: Для F = 16384 К 23295: PRINT AT 21,0; “Адрес”; е: «держит»; PEEK п: Пауза 20: СЛЕДУЮЩИЙ е Нажмите ENTER, а затем загрузить в картине. Вы увидите ряд чисел появляются в нижней части экрана, как программа считывает свой путь через D_FILE, а позже в ATTR Если подождать достаточно долго. Вы будете заметить, что числа 0 и 255 (и позже постоянным атрибутом; например 56, если фон черный на белом) происходят чаще чем любые другие. Это потому, что большинство из картины ничего не отображается, пространство (0) или подписано в (255), в то время как большая часть области атрибутов остается неизменным. Зная это, можно уплотнить данные для изображения на хранение, например, линию 32 нулей, как 0,32.

Используя эту технику даже сложную картину, таких как «радуга» ЭКРАН $ уплотняется до половины своей обычной длины. Это то, что подпрограмма каток (программа 2 [файл: компактор]) делает. Введите его в и давайте попробуем его.

Запустите программу, и ответить на “атрибут” подсказку. Если у вас нет

Таблица I поставляется в колонке января вы можете вычислить его сами. Скажите картинка рисуется синими чернилами на желтой бумаге Значение будет 1 (чернила) + 6 (бумага) * 8 = 49. Теперь загрузите в экран $ и ждать. Отныне программа берет на себя, а уплотнение может занять некоторое время, так пойти и сделать чашку кофе, или иметь прогулку вокруг сада. Ты сгорбившись этой АВТ слишком долго в любом случае! Когда передача завершена количество байт, что в картина была прессовали в отображается. Сделайте тщательный сведению это и название используется для сохранения уплотненный код на ленту. Повторение с новым значением атрибута и экран $ пока у вас есть все, что нужно, то просто ответить на “атрибута” строке с ENTER.

[В ближайшие несколько пунктов, он полностью путать с использованием ‘T’]

[Между длиной данных и адреса нагрузки, поэтому я] [Исправлено все ссылки. JimG]

Теперь у вас есть свои спрессованных коды отдельно от ленты необходимо сохранить

им как одна большая длина кода. Сделайте это путем суммирования весь код Длины вы отметили, и добавив 67. (Это для машинного кода вы будете нужно позже, чтобы “uncompact” им). Давайте назовем ответ Т. CLEAR, 65367-T, а затем загрузить в первом уплотненного кода на [Пуск] адрес с помощью: LOAD “Название” КОД 65367-T + 1 Нагрузка в последующих уплотненных кодов, добавив длину этого кода в предыдущий адрес, и отмечая новый адрес загрузки. Таким образом, если первый Код был длинный 2000 байт, следующий будет загрузить в на [начала адрес] +2000, и так далее.

Будем надеяться, что, когда все коды в вас будет 67 байт слева внизу

Начало UDGs. Нагрузка в данных из таблицы А, читая по каждая строка, с: Для F = 65301 К 65367: ВХОД I: POKE F, I: СЛЕДУЮЩЕЙ е Теперь сохраните целые данные и машина блок кода с: SAVE “распаковать” КОД 65367-T + 1, T

Чтобы использовать этот уплотненный код в своих программах вы должны

есть подпрограмма, такие как: 9999 RANDOMIZE: POKE 65305, PEEK 23670: POKE 65306, PEEK 23671:      POKE 65326, с: INK с-INT (с / 8) * 8: PAPER INT (с / 8):      RANDOMIZE USR 65301: ВОЗВРАТ где переменная является началом данные картины вы хотите позвонить (Отметить, если вы сделали одну большую длину кода), и с- Значение атрибута фон используется в программе каток (49 в моем ранний пример).

Таблица B дает аннотированный разборку машинного кода, так что

читатели, которые хотят меньше / двухцветный / чертежей с не заполнено области, (И кто понимает, что они делают!) может изменить машину Код для работы в менее экрана / игнорировать атрибуты / игнорировать 255s и так делают работать быстрее. (Программа 2 также должны адаптация. Обратитесь к РЗМ).

Таблица B

65301 210040 LD HL, 16384

65304 1150C3 LD DE, datastart; ткнул перед вызовом 65307 1A LOOP: LD, (DE) 65308 FEFF CP 255; проверить, заполненной байт 65310 282E JR Z, ПОЛЯ 65312 FE00 CP 000; проверить пустой 65314 2820 JR Z, MISS 65316 77 LD (HL), 65317 23 INC HL 65318 13 RET: INC DE 65319 7С LD A, H 65320 FE58 CP 088; 80 для 2/3 экрана, 72 для 1/3 экрана 65322 38EF JR C, КОНТУР 65324 1A LOOP1: LD, (DE); заменить RET если только D_FILE 65325 FE00 CP атрибут; атрибуты начинаются здесь; POKE значение атр 65327 2809 JR Z, MISS1 65329 77 LD (HL), 65330 23 INC HL 65331 13 RET1: INC DE 65332 7С LD A, H 65333 FE5B CP 091 65335 38F3 JR C, LOOP1 65337 C9 RET 65338 13 MISS1: INC DE; рутина пропустить атрибуты не 65339 1A LD, (DE); быть изменены 65340 D5 PUSH DE 65341 1600 LD D, 000 65343 5F LD E, 65344 19 ДОБАВИТЬ HL, DE 65345 D1 POP DE 65346 18EF JR RET1 65348 13 МИСС: INC DE; рутина пропустить D_FILE байты не 65349 1A LD, (DE); быть изменены 65350 D5 PUSH DE 65351 1600 LD D, 000 65353 5F LD E, 65354 19 ДОБАВИТЬ HL, DE 65355 D1 POP DE 65356 18D8 JR RET 65358 13 FILL: INC DE; рутина заполнить байт 65359 1A LD, (DE) 65360 47 LD B, 65361 36FF НАЗАД: LD (HL), 255 65363 23 INC HL 65364 10FB DJNZ НАЗАД 65366 18CE JR RET

Королевство приехал

В следующий раз мы будем смотреть на косметике стрип-мультфильм типа приключений

графика, “Redhawk” – стиль, но прежде чем я уйду, я буду держать обещание, которое я дал в предыдущей статье, и поставить простой программы “Королевство” вид для тех, кто хочет что-то, чтобы работать, чтобы использовать в качестве Водитель своей графикой. Перечень приведен в программе 3 [файл: Трейдер]. Цель игры состоит в том, чтобы накопить # 100000 по проницательный, если несколько теневых практик торговых. Сценарий Южно-Китайского Моря, но может быть так же легко, контрабанды вдоль побережья Корнуолла, или что-то. Ваш корабль может вместить 50 единиц груза, покупка / цена продажи, которая колеблется. Вы начинаете с # 500 из ваших собственных, плюс # 5000 вы заняли и в конечном итоге должны заплатить. Интерес добавляется в этот всякий раз, когда вы меняете порты. Ах, да. Вы можете столкнуться с штормы в пути и потерять часть груза.

Программа, которая будет работать как в списке, находится в очень простом формате с

простой дисплей текст на экране. Как указано она занимает некоторое 3k, но это может быть сокращен значительно используя байт экономии трюки I показано ранее в этой серии. Есть несколько проверок ошибок.

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

Последнее немного помочь, хотя, с принтами и входов. Печать на

Экран (с речи пузыри, если хотите) довольно легко. Просто используйте PRINT AT R, C; “текст”, где г = строка, и с = столбец вы хотите появляться текст.

Для входа вы должны будете использовать подпрограмму для имитации нормальной

вход рутина, но везде, где вы хотите на главном экране. Добавить Программа 4 [Файл: вход] на ваш основной программы драйвера, и установить г и с к строк / столбцов вы хотите вводимые символы появляются, прежде чем звонить к югу от рутинной. Код 12 является удаление (см с.183 вашего руководства), так CHR $ 8 (курсор влево) используется для забой перед печатью замену характер. Код 13 в соответствии 9995 код для ENTER, так подпрограмма возвращается.

Теперь от к пиксельной бумаги, и получить эскизов!

Играйте в Trader онлайн. Игра-менеджмент, которую подарил миру Clyde W. Bish, была опубликована творческой группой ZX Computing в 1987 году в Великобритании.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

Отправить ответ

Уведомлять об
avatar
wpDiscuz
 

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Помощь

Размер

  • x1 [256x192]
  • x2 [512x384]
  • x3 [768x576]
  • Полный

Диск

Кликни в окно эмулятора, чтобы управлять!
<<<<
Close