zasdfgbnm 发表于 2009-4-5 14:19:11

[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

zasdfgbnm 发表于 2009-4-5 14:22:09

效果

zasdfgbnm 发表于 2009-4-5 14:29:08

视频

<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>

zasdfgbnm 发表于 2009-4-5 14:29:32

<P>使用上下左右控制,开始时输入speed数越大越慢</P>
<P>然后按右或下开始(注:按左或上直接死掉)</P>
<P>屏幕上会出现X(主人公)和一个数字,吃掉数字得到相应的分数。</P>

chsi 发表于 2009-4-5 15:50:59

很好很强大

zasdfgbnm 发表于 2009-4-5 16:48:25

一直按着方向键还可以加速

不锈钢 发表于 2009-4-6 07:26:16

囧倒

击剑狂歌 发表于 2009-4-6 08:25:53

哈哈,游戏机了饿

[Boeing 617] 发表于 2009-6-19 22:31:01

我谢谢谢谢你。我感谢你八辈祖宗。我做鬼都不会放过你的

[Boeing 617] 发表于 2009-6-19 22:33:18

对了。有一点忘说了。从视屏中可以看出,屏幕右上角有一个小黑框。我的5800也一样。这个黑框代表着计算器“忙碌”,所以玩“x 吃数字”是很费电的。

imath 发表于 2009-8-19 17:29:48

把代码转换成FX-9860的

[Boeing 617] 发表于 2009-8-27 17:56:06

还有一点就是不能保存。不能把上一次的游戏进度接到下一次来。我改了一下,使得在玩“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

zasdfgbnm 发表于 2009-9-6 21:25:42

还有一点就是不能保存。不能把上一次的游戏进度接到下一次来。我改了一下,使得在玩“x吃数字”时,计算器能分辨上一次有没有翘翘。如果没有(就是上一次在没有翘的情况下按退出),他就会接着上一次的游戏进 ...
棒棒餹bbt 发表于 2009-8-27 17:56 images/common/back.gif
不错,漂亮

zasdfgbnm 发表于 2009-9-6 21:25:59

把代码转换成FX-9860的
imath 发表于 2009-8-19 17:29 http://www.cncalc.org/images/common/back.gif我不会啊

[Boeing 617] 发表于 2009-9-11 19:25:15

我不会啊
zasdfgbnm 发表于 2009-9-6 21:25 http://www.cncalc.org/images/common/back.gif和getkey的值有关。另外必须确定9860有确定范围随机数。我的9750是没有的

zasdfgbnm 发表于 2009-9-17 20:31:06

必须确定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

zasdfgbnm 发表于 2009-9-17 20:33:00

提供以下9860的说明书,我研究一下(高三了很忙的,不一定有时间)

[Boeing 617] 发表于 2009-9-18 22:14:45


这个不成问题,初中时代我已经研究过随机数产生器的问题,大多数计算器只能产生0~1的随机数,要想产生任意范围的随机数可以用如下公式进行:
下界+Ran#×宽度,例如要产生9~25的随机数,可以用9+Ran#×(25-9),如 ...
zasdfgbnm 发表于 2009-9-17 20:31 http://www.cncalc.org/images/common/back.gifgood

[Boeing 617] 发表于 2009-9-18 22:25:46

getkey数值出来了。9750的,我想9860也适用。现公布,希望楼主可以改一下代码,编成9750的

[Boeing 617] 发表于 2009-9-18 22:27:00

上:28
下:37
左:38
右:27
页: [1] 2 3
查看完整版本: [fx-5800P系列和fx-9860G系列]使用fx-5800P和fx-9860编写贪吃蛇简版