mirror of https://github.com/jeremysrand/BuGS.git
Change the spider score colour to be the same as mushroom colours so the player does not detect it as a collision. Add code to display the number of lives and add to the number of lives ever 12,000 points. This lays the groundwork for handling player death and collisions.
This commit is contained in:
parent
f58a831eb9
commit
c24b8ad072
|
@ -33,7 +33,7 @@ loop lda colour1,y
|
||||||
|
|
||||||
colour1 anop
|
colour1 anop
|
||||||
dc i2'$0000' ; $0 - 0000 - Black
|
dc i2'$0000' ; $0 - 0000 - Black
|
||||||
dc i2'$00f0' ; $1 - 0001 - Green Mushrooms ($1 to $3)
|
dc i2'$00f0' ; $1 - 0001 - Green Mushrooms and spider scores ($1 to $3)
|
||||||
dc i2'$0f00' ; $2 - 0010 - Red
|
dc i2'$0f00' ; $2 - 0010 - Red
|
||||||
dc i2'$0ffc' ; $3 - 0011 - Off-white
|
dc i2'$0ffc' ; $3 - 0011 - Off-white
|
||||||
dc i2'$0f00' ; $4 - 0100 - Red
|
dc i2'$0f00' ; $4 - 0100 - Red
|
||||||
|
|
11
BuGS/game.s
11
BuGS/game.s
|
@ -210,10 +210,15 @@ startGame entry
|
||||||
stz gameRunning
|
stz gameRunning
|
||||||
stz numSegments
|
stz numSegments
|
||||||
jsl addRandomMushrooms
|
jsl addRandomMushrooms
|
||||||
|
jsl scoreStartGame
|
||||||
jsl initPlayer
|
jsl initPlayer
|
||||||
jsl spiderInitGame
|
jsl spiderInitGame
|
||||||
jsl levelInit
|
jsl levelInit
|
||||||
|
; Fall through intentionally here...
|
||||||
|
startLevel entry
|
||||||
|
jsl playerLevelStart
|
||||||
jmp levelStart
|
jmp levelStart
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
checkKeyboard entry
|
checkKeyboard entry
|
||||||
|
@ -251,9 +256,6 @@ checkKey_loop2 anop
|
||||||
beq checkKey_shootMushroom
|
beq checkKey_shootMushroom
|
||||||
cmp #'M'
|
cmp #'M'
|
||||||
beq checkKey_shootMushroom
|
beq checkKey_shootMushroom
|
||||||
|
|
||||||
cmp #'+'
|
|
||||||
beq checkKey_scoreAdd
|
|
||||||
|
|
||||||
cmp #'g'
|
cmp #'g'
|
||||||
beq checkKey_game
|
beq checkKey_game
|
||||||
|
@ -280,9 +282,6 @@ checkKey_shootCentipede anop
|
||||||
|
|
||||||
checkKey_shootMushroom anop
|
checkKey_shootMushroom anop
|
||||||
jmp shootRandomMushroom
|
jmp shootRandomMushroom
|
||||||
|
|
||||||
checkKey_scoreAdd anop
|
|
||||||
jmp scoreAddTwentyThousand
|
|
||||||
|
|
||||||
checkKey_quit anop
|
checkKey_quit anop
|
||||||
stz shouldQuit
|
stz shouldQuit
|
||||||
|
|
|
@ -16,10 +16,51 @@ gamePlayer start
|
||||||
using screenData
|
using screenData
|
||||||
|
|
||||||
initPlayer entry
|
initPlayer entry
|
||||||
|
ldy #STARTING_NUM_LIVES
|
||||||
|
sty numLives
|
||||||
|
ldx #P1_LIVES_OFFSET
|
||||||
|
initPlayer_loop anop
|
||||||
|
lda #TILE_PLAYER
|
||||||
|
sta tileType,x
|
||||||
|
phy
|
||||||
|
_dirtyNonGameTile
|
||||||
|
ply
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
dey
|
||||||
|
bne initPlayer_loop
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
playerLevelStart entry
|
||||||
lda #STARTING_MOUSE_X
|
lda #STARTING_MOUSE_X
|
||||||
sta mouseX
|
sta mouseX
|
||||||
lda #STARTING_MOUSE_Y
|
lda #STARTING_MOUSE_Y
|
||||||
sta mouseY
|
sta mouseY
|
||||||
|
dec numLives
|
||||||
|
lda #P1_LIVES_OFFSET
|
||||||
|
sec
|
||||||
|
sbc numLives
|
||||||
|
sec
|
||||||
|
sbc numLives
|
||||||
|
tax
|
||||||
|
lda #TILE_EMPTY
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
playerAddLife entry
|
||||||
|
lda #P1_LIVES_OFFSET
|
||||||
|
sec
|
||||||
|
sbc numLives
|
||||||
|
sec
|
||||||
|
sbc numLives
|
||||||
|
tax
|
||||||
|
inc numLives
|
||||||
|
lda #TILE_PLAYER
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
@ -124,6 +165,10 @@ updatePlayer_shift anop
|
||||||
bra updatePlayer_dirty
|
bra updatePlayer_dirty
|
||||||
|
|
||||||
updatePlayer_dirty anop
|
updatePlayer_dirty anop
|
||||||
|
beq updatePlayer_noCollision
|
||||||
|
; Player collision here...
|
||||||
|
; brk $00
|
||||||
|
updatePlayer_noCollision anop
|
||||||
lda mouseAddress
|
lda mouseAddress
|
||||||
sec
|
sec
|
||||||
sbc #SCREEN_ADDRESS
|
sbc #SCREEN_ADDRESS
|
||||||
|
@ -156,6 +201,5 @@ updatePlayer_done anop
|
||||||
mouseX dc i2'0'
|
mouseX dc i2'0'
|
||||||
mouseY dc i2'0'
|
mouseY dc i2'0'
|
||||||
mouseDown dc i2'0'
|
mouseDown dc i2'0'
|
||||||
mouseAddress dc i2'0'
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -766,10 +766,21 @@ shootSpider entry
|
||||||
lda spiderScreenOffset
|
lda spiderScreenOffset
|
||||||
inc a
|
inc a
|
||||||
sta spiderScreenOffset
|
sta spiderScreenOffset
|
||||||
|
cmp mouseAddress
|
||||||
|
blt shootSpider_playerBelow
|
||||||
|
sec
|
||||||
|
sbc mouseAddress
|
||||||
|
bra shootSpider_testDistance
|
||||||
|
shootSpider_playerBelow anop
|
||||||
|
lda mouseAddress
|
||||||
|
sec
|
||||||
|
sbc spiderScreenOffset
|
||||||
|
|
||||||
; TODO - Set the spiderScoreType to 0, 4 or 8 for 300, 600 or 900 points depending on the distance from the player.
|
shootSpider_testDistance anop
|
||||||
; For now, just hard code 900.
|
cmp #SPIDER_DISTANCE_900
|
||||||
bra shootSpider_900
|
blt shootSpider_900
|
||||||
|
cmp #SPIDER_DISTANCE_600
|
||||||
|
blt shootSpider_600
|
||||||
|
|
||||||
lda #SPIDER_SCORE_300
|
lda #SPIDER_SCORE_300
|
||||||
sta spiderScoreType
|
sta spiderScoreType
|
||||||
|
|
|
@ -158,7 +158,7 @@ _incrementScore_noCarry&SYSCNT anop
|
||||||
sec
|
sec
|
||||||
sbc #12000
|
sbc #12000
|
||||||
pha
|
pha
|
||||||
jsl scoreEvery12000
|
jsl playerAddLife
|
||||||
pla
|
pla
|
||||||
_incrementScore_noExtraMan&SYSCNT anop
|
_incrementScore_noExtraMan&SYSCNT anop
|
||||||
sta scoreWithin12000
|
sta scoreWithin12000
|
||||||
|
|
|
@ -27,6 +27,8 @@ SEGMENT_DIR_RIGHT equ 1
|
||||||
SEGMENT_SPEED_FAST equ 0
|
SEGMENT_SPEED_FAST equ 0
|
||||||
SEGMENT_SPEED_SLOW equ 1
|
SEGMENT_SPEED_SLOW equ 1
|
||||||
|
|
||||||
|
STARTING_NUM_LIVES gequ 3
|
||||||
|
|
||||||
INVALID_TILE_NUM gequ $ffff
|
INVALID_TILE_NUM gequ $ffff
|
||||||
|
|
||||||
TILE_STATE_CLEAN gequ 0
|
TILE_STATE_CLEAN gequ 0
|
||||||
|
@ -119,6 +121,7 @@ gameRunning dc i2'1'
|
||||||
; this information will need to be copied to a backup location when the player
|
; this information will need to be copied to a backup location when the player
|
||||||
; switches.
|
; switches.
|
||||||
numSegments dc i2'0'
|
numSegments dc i2'0'
|
||||||
|
numLives dc i2'0'
|
||||||
gameLevel dc i2'0'
|
gameLevel dc i2'0'
|
||||||
gameScore dc i4'0'
|
gameScore dc i4'0'
|
||||||
scoreWithin12000 dc i2'0'
|
scoreWithin12000 dc i2'0'
|
||||||
|
@ -130,6 +133,7 @@ numInfieldMushrooms dc i2'0'
|
||||||
; tileType
|
; tileType
|
||||||
|
|
||||||
|
|
||||||
|
mouseAddress dc i2'0'
|
||||||
backupStack dc i2'0'
|
backupStack dc i2'0'
|
||||||
|
|
||||||
tileJumpTable dc a4'solid0'
|
tileJumpTable dc a4'solid0'
|
||||||
|
|
190
BuGS/score.s
190
BuGS/score.s
|
@ -14,14 +14,7 @@
|
||||||
score start
|
score start
|
||||||
using globalData
|
using globalData
|
||||||
using tileData
|
using tileData
|
||||||
|
|
||||||
TILE_SCORE_7TH_ROW equ LHS_FIRST_TILE+7*LHS_NUM_TILES_WIDE
|
|
||||||
TILE_SCORE_ONES equ TILE_SCORE_7TH_ROW-2
|
|
||||||
TILE_SCORE_ONES_OFFSET equ TILE_SCORE_ONES*SIZEOF_TILE_INFO
|
|
||||||
TILE_SCORE_TENS_OFFSET equ TILE_SCORE_ONES_OFFSET-SIZEOF_TILE_INFO
|
|
||||||
TILE_SCORE_HUNDREDS_OFFSET equ TILE_SCORE_TENS_OFFSET-SIZEOF_TILE_INFO
|
|
||||||
TILE_SCORE_THOUSANDS_OFFSET equ TILE_SCORE_HUNDREDS_OFFSET-SIZEOF_TILE_INFO
|
|
||||||
TILE_SCORE_TEN_THOUSANDS_OFFSET equ TILE_SCORE_THOUSANDS_OFFSET-SIZEOF_TILE_INFO
|
|
||||||
|
|
||||||
scoreStartGame entry
|
scoreStartGame entry
|
||||||
stz gameScore
|
stz gameScore
|
||||||
|
@ -30,73 +23,19 @@ scoreStartGame entry
|
||||||
stz scoreWithin20000
|
stz scoreWithin20000
|
||||||
stz scoreNum20000
|
stz scoreNum20000
|
||||||
|
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType,x
|
sta tileType,x
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
|
|
||||||
; Tens
|
scoreStartGame_loop anop
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda #TILE_EMPTY
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
; Hundreds
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda #TILE_EMPTY
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
; Thousands
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda #TILE_EMPTY
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
; Tens of Thousands
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda #TILE_EMPTY
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
; Hundreds of Thousands
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda #TILE_EMPTY
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
; Millions
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda #TILE_EMPTY
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
; Tens of Millions
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda #TILE_EMPTY
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
; Hundreds of Millions
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda #TILE_EMPTY
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
; Billions
|
|
||||||
dex
|
dex
|
||||||
dex
|
dex
|
||||||
lda #TILE_EMPTY
|
lda #TILE_EMPTY
|
||||||
sta tileType,x
|
sta tileType,x
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
|
cpx #P1_SCORE_FIRST_OFFSET
|
||||||
|
bne scoreStartGame_loop
|
||||||
|
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
@ -165,175 +104,160 @@ scoreAddToTile_done anop
|
||||||
|
|
||||||
scoreAddOne entry
|
scoreAddOne entry
|
||||||
_incrementScore 1
|
_incrementScore 1
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
jmp scoreAddOneToTile
|
jmp scoreAddOneToTile
|
||||||
|
|
||||||
|
|
||||||
scoreAddFive entry
|
scoreAddFive entry
|
||||||
_incrementScore 5
|
_incrementScore 5
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
lda #5*4
|
lda #5*4
|
||||||
jmp scoreAddToTile
|
jmp scoreAddToTile
|
||||||
|
|
||||||
|
|
||||||
scoreAddTen entry
|
scoreAddTen entry
|
||||||
_incrementScore 10
|
_incrementScore 10
|
||||||
lda tileType+TILE_SCORE_ONES_OFFSET
|
lda tileType+P1_SCORE_ONES_OFFSET
|
||||||
bne scoreAddTen_skipZeroOnes
|
bne scoreAddTen_skipZeroOnes
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_ONES_OFFSET
|
sta tileType+P1_SCORE_ONES_OFFSET
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddTen_skipZeroOnes anop
|
scoreAddTen_skipZeroOnes anop
|
||||||
ldx #TILE_SCORE_TENS_OFFSET
|
ldx #P1_SCORE_TENS_OFFSET
|
||||||
jmp scoreAddOneToTile
|
jmp scoreAddOneToTile
|
||||||
|
|
||||||
|
|
||||||
scoreAddOneHundred entry
|
scoreAddOneHundred entry
|
||||||
_incrementScore 100
|
_incrementScore 100
|
||||||
lda tileType+TILE_SCORE_ONES_OFFSET
|
lda tileType+P1_SCORE_ONES_OFFSET
|
||||||
bne scoreAddHundred_skipZeroOnes
|
bne scoreAddHundred_skipZeroOnes
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_ONES_OFFSET
|
sta tileType+P1_SCORE_ONES_OFFSET
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddHundred_skipZeroOnes anop
|
scoreAddHundred_skipZeroOnes anop
|
||||||
lda tileType+TILE_SCORE_TENS_OFFSET
|
lda tileType+P1_SCORE_TENS_OFFSET
|
||||||
bne scoreAddHundred_skipZeroTens
|
bne scoreAddHundred_skipZeroTens
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_TENS_OFFSET
|
sta tileType+P1_SCORE_TENS_OFFSET
|
||||||
ldx #TILE_SCORE_TENS_OFFSET
|
ldx #P1_SCORE_TENS_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddHundred_skipZeroTens anop
|
scoreAddHundred_skipZeroTens anop
|
||||||
ldx #TILE_SCORE_HUNDREDS_OFFSET
|
ldx #P1_SCORE_HUNDREDS_OFFSET
|
||||||
jmp scoreAddOneToTile
|
jmp scoreAddOneToTile
|
||||||
|
|
||||||
|
|
||||||
scoreAddTwoHundred entry
|
scoreAddTwoHundred entry
|
||||||
_incrementScore 200
|
_incrementScore 200
|
||||||
lda tileType+TILE_SCORE_ONES_OFFSET
|
lda tileType+P1_SCORE_ONES_OFFSET
|
||||||
bne scoreAddTwoHundred_skipZeroOnes
|
bne scoreAddTwoHundred_skipZeroOnes
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_ONES_OFFSET
|
sta tileType+P1_SCORE_ONES_OFFSET
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddTwoHundred_skipZeroOnes anop
|
scoreAddTwoHundred_skipZeroOnes anop
|
||||||
lda tileType+TILE_SCORE_TENS_OFFSET
|
lda tileType+P1_SCORE_TENS_OFFSET
|
||||||
bne scoreAddTwoHundred_skipZeroTens
|
bne scoreAddTwoHundred_skipZeroTens
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_TENS_OFFSET
|
sta tileType+P1_SCORE_TENS_OFFSET
|
||||||
ldx #TILE_SCORE_TENS_OFFSET
|
ldx #P1_SCORE_TENS_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddTwoHundred_skipZeroTens anop
|
scoreAddTwoHundred_skipZeroTens anop
|
||||||
ldx #TILE_SCORE_HUNDREDS_OFFSET
|
ldx #P1_SCORE_HUNDREDS_OFFSET
|
||||||
lda #2*4
|
lda #2*4
|
||||||
jmp scoreAddToTile
|
jmp scoreAddToTile
|
||||||
|
|
||||||
|
|
||||||
scoreAddThreeHundred entry
|
scoreAddThreeHundred entry
|
||||||
_incrementScore 300
|
_incrementScore 300
|
||||||
lda tileType+TILE_SCORE_ONES_OFFSET
|
lda tileType+P1_SCORE_ONES_OFFSET
|
||||||
bne scoreAddThreeHundred_skipZeroOnes
|
bne scoreAddThreeHundred_skipZeroOnes
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_ONES_OFFSET
|
sta tileType+P1_SCORE_ONES_OFFSET
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddThreeHundred_skipZeroOnes anop
|
scoreAddThreeHundred_skipZeroOnes anop
|
||||||
lda tileType+TILE_SCORE_TENS_OFFSET
|
lda tileType+P1_SCORE_TENS_OFFSET
|
||||||
bne scoreAddThreeHundred_skipZeroTens
|
bne scoreAddThreeHundred_skipZeroTens
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_TENS_OFFSET
|
sta tileType+P1_SCORE_TENS_OFFSET
|
||||||
ldx #TILE_SCORE_TENS_OFFSET
|
ldx #P1_SCORE_TENS_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddThreeHundred_skipZeroTens anop
|
scoreAddThreeHundred_skipZeroTens anop
|
||||||
ldx #TILE_SCORE_HUNDREDS_OFFSET
|
ldx #P1_SCORE_HUNDREDS_OFFSET
|
||||||
lda #3*4
|
lda #3*4
|
||||||
jmp scoreAddToTile
|
jmp scoreAddToTile
|
||||||
|
|
||||||
|
|
||||||
scoreAddSixHundred entry
|
scoreAddSixHundred entry
|
||||||
_incrementScore 600
|
_incrementScore 600
|
||||||
lda tileType+TILE_SCORE_ONES_OFFSET
|
lda tileType+P1_SCORE_ONES_OFFSET
|
||||||
bne scoreAddSixHundred_skipZeroOnes
|
bne scoreAddSixHundred_skipZeroOnes
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_ONES_OFFSET
|
sta tileType+P1_SCORE_ONES_OFFSET
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddSixHundred_skipZeroOnes anop
|
scoreAddSixHundred_skipZeroOnes anop
|
||||||
lda tileType+TILE_SCORE_TENS_OFFSET
|
lda tileType+P1_SCORE_TENS_OFFSET
|
||||||
bne scoreAddSixHundred_skipZeroTens
|
bne scoreAddSixHundred_skipZeroTens
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_TENS_OFFSET
|
sta tileType+P1_SCORE_TENS_OFFSET
|
||||||
ldx #TILE_SCORE_TENS_OFFSET
|
ldx #P1_SCORE_TENS_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddSixHundred_skipZeroTens anop
|
scoreAddSixHundred_skipZeroTens anop
|
||||||
ldx #TILE_SCORE_HUNDREDS_OFFSET
|
ldx #P1_SCORE_HUNDREDS_OFFSET
|
||||||
lda #6*4
|
lda #6*4
|
||||||
jmp scoreAddToTile
|
jmp scoreAddToTile
|
||||||
|
|
||||||
|
|
||||||
scoreAddNineHundred entry
|
scoreAddNineHundred entry
|
||||||
_incrementScore 900
|
_incrementScore 900
|
||||||
lda tileType+TILE_SCORE_ONES_OFFSET
|
lda tileType+P1_SCORE_ONES_OFFSET
|
||||||
bne scoreAddNineHundred_skipZeroOnes
|
bne scoreAddNineHundred_skipZeroOnes
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_ONES_OFFSET
|
sta tileType+P1_SCORE_ONES_OFFSET
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddNineHundred_skipZeroOnes anop
|
scoreAddNineHundred_skipZeroOnes anop
|
||||||
lda tileType+TILE_SCORE_TENS_OFFSET
|
lda tileType+P1_SCORE_TENS_OFFSET
|
||||||
bne scoreAddNineHundred_skipZeroTens
|
bne scoreAddNineHundred_skipZeroTens
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_TENS_OFFSET
|
sta tileType+P1_SCORE_TENS_OFFSET
|
||||||
ldx #TILE_SCORE_TENS_OFFSET
|
ldx #P1_SCORE_TENS_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddNineHundred_skipZeroTens anop
|
scoreAddNineHundred_skipZeroTens anop
|
||||||
ldx #TILE_SCORE_HUNDREDS_OFFSET
|
ldx #P1_SCORE_HUNDREDS_OFFSET
|
||||||
lda #9*4
|
lda #9*4
|
||||||
jmp scoreAddToTile
|
jmp scoreAddToTile
|
||||||
|
|
||||||
|
|
||||||
scoreAddOneThousand entry
|
scoreAddOneThousand entry
|
||||||
_incrementScore 1000
|
_incrementScore 1000
|
||||||
lda tileType+TILE_SCORE_ONES_OFFSET
|
lda tileType+P1_SCORE_ONES_OFFSET
|
||||||
bne scoreAddOneThousand_skipZeroOnes
|
bne scoreAddOneThousand_skipZeroOnes
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_ONES_OFFSET
|
sta tileType+P1_SCORE_ONES_OFFSET
|
||||||
ldx #TILE_SCORE_ONES_OFFSET
|
ldx #P1_SCORE_ONES_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddOneThousand_skipZeroOnes anop
|
scoreAddOneThousand_skipZeroOnes anop
|
||||||
lda tileType+TILE_SCORE_TENS_OFFSET
|
lda tileType+P1_SCORE_TENS_OFFSET
|
||||||
bne scoreAddOneThousand_skipZeroTens
|
bne scoreAddOneThousand_skipZeroTens
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_TENS_OFFSET
|
sta tileType+P1_SCORE_TENS_OFFSET
|
||||||
ldx #TILE_SCORE_TENS_OFFSET
|
ldx #P1_SCORE_TENS_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddOneThousand_skipZeroTens anop
|
scoreAddOneThousand_skipZeroTens anop
|
||||||
lda tileType+TILE_SCORE_HUNDREDS_OFFSET
|
lda tileType+P1_SCORE_HUNDREDS_OFFSET
|
||||||
bne scoreAddOneThousand_skipZeroHundreds
|
bne scoreAddOneThousand_skipZeroHundreds
|
||||||
lda #TILE_NUMBER_0
|
lda #TILE_NUMBER_0
|
||||||
sta tileType+TILE_SCORE_HUNDREDS_OFFSET
|
sta tileType+P1_SCORE_HUNDREDS_OFFSET
|
||||||
ldx #TILE_SCORE_HUNDREDS_OFFSET
|
ldx #P1_SCORE_HUNDREDS_OFFSET
|
||||||
_dirtyNonGameTile
|
_dirtyNonGameTile
|
||||||
scoreAddOneThousand_skipZeroHundreds anop
|
scoreAddOneThousand_skipZeroHundreds anop
|
||||||
ldx #TILE_SCORE_THOUSANDS_OFFSET
|
ldx #P1_SCORE_THOUSANDS_OFFSET
|
||||||
jmp scoreAddOneToTile
|
jmp scoreAddOneToTile
|
||||||
|
|
||||||
|
|
||||||
; This function is used purely for debug to test high score threshold stuff. It
|
|
||||||
; doesn't do all the right things though to update the score on the display so I am
|
|
||||||
; cheating a bit here.
|
|
||||||
scoreAddTwentyThousand entry
|
|
||||||
_incrementScore 20000
|
|
||||||
ldx #TILE_SCORE_TEN_THOUSANDS_OFFSET
|
|
||||||
lda #2*4
|
|
||||||
jmp scoreAddToTile
|
|
||||||
|
|
||||||
|
|
||||||
scoreEvery12000 entry
|
|
||||||
; TODO - Write code to add a new life.
|
|
||||||
rtl
|
|
||||||
|
|
||||||
|
|
||||||
highScore dc i4'0'
|
highScore dc i4'0'
|
||||||
|
|
||||||
|
|
|
@ -34,33 +34,33 @@ score300 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
lda $a0,s
|
lda $a0,s
|
||||||
; and #$f0ff
|
and #$f0ff
|
||||||
ora #$0800
|
ora #$0300
|
||||||
sta $a0,s
|
sta $a0,s
|
||||||
|
|
||||||
lda $a2,s
|
lda $a2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a2,s
|
sta $a2,s
|
||||||
|
|
||||||
lda $a4,s
|
lda $a4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a4,s
|
sta $a4,s
|
||||||
|
|
||||||
tsc
|
tsc
|
||||||
|
@ -68,33 +68,33 @@ score300 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
lda $a0,s
|
lda $a0,s
|
||||||
; and #$f0ff
|
and #$f0ff
|
||||||
ora #$0800
|
ora #$0300
|
||||||
sta $a0,s
|
sta $a0,s
|
||||||
|
|
||||||
lda $a2,s
|
lda $a2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a2,s
|
sta $a2,s
|
||||||
|
|
||||||
lda $a4,s
|
lda $a4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a4,s
|
sta $a4,s
|
||||||
|
|
||||||
tsc
|
tsc
|
||||||
|
@ -102,18 +102,18 @@ score300 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
_spriteFooter
|
_spriteFooter
|
||||||
|
@ -142,33 +142,33 @@ score600 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
lda $a0,s
|
lda $a0,s
|
||||||
; and #$fff0
|
and #$fff0
|
||||||
ora #$0008
|
ora #$0003
|
||||||
sta $a0,s
|
sta $a0,s
|
||||||
|
|
||||||
lda $a2,s
|
lda $a2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a2,s
|
sta $a2,s
|
||||||
|
|
||||||
lda $a4,s
|
lda $a4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a4,s
|
sta $a4,s
|
||||||
|
|
||||||
tsc
|
tsc
|
||||||
|
@ -176,33 +176,33 @@ score600 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
lda $a0,s
|
lda $a0,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a0,s
|
sta $a0,s
|
||||||
|
|
||||||
lda $a2,s
|
lda $a2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a2,s
|
sta $a2,s
|
||||||
|
|
||||||
lda $a4,s
|
lda $a4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a4,s
|
sta $a4,s
|
||||||
|
|
||||||
tsc
|
tsc
|
||||||
|
@ -210,18 +210,18 @@ score600 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
_spriteFooter
|
_spriteFooter
|
||||||
|
@ -250,33 +250,33 @@ score900 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
lda $a0,s
|
lda $a0,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a0,s
|
sta $a0,s
|
||||||
|
|
||||||
lda $a2,s
|
lda $a2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a2,s
|
sta $a2,s
|
||||||
|
|
||||||
lda $a4,s
|
lda $a4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a4,s
|
sta $a4,s
|
||||||
|
|
||||||
tsc
|
tsc
|
||||||
|
@ -284,33 +284,33 @@ score900 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
lda $a0,s
|
lda $a0,s
|
||||||
; and #$f0ff
|
and #$f0ff
|
||||||
ora #$0800
|
ora #$0300
|
||||||
sta $a0,s
|
sta $a0,s
|
||||||
|
|
||||||
lda $a2,s
|
lda $a2,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a2,s
|
sta $a2,s
|
||||||
|
|
||||||
lda $a4,s
|
lda $a4,s
|
||||||
; and #$f0f0
|
and #$f0f0
|
||||||
ora #$0808
|
ora #$0303
|
||||||
sta $a4,s
|
sta $a4,s
|
||||||
|
|
||||||
tsc
|
tsc
|
||||||
|
@ -318,18 +318,18 @@ score900 entry
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $0,s
|
lda $0,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $4,s
|
lda $4,s
|
||||||
; and #$00f0
|
and #$00f0
|
||||||
ora #$8808
|
ora #$3303
|
||||||
sta $4,s
|
sta $4,s
|
||||||
|
|
||||||
_spriteFooter
|
_spriteFooter
|
||||||
|
|
|
@ -188,11 +188,11 @@ drawShipShift entry
|
||||||
and #$0f00
|
and #$0f00
|
||||||
ora #$4084
|
ora #$4084
|
||||||
sta $2,s
|
sta $2,s
|
||||||
|
|
||||||
lda $a0,s
|
lda $a0,s
|
||||||
_collision #$cc0c
|
_collision #$cc0c
|
||||||
and #$00f0
|
and #$00f0
|
||||||
lda #$4408
|
ora #$4408
|
||||||
sta $a0,s
|
sta $a0,s
|
||||||
|
|
||||||
lda $a2,s
|
lda $a2,s
|
||||||
|
@ -204,10 +204,10 @@ drawShipShift entry
|
||||||
adc #$140
|
adc #$140
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda $a0,s
|
lda $0,s
|
||||||
_collision #$cc0c
|
_collision #$cc0c
|
||||||
and #$00f0
|
and #$00f0
|
||||||
lda #$8808
|
ora #$8808
|
||||||
sta $0,s
|
sta $0,s
|
||||||
|
|
||||||
lda $2,s
|
lda $2,s
|
||||||
|
|
|
@ -54,6 +54,8 @@ $gEquates{"NUM_NON_GAME_TILES"} = $gEquates{"NUM_RHS_NON_GAMES_TILES"} + $gEquat
|
||||||
$gEquates{"SPIDER_MAX_NUM_POSSIBLE_ROWS"} = 10;
|
$gEquates{"SPIDER_MAX_NUM_POSSIBLE_ROWS"} = 10;
|
||||||
$gEquates{"SPIDER_STARTING_TOP_ROW"} = $gEquates{"GAME_NUM_TILES_TALL"} - $gEquates{"SPIDER_MAX_NUM_POSSIBLE_ROWS"};
|
$gEquates{"SPIDER_STARTING_TOP_ROW"} = $gEquates{"GAME_NUM_TILES_TALL"} - $gEquates{"SPIDER_MAX_NUM_POSSIBLE_ROWS"};
|
||||||
$gEquates{"SPIDER_STARTING_TOP_ROW_OFFSET"} = $gEquates{"SPIDER_STARTING_TOP_ROW"} * $gEquates{"GAME_NUM_TILES_WIDE"} * $gEquates{"SIZEOF_TILE_INFO"};
|
$gEquates{"SPIDER_STARTING_TOP_ROW_OFFSET"} = $gEquates{"SPIDER_STARTING_TOP_ROW"} * $gEquates{"GAME_NUM_TILES_WIDE"} * $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"SPIDER_DISTANCE_900"} = $gEquates{"SCREEN_BYTES_PER_ROW"} * $gEquates{"TILE_PIXEL_HEIGHT"} * 2;
|
||||||
|
$gEquates{"SPIDER_DISTANCE_600"} = $gEquates{"SCREEN_BYTES_PER_ROW"} * $gEquates{"TILE_PIXEL_HEIGHT"} * 5;
|
||||||
|
|
||||||
$gEquates{"PLAYER_TILES_HIGH"} = 7;
|
$gEquates{"PLAYER_TILES_HIGH"} = 7;
|
||||||
$gEquates{"MOUSE_MAX_X"} = (($gEquates{"GAME_NUM_TILES_WIDE"} - 1) * $gEquates{"TILE_PIXEL_WIDTH"}) + 1;
|
$gEquates{"MOUSE_MAX_X"} = (($gEquates{"GAME_NUM_TILES_WIDE"} - 1) * $gEquates{"TILE_PIXEL_WIDTH"}) + 1;
|
||||||
|
@ -61,6 +63,24 @@ $gEquates{"MOUSE_MAX_Y"} = (($gEquates{"PLAYER_TILES_HIGH"} - 1) * $gEquates{"TI
|
||||||
$gEquates{"STARTING_MOUSE_X"} = $gEquates{"MOUSE_MAX_X"} / 2;
|
$gEquates{"STARTING_MOUSE_X"} = $gEquates{"MOUSE_MAX_X"} / 2;
|
||||||
$gEquates{"STARTING_MOUSE_Y"} = $gEquates{"MOUSE_MAX_Y"} - 1;
|
$gEquates{"STARTING_MOUSE_Y"} = $gEquates{"MOUSE_MAX_Y"} - 1;
|
||||||
|
|
||||||
|
$gEquates{"P1_SCORE_ONES_OFFSET"} = ($gEquates{"LHS_FIRST_TILE"} + ($gEquates{"LHS_NUM_TILES_WIDE"} * 6) + ($gEquates{"LHS_NUM_TILES_WIDE"} - 2)) * $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"P1_SCORE_TENS_OFFSET"} = $gEquates{"P1_SCORE_ONES_OFFSET"} - $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"P1_SCORE_HUNDREDS_OFFSET"} = $gEquates{"P1_SCORE_TENS_OFFSET"} - $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"P1_SCORE_THOUSANDS_OFFSET"} = $gEquates{"P1_SCORE_HUNDREDS_OFFSET"} - $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"P1_SCORE_FIRST_OFFSET"} = ($gEquates{"LHS_FIRST_TILE"} + ($gEquates{"LHS_NUM_TILES_WIDE"} * 6)) * $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
|
||||||
|
$gEquates{"P1_LIVES_OFFSET"} = ($gEquates{"LHS_FIRST_TILE"} + ($gEquates{"LHS_NUM_TILES_WIDE"} * 9) + ($gEquates{"LHS_NUM_TILES_WIDE"} - 2)) * $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
|
||||||
|
$gEquates{"P2_SCORE_ONES_OFFSET"} = ($gEquates{"LHS_FIRST_TILE"} + ($gEquates{"LHS_NUM_TILES_WIDE"} * 19) + ($gEquates{"LHS_NUM_TILES_WIDE"} - 2)) * $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"P2_SCORE_TENS_OFFSET"} = $gEquates{"P2_SCORE_ONES_OFFSET"} - $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"P2_SCORE_HUNDREDS_OFFSET"} = $gEquates{"P2_SCORE_TENS_OFFSET"} - $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"P2_SCORE_THOUSANDS_OFFSET"} = $gEquates{"P2_SCORE_HUNDREDS_OFFSET"} - $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
$gEquates{"P2_SCORE_FIRST_OFFSET"} = ($gEquates{"LHS_FIRST_TILE"} + ($gEquates{"LHS_NUM_TILES_WIDE"} * 19)) * $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
|
||||||
|
$gEquates{"P2_LIVES_OFFSET"} = ($gEquates{"LHS_FIRST_TILE"} + ($gEquates{"LHS_NUM_TILES_WIDE"} * 22) + ($gEquates{"LHS_NUM_TILES_WIDE"} - 2)) * $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
|
||||||
|
$gEquates{"HIGH_SCORE_ONES_OFFSET"} = ($gEquates{"LHS_FIRST_TILE"} + ($gEquates{"LHS_NUM_TILES_WIDE"} * 13) + ($gEquates{"LHS_NUM_TILES_WIDE"} - 2)) * $gEquates{"SIZEOF_TILE_INFO"};
|
||||||
|
|
||||||
|
|
||||||
our @gTileDirty = ("TILE_STATE_CLEAN") x $gEquates{"TOTAL_NUM_TILES"};
|
our @gTileDirty = ("TILE_STATE_CLEAN") x $gEquates{"TOTAL_NUM_TILES"};
|
||||||
our @gTileScreenOffset = (0) x $gEquates{"TOTAL_NUM_TILES"};
|
our @gTileScreenOffset = (0) x $gEquates{"TOTAL_NUM_TILES"};
|
||||||
|
@ -371,22 +391,10 @@ sub initNonGameTiles
|
||||||
$y = 5;
|
$y = 5;
|
||||||
addLhsGameString($x, $y, "SCORE:");
|
addLhsGameString($x, $y, "SCORE:");
|
||||||
|
|
||||||
$x = $gEquates{"LHS_NUM_TILES_WIDE"} - 2;
|
|
||||||
$y = 6;
|
|
||||||
addLhsGameString($x, $y, "0");
|
|
||||||
|
|
||||||
$x = 2;
|
$x = 2;
|
||||||
$y = 8;
|
$y = 8;
|
||||||
addLhsGameString($x, $y, "LIVES:");
|
addLhsGameString($x, $y, "LIVES:");
|
||||||
|
|
||||||
$x = $gEquates{"LHS_NUM_TILES_WIDE"} - 2;
|
|
||||||
$y = 9;
|
|
||||||
for (my $i = 0; $i < 3; $i++)
|
|
||||||
{
|
|
||||||
addLhsGameTile($x, $y, "TILE_PLAYER");
|
|
||||||
$x--;
|
|
||||||
}
|
|
||||||
|
|
||||||
$x = 0;
|
$x = 0;
|
||||||
$y = 12;
|
$y = 12;
|
||||||
addLhsGameString($x, $y, "HIGH SCORE:");
|
addLhsGameString($x, $y, "HIGH SCORE:");
|
||||||
|
@ -403,21 +411,9 @@ sub initNonGameTiles
|
||||||
$y = 18;
|
$y = 18;
|
||||||
addLhsGameString($x, $y, "SCORE:");
|
addLhsGameString($x, $y, "SCORE:");
|
||||||
|
|
||||||
$x = $gEquates{"LHS_NUM_TILES_WIDE"} - 2;
|
|
||||||
$y = 19;
|
|
||||||
addLhsGameString($x, $y, "0");
|
|
||||||
|
|
||||||
$x = 2;
|
$x = 2;
|
||||||
$y = 21;
|
$y = 21;
|
||||||
addLhsGameString($x, $y, "LIVES:");
|
addLhsGameString($x, $y, "LIVES:");
|
||||||
|
|
||||||
$x = $gEquates{"LHS_NUM_TILES_WIDE"} - 2;
|
|
||||||
$y = 22;
|
|
||||||
for (my $i = 0; $i < 3; $i++)
|
|
||||||
{
|
|
||||||
addLhsGameTile($x, $y, "TILE_PLAYER");
|
|
||||||
$x--;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue