44
55jmp short Start
66
7- struc column
7+ struc Column
88 .posX: resb 1
99 .lowY: resb 1
1010 .highY: resb 1
@@ -69,7 +69,7 @@ StartGame:
6969 mov di , playerYVel
7070 call Copy32
7171 mov word [ score ], 0
72- mov byte [ collCnt ], 0
72+ mov byte [ colCnt ], 0
7373 mov dl , FIRST_COLUMN_POS_X
7474 call SpawnColumn
7575
@@ -123,7 +123,7 @@ StartGame:
123123 int 10h
124124
125125 xor dl , dl ; draw collumns. move colluns
126- mov si , colls
126+ mov si , cols
127127 xor bh , bh
128128 mov al , 'X'
129129 .columnLoop:
@@ -132,7 +132,7 @@ StartGame:
132132 .printRowLoop:
133133 xor cx , cx
134134 mov cl , [ columnWidth ]
135- mov dl , [ si + column .posX]
135+ mov dl , [ si + Column .posX]
136136 test dl , dl
137137 jns .xNotNeg
138138 add cl , dl
@@ -150,31 +150,31 @@ StartGame:
150150 mov bl , 0Dh
151151 int 10h
152152 inc dh
153- cmp dh , [ si + column .highY]
153+ cmp dh , [ si + Column .highY]
154154 je .lower
155155 cmp dh , 25 - GROUND_HEIGHT
156156 je .end
157157 jmp .printRowLoop
158158 .lower:
159- mov dh , [ si + column .lowY]
159+ mov dh , [ si + Column .lowY]
160160 jmp .printRowLoop
161161 .end:
162162 pop dx
163- dec byte [ si + column .posX]
163+ dec byte [ si + Column .posX]
164164 add si , column_size
165165 inc dl
166- cmp dl , [ collCnt ]
166+ cmp dl , [ colCnt ]
167167 jne .columnLoop
168168
169- mov al , column_size ; spawn new column if necessary
170- mov ah , [ collCnt ]
169+ mov al , column_size ; spawn new Column if necessary
170+ mov ah , [ colCnt ]
171171 dec ah
172172 mul ah
173173 xor bx , bx
174174 mov bl , al
175- add bx , colls
175+ add bx , cols
176176 mov al , 80
177- sub al , [ bx + column .posX]
177+ sub al , [ bx + Column .posX]
178178 cmp al , COLUMN_INTERVAL
179179 jne .noSpawn
180180 mov dl , 79 ; (79 - COLUMN_WIDTH)
@@ -206,40 +206,40 @@ StartGame:
206206 jmp GameOver
207207 .noGroundCollision:
208208
209- cmp word [ collCnt ], 0 ; remove first column if off view. add score. check column collision
209+ cmp word [ colCnt ], 0 ; remove first Column if off view. add score. check Column collision
210210 je .noRemove
211- mov al , [ colls + column .posX]
211+ mov al , [ cols + Column .posX]
212212 inc al
213213 cmp [ playerX ], al
214214 jl .noCollision
215215 add al , [ columnWidth ]
216216 cmp [ playerX ], al
217217 jg .noCollision
218218 mov ah , [ playerYInt ]
219- mov al , [ colls + column .lowY]
219+ mov al , [ cols + Column .lowY]
220220 cmp ah , al
221221 jnl .collision
222- mov al , [ colls + column .highY]
222+ mov al , [ cols + Column .highY]
223223 cmp ah , al
224224 jl .collision
225225 jmp .noCollision
226226 .collision:
227227 jmp GameOver
228228 .noCollision:
229- mov al , [ colls + column .posX]
229+ mov al , [ cols + Column .posX]
230230 add al , [ columnWidth ]
231231 cmp al , [ playerX ]
232232 jne .noScore
233233 inc word [ score ]
234234 .noScore:
235235 test al , al
236236 jnz .noRemove
237- dec byte [ collCnt ]
237+ dec byte [ colCnt ]
238238 cld
239- mov si , colls
239+ mov si , cols
240240 add si , column_size
241- mov di , colls
242- mov al , [ collCnt ]
241+ mov di , cols
242+ mov al , [ colCnt ]
243243 mov ah , column_size
244244 mul ah
245245 xor cx , cx
@@ -315,21 +315,21 @@ ClearScreen:
315315; invalidates: ax, bx, dx, di
316316SpawnColumn:
317317 mov al , column_size
318- mov ah , [ collCnt ]
318+ mov ah , [ colCnt ]
319319 mul ah
320320 xor bx , bx
321321 mov bl , al
322- add bx , colls
323- mov [ bx + column .posX], dl
322+ add bx , cols
323+ mov [ bx + Column .posX], dl
324324 call NextRandomNum
325325 xor dx , dx
326326 mov di , COLUMN_TOP_MAX_Y - COLUMN_TOP_MIN_Y
327327 div di
328328 add dx , COLUMN_TOP_MIN_Y
329- mov byte [ bx + column .highY], dl
329+ mov byte [ bx + Column .highY], dl
330330 add dl , [ columnSpaceHeight ]
331- mov byte [ bx + column .lowY], dl
332- inc byte [ collCnt ]
331+ mov byte [ bx + Column .lowY], dl
332+ inc byte [ colCnt ]
333333 ret
334334
335335; ret: ax = random number
@@ -378,8 +378,8 @@ playerX db 15 ; const
378378playerY dd 0 . 0
379379playerYInt db 0
380380playerYVel dd 0 . 0
381- colls resb column_size * MAX_VISIBLE_COLUMNS
382- collCnt db 0
381+ cols resb column_size * MAX_VISIBLE_COLUMNS
382+ colCnt db 0
383383score dw 0
384384
385385playerStartY dd 6 . 0
@@ -392,7 +392,7 @@ columnSpaceHeight db 8
392392groundHeight db GROUND_HEIGHT
393393
394394; VirtualBox sometimes appears to have messed up clock. If so, multiply values below by 4.
395- updateInterval dd 1_000_000 / 20 * 4
395+ updateInterval dd 1_000_000 / 20
396396restartDelay dd 250_000
397397
398398%include "commonSubroutines.nasm"
0 commit comments