?login_element?

Subversion Repositories NedoOS

Rev

Rev 228 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;уровень 0-13
  2.  
  3. LEVDAT  EQU     #79C0 ;адр. нач данных уровня
  4.         ORG     LEVDAT
  5. ;******************************************************
  6. ;********* ГЛОБАЛЬНЫЕ ПАРАМЕТРЫ УРОВНЯ ****************
  7.  
  8. isRUNL  RET ;#C9 - обычный уровень, иначе кодовый блок
  9.  
  10. ;--------характеристики сторон-------(0)-обнулять вначале
  11.  
  12. ;параметры играющего
  13. hTOWER  DEFB 4 ;мак.число типов вооруж (1-4)
  14. hARC    DEFB 1 ;0-2 (0)
  15. hHORSE  DEFB 2 ;0-3 (0)
  16. hSHILD  DEFB 1 ;0-2 (0)
  17. hBLADE  DEFB 1 ;0-2 (0)
  18. hmaxC   DEFB 3 ;1-3 чиcло возможн иccл закл свящ
  19. hmaxW   DEFB 2 ;1-3 число  --"-- закл волш
  20.  
  21. ;дополнительные параметры играющего
  22. hmaxB1  DEFB 2 ;макс число стандарт зданий (0 или 1-2)
  23. hmaxB2  DEFB 4 ;maкc число доп эданий (0, 1-4)
  24. hWALL   DEFB 0 ;0/17 - можно/нельзя строить стены
  25.  
  26. ;параметры компьютера
  27. kTOWER  DEFB 4 ;1-4
  28. kARC    DEFB 1 ;0-2
  29. kHORSE  DEFB 2 ;0-3
  30. kSHILD  DEFB 1 ;0-2
  31. kBLADE  DEFB 1 ;0-2
  32. kmaxC   DEFB 3 ;1,3 чиcло иccл закл (0-нет свящ)
  33. kmaxW   DEFB 2 ;1..3 чиcло иccл закл (0-нет волш)
  34.  
  35. ;----------- параметры стратегии врага ----------------
  36. ;/wSTRATEG  (1.ед.изм - 8тик)
  37. levMAX  DEFB 1   ;макс число народу в группе (для уровня) = 1..10
  38. levDEL  DEFB 77  ;средн задержка межд сборами (для уровня) = 1..X
  39. lev1ST  DEFB 17 ;нач задержка первого сбора = 1..
  40.  ;Тип уровня 0 ;обычный
  41.  ;Тип уровня 1 ;атакованый охранник становится атакующим
  42.  ;Тип уровня 2 ;см. тип 1 + охранники иногда идут в атаку
  43. levTYP  DEFB 0   ;тип уровня (0-обычный)
  44. ;-------- цветовые настройки -------
  45. COLOR   DEFB #30 ;цвет поля
  46.  
  47. ;-------- общие параметры уровня -----
  48. MASTER  DEFB 0  ; кто играет 0/1 - люди?кунги
  49. LEVEL   DEFB 13  ; номер уровня
  50. MONEY   DEFB 0,0,0,0,0,0 ;деньги
  51. WOOD    DEFB 0,0,0,0,0,0 ;леc
  52. TASK_M  ;задание: 3 строки по 20+1 символов = 63
  53.         incbin "../task/w113.tsk"
  54. LEVRES  DEFB 0,0,0,43,0,0,127 ;текущее время прохождения
  55.  
  56. ;------- используемые файлы -------
  57.  
  58. fsLAND  DEFB 2; 1-4
  59. fsMUS   DEFB 0; 0-7
  60.  
  61.  
  62. ;****************** Инициализируемые переменные ****************
  63. ;--------------- (входят в описание каждого уровня) ------------
  64. ;/выбраные герои
  65. SEL_T DEFB 0 ;0-none;1-один;2-6-group;7-кунг,8-здание
  66. SEL_N DEFB 0,0,0,0,0,0 ;номера 6 выбр гер/зд
  67.  
  68. sel_en DEFB #FF ;выбранный враг-цель
  69. sel_ti DEFB 0 ;время отображения цели
  70.  
  71. ;/outLED
  72. LED DEFB 4,3,4,3,4,3
  73.  
  74. ;/putTX
  75. _msg    DEFB #FF
  76. pTX_AD  DEFW 0;WNAMES
  77. TX_AD   DEFW 0;WNAMES
  78. pTXdel  DEFB 0 ;t задержки на выв экcтр cообщ
  79.  
  80. ;/M_PLAT
  81. isPLAT  DEFB 0; 0/1-есть/нет площадки
  82. szPLAT  DEFB 0; размер площадки под стр-во (1..3, 0-нет)
  83. bcPLAT  DEFW 0; размеры
  84. adPLAT  DEFW 0; позиция in ATR
  85. waPLAT  DEFB 0; если стена - 1
  86.  
  87. ;/PAUSE
  88. onPAUS  DEFB 1 ;0-включить паузу
  89.  
  90. ;/SOUNDn
  91. NOTA    DEFW se ;текущ нота
  92. se      DEFW #FFFF ;конст
  93. levSND  DEFB 0 ;0-макс громкость
  94. sIY56   DEFW 0 ;координаты снарядов
  95. priv_S  DEFB 0 ;текущ приоритет (0-нет мелодии)
  96. NOTA2   DEFW se ;нота новой мелодии
  97. priv_2  DEFB 0  ;нов приор
  98.  
  99. ;/STRATEG - variables
  100. pntX    DEFB 32  ;-коорд т.сбора
  101. pntY    DEFB 31  ;-/
  102. pntNUM  DEFB 0   ;-число оставшихся до конца сбора воинов (0-конец сбора, 255-нов сбор)
  103. pntDEL  DEFB 22  ;-время до нач.след сбора/задержка на пр-во воина
  104. pntTAR  DEFB #FF ;-объект атаки (0-101 - воины, #80.. -здания, #FF-нет)
  105. pntUNI  DEFB 0   ;-отряд разнородный/однородный (0/member typ)
  106. pntEN   DEFB 0,0,0,0,0,0
  107.                  ;-разреш пр-во вида (3..8) (0-нет)
  108. pntMAN  DEFB 0   ;тип пораждаемого воина
  109.  
  110. ;/isEND
  111. END_1   DEFB 0  ;0/1/2-none/нет врагов/нет людей
  112. END_2   DEFB 0  ;не0-князь вошёл в пещеру
  113. TheEND  DEFB 0  ;0/1/2-none/победа людей/победа врагов (устанавл в _cLOOP)
  114. ;-----------(резерв)-------------
  115. dummy   DEFS 6,0
  116. ;-----------процедуры------------
  117. pcLOOP  JR _cLOOP
  118. pcINI   ;стартовая процедура
  119.         RET
  120. ;_cLOOP  ;процедура окончания под землёй
  121. ;        LD A,(END_2)
  122. ;        OR A
  123. ;        JR NZ,_cLO1
  124. ;        LD A,(END_1)
  125. ;        CP 1
  126. ;        RET Z
  127. ;_cLO1   LD (TheEND),A
  128. ;        RET
  129. waw113   DEFB -16
  130. _cLOOP   ;стандартная проц окончания
  131.          LD A,(END_1)
  132.          LD (TheEND),A
  133.          ;
  134.          LD HL,pntDEL
  135.          LD A,(HL)
  136.          CP 5
  137.          RET NZ
  138.          DEC (HL)
  139.          LD HL,waw113
  140.          LD A,(HL)
  141.          ADD A,16
  142.          CP 48
  143.          RET NC
  144.          LD (HL),A
  145.          LD L,A
  146.          LD H,0
  147.          ADD HL,HL
  148.          ADD HL,HL
  149.          ADD HL,HL
  150.          ADD HL,HL
  151.          LD DE,KUNGE+13
  152.          ADD HL,DE
  153.          LD DE,16
  154.          LD B,16
  155. pcc113   LD (HL),2
  156.          ADD HL,DE
  157.          DJNZ pcc113
  158.          RET
  159.  
  160. ;------ обнуление основных структур данных ---
  161.  
  162.         DEFS #7AA0-$,#27
  163. BULL    DEFS 24*12      ;from #7AA0
  164. MINE    DEFS 8*8        ;from #7BC0
  165. HBUILD  DEFS 32*8       ;from #7C00
  166. KBUILD  DEFS 32*8       ;from #7D00
  167. BUF512  EQU #7E00; буфер512     ;from #7E00
  168. MAP     EQU #8000; DEFS #1000   ;from #8000
  169. MAP2    EQU #9000; DEFS #1000   ;from #9000
  170. DSCR    EQU #A000; DEFS #1800   ;from #A000
  171. HUMAN   EQU #B800; DEFS 48*16   ;from #B800
  172. KUNGE   EQU #BB00; DEFS 48*16   ;from #BB00
  173. SLAVE   EQU #BE00; DEFS 6*16    ;from #BE00
  174. XY      EQU #BE60; DEFS 102*4   ;from #BE60
  175. ;NEXT   EQU #BFF8; nop
  176.  
  177. ;для мар2:
  178. ;0-своб.поле, 1-граница, 2 -непрох
  179. ;#38-#3F        шахты
  180. ;#40-#5F        здания людей
  181. ;#60-#7F        здания кунгов
  182. ;#80-#AF        люди
  183. ;#B0-#DF        кунги
  184. ;#E0-#FF        пленники
  185.  
  186.  
  187. ;------------------------------------------------------------
  188. ;--------- Золото шахт ----- (4096+512 переносится на BUF512)
  189.  
  190. datMIN  DEFW 500,40,30,20,10,7,7,7 ;золото для шахт/100
  191.         ;0-чей (255-конец), 1-тип, 2/3-XY,4-none
  192.  
  193. ;------ Описание героев и карты ---
  194.  
  195. datHER
  196.         incbin "../map/w113_s2.her"
  197.         incbin "../map/w113_s2.map"
  198.  
  199. ;-------Картинка-----
  200. datSCR
  201.         incbin "../barkov/dragon1.scr"
  202.  
  203. ;----------------------------------
  204.