From e35509d578ea37e93749b594b79da5e9afbcccf8 Mon Sep 17 00:00:00 2001 From: fumiama Date: Tue, 6 Apr 2021 23:03:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=88=A4=E6=96=AD=E3=80=81?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E9=A1=BA=E5=BA=8F=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?head?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- delay.asm | 2 +- head.asm | 3 ++- main.asm | 7 ++++--- print16.asm | 2 +- snake.prg | Bin 1114 -> 1057 bytes 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/delay.asm b/delay.asm index a573d9a..c51ee64 100644 --- a/delay.asm +++ b/delay.asm @@ -1,7 +1,7 @@ ; DELAY routine. Takes values from the Accumulator and pauses ; for that many jiffies (1/60th of a second). .scope -.data +.data zp .space _tmp 1 .space _target 1 .text diff --git a/head.asm b/head.asm index 22972ef..9c59492 100644 --- a/head.asm +++ b/head.asm @@ -19,11 +19,12 @@ .space c 1 ; 🐍长度 最大255 最小0 .space s 2 ; 得分 小端序 .space _ptr 2 ; 通用指针 +.space eat 1 ; 吃到食物标记 +.space shead 2 ; 蛇头指针 .alias title $0400 .alias field $0428 ; 蛇所在屏幕内存区 .data .org $c000 -.space eat 1 .text \ No newline at end of file diff --git a/main.asm b/main.asm index e350a2a..514082d 100644 --- a/main.asm +++ b/main.asm @@ -8,8 +8,7 @@ main: `init jsr getchar ; 等待输入任意字符开始游戏 jsr erasehint ; 游戏开始,清空提示 -* jsr move ; 蛇移动一格 - clc +* clc jsr judgeout ; 判断是否出界 bcc + jsr printfail @@ -24,7 +23,8 @@ main: lda #1 sta eat jsr addfood -* jsr calcscore ; 计算得分 +* jsr move ; 蛇移动一格 + jsr calcscore ; 计算得分 jsr printscore ; 打印分数 lda #32 jsr delay ; 延时期间最后一个按键位于d @@ -54,6 +54,7 @@ main: lda #go_d ; 初始化方向为下 sta d jsr srand ; 初始化随机数种子 + jsr addfood ; 增加食物 .macend .require "printscore.asm" diff --git a/print16.asm b/print16.asm index af2cd39..9da3aeb 100644 --- a/print16.asm +++ b/print16.asm @@ -4,7 +4,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; print16: .scope -.data +.data zp .space _num 4 .space _num_dec 6 .text diff --git a/snake.prg b/snake.prg index a9f7847242c4dde7819e8e19b4b1cb0288a6f0af..e6b165e1658e9ea6142a346b45ee4363287bc2ce 100644 GIT binary patch literal 1057 zcmah|OH30%7@pbpZnqDLz3=b0(buRn=|Mz|WYj&U!F)T25y6?;> z0Dupc!9%eAF4(TX-tVSHAQ~`k(I*8*=7Dbn`ZJH=dI>fJ!PE()mpF9&?#d0xqxaE^ z76n8h22s(XLA}C9mB^^wLW35~5(&MHpk)g^ve2aEAk!}D2n!cGTxB53E}EM%h1}$< zh>dJpWI?DIsYvzF0OFxZ!|{O!P}rj5ew>$U1Uu<+nyz^Uira40MQ@D5IL@9Q$)rGf zI!%GEm12!xx1x~PAU`BZ<0oPyR#Az)=SR426T6(=M%PT_ny6%=m!_|JV0t-Lw~C2$ zZzza2qot_Z8yCqoUis>B%C`N+|7^AEY= z@7+?I9Xfi0%P8KC97gbk5o{AU7Jpdphp*tZ1{^RIrPkyjGMpb)sR% zKgRDNY>8dm_N@I~{1PqyjC#i@deE&;1v~gkCY8;i{^2onIW>lIBPg5e&*Z?x{(+&? zg|qu8k7iQ2tC?YdHd^5>KJ2dsn3I26>}o<5B%2ZoqD`3vMpI#d+*DZsuo~oyInLl< zQh-qb8XV*djTIoPNt|(#GdP$OU{rtx2RTD$1&N6&6OjF{%!DK;|Ex113(DUMsccbU z1%=gQHY2k|X|FnDGmtF;G0luBnyK=kdgYM+3_8*4a$uC}tWVxz)g^7U?uB3L1m$k?tO3m~?R0$#;-W{(aVIh;>Rt>gfwHKbs0B+8uuDOIoP$=d~Jq G#yDFx+>#Ay^A+Y=?2^TczRb4S?1jZ{TI`_humg5gXV)!6Jcko3V#9XT zT2r_r;@1|-+rosg9d=D_jm468?5yELBqS{9@KTh)cFXY>ch==kLxZ_?xn5?^jSbu@ z4j(V%i96+T645yoP+L<26^`Hu6yTZNDqvdE0(l*i1SSKfv+gHWGT8-_-7?uXGtxpb zwWvbNs%~)y5@B#rfjI@r1DUSz>XS%A-W=>^AIfzxlorDJQ00ZP*XUN8udD@J&w#1G z1h1(8F2$)+F`=4rdDf{IfMgj-E{Wt9szab7YTycwyr#TKmG-wPE;|){!;3;d(Mw0K zdtOu8#LN7vm+DmLhL;9`hF-Mm74`9cpK{gLL&8fll<#8atZpD-upGbPrLg}YouQNQ zSI?QCRe4SKspmvn@$r(5xUsvTwSHrNpew)8a64x=cIlJx7w<$NUo5hr(bMc`{xlmu z&Whthg>iCdXyjP_;Qn!%dg=PkV3^aORx(Ax+Zg(4|ZD^*%Hq%)#OdXdRP!i3V(0#q7#Kvq329;M( zzfG4~Ve+|EN!EKqxTa&#Lx2p