mirror of
https://github.com/robmcmullen/fujirun.git
synced 2025-01-15 22:29:55 +00:00
Initial score panel display
This commit is contained in:
parent
4484d2f1f4
commit
152cac3ded
3
actors.s
3
actors.s
@ -124,6 +124,9 @@ add_score nop
|
||||
adc #0
|
||||
sta player_score_h,x
|
||||
cld
|
||||
|
||||
jsr update_score
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
89
background.s
89
background.s
@ -164,7 +164,52 @@ paint_boxes nop
|
||||
; pad.addstr(row - 1, MAZE_SCORE_COL, " ")
|
||||
; pad.addstr(row, MAZE_SCORE_COL, "Player%d" % (zp.current_actor + 1))
|
||||
; zp.current_actor += 1
|
||||
;
|
||||
|
||||
clear_panel nop
|
||||
ldx #MAZE_RIGHT_COL+1
|
||||
lda #0
|
||||
?1 jsr text_put_col
|
||||
inx
|
||||
cpx #40
|
||||
bcc ?1
|
||||
rts
|
||||
|
||||
init_panel nop
|
||||
jsr clear_panel
|
||||
|
||||
ldy #1
|
||||
jsr mazerow
|
||||
ldy #MAZE_PANEL_COL
|
||||
ldx #0
|
||||
?1 lda player1_text,x
|
||||
beq ?2
|
||||
sta (mazeaddr),y
|
||||
iny
|
||||
inx
|
||||
bne ?1
|
||||
?2
|
||||
ldy #6
|
||||
jsr mazerow
|
||||
ldy #MAZE_PANEL_COL
|
||||
ldx #0
|
||||
?3 lda player2_text,x
|
||||
beq ?4
|
||||
sta (mazeaddr),y
|
||||
iny
|
||||
inx
|
||||
bne ?3
|
||||
?4
|
||||
ldx #0
|
||||
jsr update_score
|
||||
inx
|
||||
jsr update_score
|
||||
rts
|
||||
|
||||
player1_text .byte "PLAYER1", 0
|
||||
player2_text .byte "PLAYER2", 0
|
||||
|
||||
|
||||
|
||||
; def show_lives(row, num):
|
||||
; i = 1
|
||||
; col = SCREEN_COLS
|
||||
@ -176,8 +221,48 @@ paint_boxes nop
|
||||
; c = " "
|
||||
; pad.addch(row, col, ord(c))
|
||||
; i += 1
|
||||
;
|
||||
|
||||
print_hex pha
|
||||
stx param_x
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
tax
|
||||
lda hexdigit,x
|
||||
sta (mazeaddr),y
|
||||
iny
|
||||
pla
|
||||
and #$0f
|
||||
tax
|
||||
lda hexdigit,x
|
||||
sta (mazeaddr),y
|
||||
iny
|
||||
ldx param_x
|
||||
rts
|
||||
|
||||
|
||||
; def update_score():
|
||||
update_score nop
|
||||
lda #MAZE_SCORE_COL
|
||||
sta c
|
||||
lda player_score_row,x
|
||||
sta r
|
||||
lda #4
|
||||
sta size
|
||||
jsr damage_string
|
||||
|
||||
print_score nop
|
||||
ldy player_score_row,x
|
||||
jsr mazerow
|
||||
ldy #MAZE_SCORE_COL
|
||||
lda player_score_h,x
|
||||
jsr print_hex
|
||||
lda player_score_l,x
|
||||
jsr print_hex
|
||||
lda #'0'
|
||||
sta (mazeaddr),y
|
||||
rts
|
||||
; row = player_score_row[zp.current_actor]
|
||||
; if actor_status[zp.current_actor] == GAME_OVER:
|
||||
; pad.addstr(row - 1, MAZE_SCORE_COL, "GAME ")
|
||||
|
55
debug.s
55
debug.s
@ -8,7 +8,7 @@ debugtext nop
|
||||
rts
|
||||
|
||||
|
||||
printhex ; A = hex byte, X = column, Y = row; A is clobbered, X&Y are not
|
||||
debughex ; A = hex byte, X = column, Y = row; A is clobbered, X&Y are not
|
||||
pha
|
||||
stx param_x
|
||||
lsr
|
||||
@ -33,10 +33,13 @@ hexdigit .byte "0123456789ABCDEF"
|
||||
printstr ; X = column, Y = row, scratch_ptr is text (null terminated)
|
||||
sty param_y
|
||||
ldy #0
|
||||
?next lda (scratch_ptr),y
|
||||
sty param_index
|
||||
?next ldy param_index
|
||||
lda (scratch_ptr),y
|
||||
beq ?exit
|
||||
ldy param_y
|
||||
jsr fastfont
|
||||
inc param_index
|
||||
inx
|
||||
bne ?next
|
||||
?exit rts
|
||||
@ -59,12 +62,12 @@ debug_player nop
|
||||
lda actor_input_dir,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #0
|
||||
lda actor_dir,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
dec scratch_row
|
||||
ldx #34
|
||||
@ -75,12 +78,12 @@ debug_player nop
|
||||
lda actor_x,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #0
|
||||
lda actor_y,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
dec scratch_row
|
||||
ldx #34
|
||||
@ -91,12 +94,12 @@ debug_player nop
|
||||
lda actor_col,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #0
|
||||
lda actor_row,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
dec scratch_row
|
||||
ldx #34
|
||||
@ -107,12 +110,12 @@ debug_player nop
|
||||
lda tdamageindex1
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #0
|
||||
lda tdamageindex2
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
dec scratch_row
|
||||
ldx #34
|
||||
@ -123,12 +126,12 @@ debug_player nop
|
||||
lda debug_mark_box
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #0
|
||||
lda debug_paint_box
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
; amidar 4
|
||||
dec scratch_row
|
||||
@ -140,12 +143,12 @@ debug_player nop
|
||||
lda actor_col,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #FIRST_AMIDAR+3
|
||||
lda actor_row,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
; amidar 3
|
||||
dec scratch_row
|
||||
@ -157,12 +160,12 @@ debug_player nop
|
||||
lda actor_col,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #FIRST_AMIDAR+2
|
||||
lda actor_row,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
; amidar 2
|
||||
dec scratch_row
|
||||
@ -170,12 +173,12 @@ debug_player nop
|
||||
lda actor_xpixel,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #FIRST_AMIDAR+1
|
||||
lda actor_ypixel,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
dec scratch_row
|
||||
ldx #34
|
||||
@ -186,12 +189,12 @@ debug_player nop
|
||||
lda actor_col,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #FIRST_AMIDAR+1
|
||||
lda actor_row,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
; amidar 1 (orbiter)
|
||||
dec scratch_row
|
||||
@ -199,24 +202,24 @@ debug_player nop
|
||||
lda actor_xpixel,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #FIRST_AMIDAR
|
||||
lda actor_ypixel,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
dec scratch_row
|
||||
ldx #FIRST_AMIDAR
|
||||
lda actor_xfrac,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #FIRST_AMIDAR
|
||||
lda actor_yfrac,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
dec scratch_row
|
||||
ldx #34
|
||||
@ -227,11 +230,11 @@ debug_player nop
|
||||
lda actor_col,x
|
||||
ldx #35
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #FIRST_AMIDAR
|
||||
lda actor_row,x
|
||||
ldx #38
|
||||
ldy scratch_row
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
|
||||
rts
|
||||
|
3
maze.s
3
maze.s
@ -53,7 +53,8 @@ SCREEN_ROWS = 24
|
||||
;# cols 33 - 39 is the score area
|
||||
MAZE_LEFT_COL = 1
|
||||
MAZE_RIGHT_COL = 31
|
||||
MAZE_SCORE_COL = 33
|
||||
MAZE_PANEL_COL = 33
|
||||
MAZE_SCORE_COL = 35
|
||||
SCREEN_COLS = 40
|
||||
|
||||
;# Orbiter goes around the outside border, but not through the maze
|
||||
|
2
screen.s
2
screen.s
@ -172,7 +172,7 @@ copytexthgr_src_smc
|
||||
copytexthgr_dest_smc
|
||||
jsr $ffff
|
||||
inx
|
||||
cpx #32
|
||||
cpx #40
|
||||
bcc copytexthgr_src_smc
|
||||
iny
|
||||
cpy #24
|
||||
|
@ -190,9 +190,9 @@ title_screen nop
|
||||
rts
|
||||
|
||||
init_game nop
|
||||
jsr initbackground
|
||||
jsr init_level
|
||||
jsr init_actors
|
||||
jsr initbackground
|
||||
lda #0
|
||||
sta frame_count
|
||||
sta frame_count+1
|
||||
@ -203,6 +203,7 @@ init_game nop
|
||||
initbackground nop
|
||||
jsr show_page1
|
||||
jsr init_maze
|
||||
jsr init_panel
|
||||
jsr copytexthgr ; page2 becomes the source
|
||||
; jsr wipeclear1
|
||||
; jsr wipe2to1
|
||||
@ -257,8 +258,8 @@ game_loop nop
|
||||
jsr paint_boxes
|
||||
jsr renderstart
|
||||
jsr pageflip
|
||||
jsr debug_player
|
||||
jsr wait
|
||||
;jsr debug_player
|
||||
;jsr wait
|
||||
jmp game_loop
|
||||
|
||||
|
||||
@ -316,7 +317,7 @@ userinput
|
||||
pha
|
||||
ldx #38
|
||||
ldy #23
|
||||
jsr printhex
|
||||
jsr debughex
|
||||
ldx #0
|
||||
pla
|
||||
bpl input_not_movement ; stop movement of player if no direction input
|
||||
|
Loading…
x
Reference in New Issue
Block a user