From 2df271c118d84fa36b42f4b5d253534fc188618a Mon Sep 17 00:00:00 2001 From: Charles Mangin Date: Mon, 26 Aug 2019 22:10:08 -0400 Subject: [PATCH] added RND function also properly increases difficulty on winning, decreases upon losing. --- MINESWEEPER.dsk | Bin 143360 -> 143360 bytes MINESWEEPER.s | 268 +++++++++++++++++++++--------------------------- 2 files changed, 118 insertions(+), 150 deletions(-) diff --git a/MINESWEEPER.dsk b/MINESWEEPER.dsk index 6f416663e051d09d5aa4cd027848dbc1f36185c1..67065732d477aea613bc1f460340c06404762010 100644 GIT binary patch literal 143360 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 delta 1132 zcmZp8z|ru4V*w*eSa?L_W= F0, found a bomb BMI SOLVENOBOMB JSR BONK ; BONK! @@ -783,7 +728,9 @@ DRAWSOLVEDSQUARE ; puts number in selected/solved square RTS ; stop solving and return to waiting for key SOLVENOBOMB CLC - ADC #$30 ; add #$30 (becomes #) + ADC #$10 ; add #$30 (becomes #) +SOLVECLEAR CLC + ADC #$20 STA CHAR ; store as CHAR LDA ROW CLC @@ -847,6 +794,7 @@ SOLVEADJACENTSQUARE ; puts number in adjacent squares TAX LDA PROGRESSORIGIN,X ; check if it hasn't been solved yet, CLC + BEQ SOLVECLEAR2 CMP #$FF ; put the solution in the square, BNE SOLVENOBOMB2 ; increment the progress @@ -860,9 +808,12 @@ SOLVEADJACENTSQUARE ; puts number in adjacent squares LDA SOLVEORIGIN,X ; get SOLVEORIGIN + offset STA PROGRESSORIGIN,X ; store progress - + BEQ SOLVECLEAR2 + SOLVENOBOMB2 CLC - ADC #$30 ; add #$30 (becomes #) + ADC #$10 ; add #$30 (becomes #) +SOLVECLEAR2 CLC + ADC #$20 STA CHAR ; store as CHAR LDA ROW CLC @@ -961,6 +912,7 @@ YOUWIN LDA #$13 LDY #>WINNER LDA #LOSER LDA #RESETLINE @@ -1123,8 +1079,10 @@ BONKLOOP LDA #$20 ; longer DELAY * ************************************************** -BOARDORIGIN HEX 80,00,00,10,08,00,00,01 ; sets up the board +BOARDORIGIN HEX 80,00,00,10,08,00,00,01 ; sets up the default board +SOLVEORIGIN DS 256 +PROGRESSORIGIN DS 256 ************************************************** @@ -1182,33 +1140,43 @@ LoLineTableL db