cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 47995|回复: 44

[涵盖多系列资源] [fx-5800P系列和fx-9860G系列]使用fx-5800P和fx-9860编写贪吃蛇简版

[复制链接]
发表于 2009-4-5 14:19:11 | 显示全部楼层 |阅读模式
计算器程序
程序名称: 贪吃蛇简版
平台: fx-9860GII fx-9860G & Slim  fx-5800系列 
系统/软件要求:
版本号: 1.0.0
类型: 游戏 
作者: zasdfgbnm
大小(K): 50
更新日期: 2010-02-09
描述: 编程机的可玩游戏,第一个自创优秀
已知缺陷: 详见文章
源代码: 开源/部分开源
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

评分

参与人数 3金钱 +9 +68 贡献 +1 收起 理由
Ulysses + 8 + 1 这是我见过的第一个BASIC程序...
棒棒餹bbt + 1 囧我也能评分啊
zhs490770 + 68

查看全部评分

 楼主| 发表于 2009-4-5 14:22:09 | 显示全部楼层
效果
 楼主| 发表于 2009-4-5 14:29:08 | 显示全部楼层

视频

<table style="width:auto;"><tr><td><a href="http://picasaweb.google.com/lh/photo/laJJjfxg7YEDRRFdsiVIUw?feat=embedwebsite"></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>
 楼主| 发表于 2009-4-5 14:29:32 | 显示全部楼层
<P>使用上下左右控制,开始时输入speed数越大越慢</P>
<P>然后按右或下开始(注:按左或上直接死掉)</P>
<P>屏幕上会出现X(主人公)和一个数字,吃掉数字得到相应的分数。</P>
发表于 2009-4-5 15:50:59 | 显示全部楼层
很好很强大
 楼主| 发表于 2009-4-5 16:48:25 | 显示全部楼层
一直按着方向键还可以加速
发表于 2009-4-6 07:26:16 | 显示全部楼层
囧倒
发表于 2009-4-6 08:25:53 | 显示全部楼层
哈哈,游戏机了饿
发表于 2009-6-19 22:31:01 | 显示全部楼层
我谢谢谢谢你。我感谢你八辈祖宗。我做鬼都不会放过你的
发表于 2009-6-19 22:33:18 | 显示全部楼层
对了。有一点忘说了。从视屏中可以看出,屏幕右上角有一个小黑框。我的5800也一样。这个黑框代表着计算器“忙碌”,所以玩“x 吃数字”是很费电的。
发表于 2009-8-19 17:29:48 | 显示全部楼层
把代码转换成FX-9860的
发表于 2009-8-27 17:56:06 | 显示全部楼层
还有一点就是不能保存。不能把上一次的游戏进度接到下一次来。我改了一下,使得在玩“x吃数字”时,计算器能分辨上一次有没有翘翘。如果没有(就是上一次在没有翘的情况下按[AC/ON]退出),他就会接着上一次的游戏进度继续玩;如果死翘翘了,他就会重新开一个。
代码:

  1. If X≥1 And X≤16 And Y≥1 And Y≤4
  2. Then
  3. 1→T
  4. Locate1,1,"CONTINUE"
  5. Else
  6. "SPEED"?R
  7. Cls
  8. 1→X
  9. 1→Y
  10. 1→T
  11. 0→S
  12. IfEnd
  13. RanInt#(1,16)→D
  14. RanInt#(1,4)→E
  15. RanInt#(0,9)→P
  16. Locate D,E,P
  17. While 1>0
  18. For 1→Q To R
  19. Getkey-80→M
  20. If M≥3 And M≤6
  21. Then
  22. M→T
  23. Break
  24. IfEnd
  25. Next
  26. If 3≤T And T≤6
  27. Then
  28. If Frac(T÷3)=0
  29. Then
  30. X+(T-4.5)÷1.5→X
  31. Else
  32. Y+(T-4.5)×2→Y
  33. IfEnd
  34. IfEnd
  35. If X<1 Or X>16 Or Y<1 Or Y>4
  36. Then
  37. Break
  38. IfEnd
  39. Locate X,Y,"X"
  40. Locate D,E,P
  41. If X=D And Y=E
  42. Then
  43. S+P→S
  44. RanInt#(1,16)→D
  45. RanInt#(1,4)→E
  46. RanInt#(0,9)→P
  47. Locate D,E,P
  48. IfEnd
  49. Cls
  50. WhileEnd
  51. "GAME OVER"
  52. "SCORE:"
  53. Locate 1,3,S
复制代码
 楼主| 发表于 2009-9-6 21:25:42 | 显示全部楼层
还有一点就是不能保存。不能把上一次的游戏进度接到下一次来。我改了一下,使得在玩“x吃数字”时,计算器能分辨上一次有没有翘翘。如果没有(就是上一次在没有翘的情况下按[AC/ON]退出),他就会接着上一次的游戏进 ...
棒棒餹bbt 发表于 2009-8-27 17:56

不错,漂亮
 楼主| 发表于 2009-9-6 21:25:59 | 显示全部楼层
把代码转换成FX-9860的
imath 发表于 2009-8-19 17:29
我不会啊
发表于 2009-9-11 19:25:15 | 显示全部楼层
我不会啊
zasdfgbnm 发表于 2009-9-6 21:25
和getkey的值有关。另外必须确定9860有确定范围随机数。我的9750是没有的
 楼主| 发表于 2009-9-17 20:31:06 | 显示全部楼层
必须确定9860有确定范围随机数。我的9750是没有的
棒棒餹bbt 发表于 2009-9-11 19:25

这个不成问题,初中时代我已经研究过随机数产生器的问题,大多数计算器只能产生0~1的随机数,要想产生任意范围的随机数可以用如下公式进行:
下界+Ran#×宽度,例如要产生9~25的随机数,可以用9+Ran#×(25-9),如果要保留整数可以用Int或Rnd
 楼主| 发表于 2009-9-17 20:33:00 | 显示全部楼层
提供以下9860的说明书,我研究一下(高三了很忙的,不一定有时间)
发表于 2009-9-18 22:14:45 | 显示全部楼层
这个不成问题,初中时代我已经研究过随机数产生器的问题,大多数计算器只能产生0~1的随机数,要想产生任意范围的随机数可以用如下公式进行:
下界+Ran#×宽度,例如要产生9~25的随机数,可以用9+Ran#×(25-9),如 ...
zasdfgbnm 发表于 2009-9-17 20:31
good
发表于 2009-9-18 22:25:46 | 显示全部楼层
getkey数值出来了。9750的,我想9860也适用。现公布,希望楼主可以改一下代码,编成9750的
发表于 2009-9-18 22:27:00 | 显示全部楼层
上:28
下:37
左:38
右:27
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-12-4 01:33 , Processed in 0.069849 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表