;уровень ku-2
 
;*D-
 
LEVDAT  EQU     #79C0 ;адр. нач данных уровня
 
        ORG     LEVDAT
 
;******************************************************
 
;********* ГЛОБАЛЬНЫЕ ПАРАМЕТРЫ УРОВНЯ ****************
 
 
 
isRUNL  RET ;#C9 - обычный уровень, иначе кодовый блок
 
 
 
;--------характеристики сторон-------(0)-обнулять вначале
 
 
 
;параметры играющего
 
hTOWER  DEFB 1 ;мак.число типов вооруж (1-4)
 
hARC    DEFB 0 ;0-2 (0)
 
hHORSE  DEFB 0 ;0-3 (0)
 
hSHILD  DEFB 0 ;0-2 (0)
 
hBLADE  DEFB 0 ;0-2 (0)
 
hmaxC   DEFB 1 ;1-3 чиcло возможн иccл закл свящ
 
hmaxW   DEFB 1 ;1-3 число  --"-- закл волш
 
 
 
;дополнительные параметры играющего
 
hmaxB1  DEFB 1 ;макс число стандарт зданий (0 или 1-2)
 
hmaxB2  DEFB 0 ;maкc число доп эданий (0, 1-4)
 
hWALL   DEFB 0 ;0/17 - можно/нельзя строить стены
 
 
 
;параметры компьютера
 
kTOWER  DEFB 1 ;1-4
 
kARC    DEFB 0 ;0-2
 
kHORSE  DEFB 0 ;0-3
 
kSHILD  DEFB 0 ;0-2
 
kBLADE  DEFB 0 ;0-2
 
kmaxC   DEFB 0 ;1,3 чиcло иccл закл (0-нет свящ)
 
kmaxW   DEFB 0 ;1..3 чиcло иccл закл (0-нет волш)
 
 
 
;----------- параметры стратегии врага ----------------
 
;/wSTRATEG
 
levMAX  DEFB 2   ;макс число народу в группе (для уровня) = 1..10
 
levDEL  DEFB 55  ;средн задержка межд сборами (для уровня) = 1..X
 
lev1ST  DEFB 40   ;нач задержка первого сбора = 1..
 
 ;Тип уровня 0 ;обычный
 
 ;Тип уровня 1 ;атакованый охранник становится атакующим
 
 ;Тип уровня 2 ;см. тип 1 + охранники иногда идут в атаку
 
levTYP  DEFB 0   ;тип уровня (0-обычный)
 
;-------- цветовые настройки -------
 
COLOR   DEFB #31 ;цвет поля
 
 
 
;-------- общие параметры уровня -----
 
MASTER  DEFB 1  ; кто играет 0/1 - люди?кунги
 
LEVEL   DEFB 2  ; номер уровня
 
MONEY   DEFB 0,0,0,5,0,0 ;деньги
 
WOOD    DEFB 0,0,0,1,0,0 ;леc
 
TASK_M  ;задание: 3 строки по 20+1 символов = 63
 
        incbin "../task/w202.tsk"
 
LEVRES  DEFB 0,0,0,43,0,0,127 ;текущее время прохождения
 
 
 
;------- используемые файлы -------
 
 
 
fsLAND  DEFB 2; 1-4
 
fsMUS   DEFB 0; 0-7
 
 
 
 
 
;****************** Инициализируемые переменные ****************
 
;--------------- (входят в описание каждого уровня) ------------
 
;/выбраные герои
 
SEL_T DEFB 0 ;0-none;1-один;2-6-group;7-кунг,8-здание
 
SEL_N DEFB 0,0,0,0,0,0 ;номера 6 выбр гер/зд
 
 
 
sel_en DEFB #FF ;выбранный враг-цель
 
sel_ti DEFB 0 ;время отображения цели
 
 
 
;/outLED
 
LED DEFB 3,4,3,4,3,4
 
 
 
;/putTX
 
_msg    DEFB #FF
 
pTX_AD  DEFW 0;WNAMES
 
TX_AD   DEFW 0;WNAMES
 
pTXdel  DEFB 0 ;t задержки на выв экcтр cообщ
 
 
 
;/M_PLAT
 
isPLAT  DEFB 0; 0/1-есть/нет площадки
 
szPLAT  DEFB 0; размер площадки под стр-во (1..3, 0-нет)
 
bcPLAT  DEFW 0; размеры
 
