如何识别这个角色是否在迷宫的尽头?

时间:2015-06-01 15:37:24

标签: calculator maze ti-basic

我的ti-84计算器的迷宫游戏有两个不同的级别,它们都有相同的代码。虽然,当角色到达终点时,其中一个等级没有完成,并将最后一个点视为墙。

ClrHome
1→A
1→B
For(y,1,8
For(x,1,16
Output(y,x,sub(" XD", 1+[F](y,x),1
End:End
Repeat K=21 or [F](A,B)=2
getkey→K
If Ans
Output(A,B," ")
sum(△List(Ans={25,34}))
A+Ans([F](A+Ans,B)≠1)→A
sum(△List(K={24,26}))
B+Ansnot([F](A,B+Ans)→B
Output(A,Ans,"Θ")
End
ClrHome
Display "You Win"
Pause
Goto 99

1 个答案:

答案 0 :(得分:3)

问题在于你的水平移动逻辑,我愿意打赌,在有效的迷宫中,你向上或向下移动到目标上,而在迷宫中不起作用,你向右移动或者离开球门。

当目前的单元格不是1时,你的垂直移动系数Ans ([F](A+Ans,B)≠1)的计算结果为真。另一方面,只要当前单元格不是1或2,墙或目标,Ans的水平移动系数not([F](A,B+Ans)的计算结果为true。将其更改为与垂直逻辑([F](A,B+Ans)≠1)类似,您的游戏应该是固定的。

编辑:

另外,为了提高性能,我建议在if语句中包含大部分逻辑,因为如果没有按下键就不需要运行。

If K
Then
[Game Logic]
End