Мой сайт

Четверг, 17.07.2025, 09:52
Приветствую Вас Гость

Регистрация
Вход
Главная » 2014 » Январь » 19 » Генератор лабиринтов :: Лабиринт генератор
21:36

Генератор лабиринтов :: Лабиринт генератор





лабиринт генератор
По умолчанию Если лабиринт закодирован по 2 клетки на байт, то вот процедурки для чтения и записи по нужному адресу и полубайту. В них длина лабиринта по горизонтали 128 клеток, ширина по вертикали произвольная. Длину легко можно поменять.

Код:

BEGLAB EQU ... ; адрес начала лабиринта ; получение значения клетки по логическим координатам ; входные параметры: B = вертикальная координата в лабиринте, C = горизонтальная координата в лабиринте ; выходной параметр: A = элемент лабиринта (биты 0-3) GETKL LD H,B ; расчет логического адреса клетки LD L,0 SRL H RR L LD B,0 ADD HL,BC SRL H ; расчет физического адреса клетки в памяти RR L LD BC,BEGLAB JP C,GETKL1 ; если нечетный логический байт, то вторая половина физического байта ADD HL,BC ; достаем клетку лабиринта LD A,(HL) RRCA RRCA RRCA RRCA AND #0F RET GETKL1 ADD HL,BC LD A,(HL) AND #0F RET ; занесение в клетку заданного значения по логическим координатам ; входные параметры: B = вертикальная координата в лабиринте, C = горизонтальная координата в лабиринте, A = элемент лабиринта (биты 0-3) ; выходных параметров нет PUTKL LD H,B ; расчет логического адреса клетки LD L,0 SRL H RR L LD B,0 ADD HL,BC SRL H ; расчет физического адреса клетки в памяти RR L LD BC,BEGLAB JP C,PUTKL1 ; если нечетный логический байт, то вторая половина физического байта ADD HL,BC ; достаем клетку лабиринта RLCA RLCA RLCA RLCA LD C,A LD A,(HL) AND #0F OR C LD (HL),A RET PUTKL1 ADD HL,BC LD C,A LD A,(HL) AND #F0 OR C LD (HL),A RET __________________


Источник: zx.pk.ru
Просмотров: 2356 | Добавил: concle | Рейтинг: 0.0/0
Всего комментариев: 0
Меню сайта
Форма входа
Поиск
Календарь
«  Январь 2014  »
Пн Вт Ср Чт Пт Сб Вс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Наш опрос
Оцените мой сайт
Всего ответов: 1
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0