adPLAT  DEFW 0; позиция in ATR
 
waPLAT  DEFB 0; если стена - 1
 
 
 
;/PAUSE
 
onPAUS  DEFB 1 ;0-включить паузу
 
 
 
;/SOUNDn
 
NOTA    DEFW se ;текущ нота
 
se      DEFW #FFFF ;конст
 
levSND  DEFB 0 ;0-макс громкость
 
sIY56   DEFW 0 ;координаты снарядов
 
priv_S  DEFB 0 ;текущ приоритет (0-нет мелодии)
 
NOTA2   DEFW se ;нота новой мелодии
 
priv_2  DEFB 0  ;нов приор
 
 
 
;/STRATEG - variables
 
pntX    DEFB 32  ;-коорд т.сбора
 
pntY    DEFB 31  ;-/
 
pntNUM  DEFB 0   ;-число оставшихся до конца сбора воинов (0-конец сбора, 255-нов сбор)
 
pntDEL  DEFB 22  ;-время до нач.след сбора/задержка на пр-во воина
 
pntTAR  DEFB #FF ;-объект атаки (0-101 - воины, #80.. -здания, #FF-нет)
 
pntUNI  DEFB 0   ;-отряд разнородный/однородный (0/member typ)
 
pntEN   DEFB 0,0,0,0,0,0
 
                 ;-разреш пр-во вида (3..8) (0-нет)
 
pntMAN  DEFB 0   ;тип пораждаемого воина
 
 
 
;/isEND
 
END_1   DEFB 0  ;0/1/2-none/нет врагов/нет людей
 
END_2   DEFB 0  ;не0-князь вошёл в пещеру
 
TheEND  DEFB 0  ;0/1/2-none/победа людей/победа врагов (устанавл в _cLOOP)
 
;-----------(резерв)-------------
 
dummy   DEFS 6,0
 
;-----------процедуры------------
 
pcLOOP  JR _cLOOP
 
pcINI   ;стартовая процедура
 
        RET
 
;_cLOOP  ;процедура окончания под землёй
 
;        LD A,(END_2)
 
;        OR A
 
;        JR NZ,_cLO1
 
;        LD A,(END_1)
 
;        CP 1
 
;        RET Z
 
;_cLO1   LD (TheEND),A
 
;        RET
 
         DEFS 10
 
_cLOOP   ;стандартная проц окончания
 
         LD A,(END_1)
 
         LD (TheEND),A
 
         RET
 
 
 
;------ обнуление основных структур данных ---
 
 
 
        DEFS #7AA0-$,#27
 
BULL    DEFS 24*12      ;from #7AA0
 
MINE    DEFS 8*8        ;from #7BC0
 
HBUILD  DEFS 32*8       ;from #7C00
 
KBUILD  DEFS 32*8       ;from #7D00
 
BUF512  EQU #7E00; буфер512     ;from #7E00
 
MAP     EQU #8000; DEFS #1000   ;from #8000
 
MAP2    EQU #9000; DEFS #1000   ;from #9000
 
DSCR    EQU #A000; DEFS #1800   ;from #A000
 
HUMAN   EQU #B800; DEFS 48*16   ;from #B800
 
KUNGE   EQU #BB00; DEFS 48*16   ;from #BB00
 
SLAVE   EQU #BE00; DEFS 6*16    ;from #BE00
 
XY      EQU #BE60; DEFS 102*4   ;from #BE60
 
;NEXT   EQU #BFF8; nop
 
 
 
;для мар2:
 
;0-своб.поле, 1-граница, 2 -непрох
 
;#38-#3F        шахты
 
;#40-#5F        здания людей
 
;#60-#7F        здания кунгов
 
;#80-#AF        люди
 
;#B0-#DF        кунги
 
;#E0-#FF        пленники
 
 
 
 
 
;------------------------------------------------------------
 
;--------- Золото шахт ----- (4096+512 переносится на BUF512)
 
 
 
datMIN  DEFW 150,140,47,125,8,8,8,8 ;золото для шахт/100
 
        ;0-чей (255-конец), 1-тип, 2/3-XY,4-none
 
 
 
;------ Описание героев и карты ---
 
 
 
datHER
 
        incbin "../map/w202_s2.her"
 
        incbin "../map/w202_s2.map"
 
 
 
;-------Картинка-----
 
datSCR
 
        incbin "../barkov/chess.scr"
 
 
 
;----------------------------------