mirror of
https://github.com/fumiama/c64-snake.git
synced 2026-06-19 10:26:43 +08:00
更改食物生成逻辑
This commit is contained in:
@@ -52,7 +52,9 @@ addfood:
|
|||||||
beq -
|
beq -
|
||||||
cmp #cblk
|
cmp #cblk
|
||||||
beq -
|
beq -
|
||||||
lda #csnk
|
cmp #crnd
|
||||||
|
beq -
|
||||||
|
lda #crnd
|
||||||
dey
|
dey
|
||||||
sta (_ptr), y
|
sta (_ptr), y
|
||||||
rts
|
rts
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
; append 增加蛇长
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
append:
|
|
||||||
.scope
|
|
||||||
inc c ; 蛇长加一
|
|
||||||
; 其他代码
|
|
||||||
rts
|
|
||||||
.scend
|
|
||||||
4
head.asm
4
head.asm
@@ -1,6 +1,7 @@
|
|||||||
.alias cblk $66 ; 边框
|
.alias cblk $66 ; 边框
|
||||||
.alias csnk $a0 ; 像素
|
.alias csnk $a0 ; 像素
|
||||||
.alias csps $20 ; 空白
|
.alias csps $20 ; 空白
|
||||||
|
.alias crnd $51 ; 食物
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; 按钮配置,调试时使用WASD控制
|
; 按钮配置,调试时使用WASD控制
|
||||||
@@ -23,5 +24,6 @@
|
|||||||
.alias field $0428 ; 蛇所在屏幕内存区
|
.alias field $0428 ; 蛇所在屏幕内存区
|
||||||
|
|
||||||
.data
|
.data
|
||||||
.org $c000
|
.org $c000
|
||||||
|
.space eat 1
|
||||||
.text
|
.text
|
||||||
28
main.asm
28
main.asm
@@ -5,9 +5,6 @@
|
|||||||
|
|
||||||
main:
|
main:
|
||||||
.scope
|
.scope
|
||||||
.data
|
|
||||||
.space lopcnt 1 ; 循环次数计数
|
|
||||||
.text
|
|
||||||
`init
|
`init
|
||||||
jsr getchar ; 等待输入任意字符开始游戏
|
jsr getchar ; 等待输入任意字符开始游戏
|
||||||
jsr erasehint ; 游戏开始,清空提示
|
jsr erasehint ; 游戏开始,清空提示
|
||||||
@@ -18,28 +15,24 @@ main:
|
|||||||
jsr printfail
|
jsr printfail
|
||||||
jsr getchar
|
jsr getchar
|
||||||
rts
|
rts
|
||||||
clc
|
* clc
|
||||||
* jsr judgefood ; 判断是否吃到食物
|
lda #0
|
||||||
|
sta eat
|
||||||
|
jsr judgefood ; 判断是否吃到食物
|
||||||
bcc +
|
bcc +
|
||||||
jsr append
|
inc c ; 蛇长加一
|
||||||
|
lda #1
|
||||||
|
sta eat
|
||||||
|
jsr addfood
|
||||||
* jsr calcscore ; 计算得分
|
* jsr calcscore ; 计算得分
|
||||||
jsr printscore ; 打印分数
|
jsr printscore ; 打印分数
|
||||||
lda #32
|
lda #32
|
||||||
jsr delay ; 延时期间最后一个按键位于d
|
jsr delay ; 延时期间最后一个按键位于d
|
||||||
lda d
|
lda d
|
||||||
beq ++
|
|
||||||
cmp #ed_g
|
cmp #ed_g
|
||||||
bne +
|
bne +
|
||||||
rts
|
rts
|
||||||
* sta d
|
* jmp ----
|
||||||
* inc lopcnt
|
|
||||||
lda lopcnt
|
|
||||||
cmp #16
|
|
||||||
bmi -----
|
|
||||||
lda #0
|
|
||||||
sta lopcnt
|
|
||||||
jsr addfood
|
|
||||||
jmp -----
|
|
||||||
.scend
|
.scend
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -50,7 +43,7 @@ main:
|
|||||||
jsr chrout
|
jsr chrout
|
||||||
lda #$00
|
lda #$00
|
||||||
sta s
|
sta s
|
||||||
lda #$00
|
sta eat
|
||||||
sta s + 1 ; 初始化分数为0
|
sta s + 1 ; 初始化分数为0
|
||||||
jsr printscore ; 打印分数
|
jsr printscore ; 打印分数
|
||||||
lda #csnk
|
lda #csnk
|
||||||
@@ -69,7 +62,6 @@ main:
|
|||||||
.require "hint.asm"
|
.require "hint.asm"
|
||||||
.require "getchar.asm"
|
.require "getchar.asm"
|
||||||
.require "addfood.asm"
|
.require "addfood.asm"
|
||||||
.require "append.asm"
|
|
||||||
.require "delay.asm"
|
.require "delay.asm"
|
||||||
.require "judge.asm"
|
.require "judge.asm"
|
||||||
.require "move.asm"
|
.require "move.asm"
|
||||||
|
|||||||
Reference in New Issue
Block a user