Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1806 yogev_ezra 1
SMZ_levelp:
2
    call get_xy_sf
3
    xor  eax,eax
4
    mov  [stepptr],esi
5
    lodsb
6
    mov  [cur_step],esi
7
    add  esi,eax
8
    mov  [levptr],esi
9
    call unpack_level
10
    ret
11
 
12
SMZ_key:
13
    cmp  eax,176
14
    jb   .ex
15
    cmp  eax,179
16
    ja   .ex
17
    mov  ecx,[cur_step]
18
    movzx ecx,byte[ecx]
19
    lea  ebx,[eax-176]
20
    mov  eax,[player]
21
  .lp:
22
    call check_move
23
    jc   .exl
24
    add  eax,[dirs+ebx*4]
25
    loop .lp
26
  .exl:
27
    test ecx,ecx
28
    jne  .ex
29
    mov  [player],eax
30
    cmp  eax,[finish]
31
    jne  .nowin
32
    mov  [win_flag],1
33
  .nowin:
34
    mov  esi,[stepptr]
35
    movzx eax,byte[esi]
36
    inc  esi
37
    lea  ebx,[esi+eax]
38
    inc  [cur_step]
39
    cmp  [cur_step],ebx
40
    jb   .ex
41
    mov  [cur_step],esi
42
  .ex:
43
    ret
44
 
45
SMZ_drawm:
46
    mov  eax,[player]
47
    call get_xy
48
    mcall 13,[lx],[ly],0xff00
49
    mov  eax,[finish]
50
    call get_xy
51
    mcall 13,[lx],[ly],0xff0000
52
    cmp  [win_flag],1
53
    je   .ex
54
    mov  edi,[stepptr]
55
    movzx ecx,byte[edi]
56
    inc  edi
57
    mov  edx,(XFOFS+MSGXO) shl 16+42
58
    mov  ebx,0x010000
59
    mov  eax,47
60
  .lp:
61
    push ecx
62
    mov  esi,0x10000000
63
    movzx ecx,byte[edi]
64
    cmp  edi,[cur_step]
65
    jne  .nocur
66
    mov  esi,0x100000ff
67
    mcall
68
    add  edx,1 shl 16
69
  .nocur:
70
    mcall
71
    pop  ecx
72
    add  edx,10 shl 16
73
    inc  edi
74
    loop .lp
75
  .ex:
76
    ret
77
 
78
SMZ_level:
79
file 'smz.bin'
80
 
81
if lang eq ru
82
	SMZ_help mstr \
83
	'Повторяйте последовательность ходов, двигая',\
84
	'зеленый квадрат на подсвеченное количество клеток',\
85
	'по прямой, пока не достигнете красного квадрата.','',\
86
  'http://puzzleprograms.narod.ru'
87
else
88
	SMZ_help mstr \
89
	'Repeat sequence shown above the field moving the',\
90
	'green square by highlighted count of spaces as',\
91
	'many times as you like, until you finish at the',\
92
	'red square.','',\
93
  'http://puzzleprograms.narod.ru'
94
end if