~matboutigny/hangman8086/two_players_mode

« back to all changes in this revision

Viewing changes to twopl.asm

  • Committer: Mathilde BOUTIGNY
  • Date: 2011-06-18 15:19:17 UTC
  • Revision ID: 127081@supinfo.com-20110618151917-01qzhc08m8t7gcl8
*And th winner is...

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
call _memcpy
82
82
nop
83
83
 
 
84
 
 
85
 
84
86
;Game loop.
85
87
 
86
88
mov cx, 3
107
109
mov WORD, offset tp_fplword
108
110
call _play
109
111
 
 
112
;Count the second player's lives.
 
113
 
 
114
mov ax, 0
 
115
mov al, play_lives
 
116
add play_sp_lives, al
 
117
 
110
118
;Abort game.
111
119
 
112
120
cmp GAME_STATUS, GAME_STATUS_ABORT
133
141
mov WORD, offset tp_splword
134
142
call _play
135
143
 
 
144
;Count the first player's lives.
 
145
 
 
146
mov ax, 0
 
147
mov al, play_lives
 
148
add play_fp_lives, al
 
149
 
136
150
;Abort game.
137
151
 
138
152
cmp GAME_STATUS, GAME_STATUS_ABORT
144
158
cmp cx, 0
145
159
jne tp_game_loop
146
160
 
 
161
;Put the number of lives of the second player in bx.
 
162
 
 
163
mov ax, 0
 
164
mov al, play_sp_lives
 
165
 
 
166
;Jump to fp_win if the first player win.
 
167
 
 
168
call _draw_ui
 
169
 
 
170
cmp play_fp_lives, al
 
171
jg fp_win
 
172
 
 
173
;Display message if second player win.
 
174
 
 
175
mov POS_X, (COLS-24)/2
 
176
mov POS_Y, header_height + 4
 
177
call _move_cursor
 
178
mov MEMCPY_SRC, offset tp_splname
 
179
mov MEMCPY_DEST, offset tp_msg_win
 
180
mov MEMCPY_LEN, 8
 
181
call _memcpy
 
182
mov ah, 0x09
 
183
mov dx, offset tp_msg_win
 
184
int 0x21
 
185
 
 
186
;wait
 
187
mov ah, 0x86
 
188
mov cx, 124
 
189
int 0x15
 
190
 
 
191
jmp tp_end
 
192
 
 
193
;Display message if first player win.
 
194
 
 
195
fp_win:
 
196
mov POS_X, (COLS-24)/2
 
197
mov POS_Y, header_height + 4
 
198
call _move_cursor
 
199
mov MEMCPY_SRC, offset tp_fplname
 
200
mov MEMCPY_DEST, offset tp_msg_win
 
201
mov MEMCPY_LEN, 8
 
202
call _memcpy
 
203
mov ah, 0x09
 
204
mov dx, offset tp_msg_win
 
205
int 0x21
 
206
 
 
207
;wait
 
208
mov ah, 0x86
 
209
mov cx, 124
 
210
int 0x15
 
211
 
147
212
tp_end:
148
213
 
149
214
;Restore registers
158
223
 
159
224
 
160
225
;Datas
 
226
 
161
227
tp_msg_fplname db "Please enter the first player's name:$"
162
228
tp_fplname db "--------"
163
229
tp_msg_splname db "Please enter the second player's name:$"
164
230
tp_splname db "--------"
 
231
 
165
232
tp_msg_fplword db "******** enter your secret word:$"
166
233
tp_fplword db "-------------------------"
167
234
tp_msg_splword db "******** enter your secret word:$"
168
235
tp_splword db "-------------------------"
169
236
 
170
 
 
171
 
 
172
 
 
173
 
 
174
 
 
175
 
 
176
 
 
177
 
 
 
237
tp_msg_win db "******** is the winner !$"
 
238
 
 
239
play_fp_lives db 0
 
240
play_sp_lives db 0