ootw: initialize slugs in a loop

This commit is contained in:
Vince Weaver 2019-01-20 23:46:05 -05:00
parent 5d5f17c473
commit 688db7ac5c
2 changed files with 68 additions and 47 deletions

View File

@ -33,53 +33,11 @@ ootw:
; Initialize the slugs
;=======================
lda #1
sta slugg0_out
sta slugg1_out
sta slugg2_out
lda #0
sta slugg0_attack
sta slugg0_dieing
sta slugg1_attack
sta slugg1_dieing
sta slugg2_attack
sta slugg2_dieing
lda #$ff
sta slugg0_dir
sta slugg1_dir
sta slugg2_dir
jsr random16
and #$f
clc
adc #16
sta slugg0_x
jsr random16
and #$7
clc
adc #16
sta slugg1_x
clc
adc #10
sta slugg2_x
jsr random16
; and #$3
sta slugg0_gait
jsr random16
; and #$3
sta slugg1_gait
jsr random16
; and #$3
sta slugg2_gait
jsr init_slugs
;=======================
; Enter the game
;=======================
jsr ootw_pool

View File

@ -4,7 +4,7 @@
; draw slugs
;==================================
; outstate 0=dead 1=normal 2=dieing 3=falling
; out-state 0=dead 1=normal (2=falling?)
slugg0_out: .byte 1 ; 0
slugg0_attack: .byte 0 ; 1
@ -29,7 +29,70 @@ slugg2_gait: .byte 0
slugg3_out: .byte 1 ; 0
slugg3_attack: .byte 0 ; 1
slugg3_dieing: .byte 0 ; 2
slugg3_x: .byte 30 ; 3
slugg3_dir: .byte $ff ; 4
slugg3_gait: .byte 0 ; 5
slugg4_out: .byte 1 ; 6
slugg4_attack: .byte 0
slugg4_dieing: .byte 0
slugg4_x: .byte 30
slugg4_dir: .byte $ff
slugg4_gait: .byte 0
slugg5_out: .byte 1
slugg5_attack: .byte 0
slugg5_dieing: .byte 0
slugg5_x: .byte 30
slugg5_dir: .byte $ff
slugg5_gait: .byte 0
;========================
; Init the slug creatures
;========================
init_slugs:
ldx #0
init_slug_loop:
lda #1
sta slugg0_out,X
lda #0
sta slugg0_attack,X
sta slugg0_dieing,X
lda #$ff
sta slugg0_dir,X
jsr random16
and #$f
clc
adc #16
sta slugg0_x,X
jsr random16
sta slugg0_gait,X
clc
txa
adc #6
tax
cpx #36
bne init_slug_loop
rts
;========================
; Draw the slug creatures
;========================
draw_slugs: