1
0
mirror of https://github.com/fumiama/c64-snake.git synced 2026-06-05 00:32:39 +08:00

框架构建完成

This commit is contained in:
fumiama
2021-04-03 19:34:32 +08:00
parent c21a2a1efb
commit f716081ad7
17 changed files with 241 additions and 109 deletions

View File

@@ -6,8 +6,31 @@
main:
.scope
`init
jsr getchar ; 等待输入任意字符开始游戏
jsr erasehint ; 游戏开始,清空提示
* jsr move ; 蛇移动一格
clc
jsr judgeout ; 判断是否出界
bcc +
jsr printfail
jsr getchar
rts
clc
* jsr judgefood ; 判断是否吃到食物
bcc +
jsr append
* jsr calcscore ; 计算得分
jsr printscore ; 打印分数
lda #60
jsr delay ; 延时期间最后一个按键位于d
lda d
beq ++
cmp #ed_g
bne +
rts
* sta d
* jsr addfood
jmp -----
.scend
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -21,15 +44,26 @@ main:
lda #$00
sta s + 1 ; 初始化分数为0
jsr printscore ; 打印分数
lda #1
sta field + 11*38 + 19 ; 初始化蛇位置
lda #csnk
sta field + 11*40 + 19 ; 初始化蛇位置
sta c ; 初始化蛇长为1
jsr printfield ; 打印蛇,包括边框
jsr printhint ; 打印开始提示
lda #go_d ; 初始化方向为下
sta d
.macend
.require "printscore.asm"
.require "print16.asm"
.require "printfield.asm"
.require "hint.asm"
.require "getchar.asm"
.require "addfood.asm"
.require "append.asm"
.require "delay.asm"
.require "judge.asm"
.require "move.asm"
.require "calcscore.asm"
.require "print.asm"
.checkpc $A000 ; text段边界