[fx-5800P系列和fx-9860G系列]使用fx-5800P和fx-9860编写贪吃蛇简版
5800P自动保存进度版的见12楼9860版的见37楼
此为5800P版:
"SPEED"?R
Cls
1→X
1→Y
1→T
0→S
RanInt#(1,16)→D
RanInt#(1,4)→E
RanInt#(0,9)→P
Locate D,E,P
While 1>0
For 1→Q To R
Getkey-80→M
If M≥3 And M≤6
Then
M→T
Break
IfEnd
Next
If 3≤T And T≤6
Then
If Frac(T÷3)=0
Then
X+(T-4.5)÷1.5→X
Else
Y+(T-4.5)×2→Y
IfEnd
IfEnd
If X<1 Or X>16 Or Y<1 Or Y>4
Then
Break
IfEnd
Locate X,Y,"X"
Locate D,E,P
If X=D And Y=E
Then
S+P→S
RanInt#(1,16)→D
RanInt#(1,4)→E
RanInt#(0,9)→P
Locate D,E,P
IfEnd
Cls
WhileEnd
"GAME OVER"
"SCORE:"
Locate 1,3,S 效果
视频
<table style="width:auto;"><tr><td><a href="http://picasaweb.google.com/lh/photo/laJJjfxg7YEDRRFdsiVIUw?feat=embedwebsite">http://lh3.ggpht.com/_m0-hKczyKIg/SdhvM2LjygI/AAAAAAAAEq8/jtMTbMKEQh0/s144/200945162322f8.jpg</a></td></tr><tr><td style="font-family:arial,sans-serif; font-size:11px; text-align:right">发件人 <a href="http://picasaweb.google.com/qasdfgtyuiop/Web?feat=embedwebsite">web</a></td></tr></table> <P>使用上下左右控制,开始时输入speed数越大越慢</P><P>然后按右或下开始(注:按左或上直接死掉)</P>
<P>屏幕上会出现X(主人公)和一个数字,吃掉数字得到相应的分数。</P> 很好很强大 一直按着方向键还可以加速 囧倒 哈哈,游戏机了饿 我谢谢谢谢你。我感谢你八辈祖宗。我做鬼都不会放过你的 对了。有一点忘说了。从视屏中可以看出,屏幕右上角有一个小黑框。我的5800也一样。这个黑框代表着计算器“忙碌”,所以玩“x 吃数字”是很费电的。 把代码转换成FX-9860的 还有一点就是不能保存。不能把上一次的游戏进度接到下一次来。我改了一下,使得在玩“x吃数字”时,计算器能分辨上一次有没有翘翘。如果没有(就是上一次在没有翘的情况下按退出),他就会接着上一次的游戏进度继续玩;如果死翘翘了,他就会重新开一个。
代码:
If X≥1 And X≤16 And Y≥1 And Y≤4
Then
1→T
Locate1,1,"CONTINUE"
Else
"SPEED"?R
Cls
1→X
1→Y
1→T
0→S
IfEnd
RanInt#(1,16)→D
RanInt#(1,4)→E
RanInt#(0,9)→P
Locate D,E,P
While 1>0
For 1→Q To R
Getkey-80→M
If M≥3 And M≤6
Then
M→T
Break
IfEnd
Next
If 3≤T And T≤6
Then
If Frac(T÷3)=0
Then
X+(T-4.5)÷1.5→X
Else
Y+(T-4.5)×2→Y
IfEnd
IfEnd
If X<1 Or X>16 Or Y<1 Or Y>4
Then
Break
IfEnd
Locate X,Y,"X"
Locate D,E,P
If X=D And Y=E
Then
S+P→S
RanInt#(1,16)→D
RanInt#(1,4)→E
RanInt#(0,9)→P
Locate D,E,P
IfEnd
Cls
WhileEnd
"GAME OVER"
"SCORE:"
Locate 1,3,S 还有一点就是不能保存。不能把上一次的游戏进度接到下一次来。我改了一下,使得在玩“x吃数字”时,计算器能分辨上一次有没有翘翘。如果没有(就是上一次在没有翘的情况下按退出),他就会接着上一次的游戏进 ...
棒棒餹bbt 发表于 2009-8-27 17:56 images/common/back.gif
不错,漂亮 把代码转换成FX-9860的
imath 发表于 2009-8-19 17:29 http://www.cncalc.org/images/common/back.gif我不会啊 我不会啊
zasdfgbnm 发表于 2009-9-6 21:25 http://www.cncalc.org/images/common/back.gif和getkey的值有关。另外必须确定9860有确定范围随机数。我的9750是没有的 必须确定9860有确定范围随机数。我的9750是没有的
棒棒餹bbt 发表于 2009-9-11 19:25 http://www.cncalc.org/images/common/back.gif
这个不成问题,初中时代我已经研究过随机数产生器的问题,大多数计算器只能产生0~1的随机数,要想产生任意范围的随机数可以用如下公式进行:
下界+Ran#×宽度,例如要产生9~25的随机数,可以用9+Ran#×(25-9),如果要保留整数可以用Int或Rnd 提供以下9860的说明书,我研究一下(高三了很忙的,不一定有时间)
这个不成问题,初中时代我已经研究过随机数产生器的问题,大多数计算器只能产生0~1的随机数,要想产生任意范围的随机数可以用如下公式进行:
下界+Ran#×宽度,例如要产生9~25的随机数,可以用9+Ran#×(25-9),如 ...
zasdfgbnm 发表于 2009-9-17 20:31 http://www.cncalc.org/images/common/back.gifgood getkey数值出来了。9750的,我想9860也适用。现公布,希望楼主可以改一下代码,编成9750的 上:28
下:37
左:38
右:27