专为39GII编写的字母输入练习程序,我暂时将程序名定为:《Alpha》
转载请注明作者或附上原贴
有许多人认为39GII沙雕,确实如此,我并不否认,但其价格、80MHz的CPU、成熟的指令集和高分辨率中文系统,吸引了一些人入手GII。GII主要的魅力可能就是编程了,有许多小白在问过我:不是用电脑写吗?自带的按键怎么写,打一个字找半天....
在我看来,GII内带的检索和字母输入已经很成熟,只是缺乏练习,所以才有了这个程序
Var1.0.0 Alpha(14kb):
具备可视化按键和随机字母,在一定时间内键入正确字母所在键即可获得一分,按错一次-5分,超时一次-10分,可选择时间,有历史记录
下面是详细介绍:
1.进入选择速度
![](http://imgsrc.baidu.com/forum/w%3D580/sign=22b8ead185d4b31cf03c94b3b7d7276f/9f652a738bd4b31cef54652989d6277f9f2ff845.jpg)
2.实际界面如下,没有延时,直接开始
![](http://imgsrc.baidu.com/forum/w%3D580/sign=47264f76bd1c8701d6b6b2ee177e9e6e/fbfb8fd4b31c8701c8de4374297f9e2f0608ff45.jpg)
3.在按错或低于0分而退出时将反色0.2秒
![](http://imgsrc.baidu.com/forum/w%3D580/sign=e18177be8901a18bf0eb1247ae2e0761/5e5cb71c8701a18bed83e3dd902f07082938fe45.jpg)
注:速度不好调,觉得太难可以给开始分数,没记错的话变量名为:
另外,因为是Win10只有代码发给你们,代码导入请看这里:
HP 39GII连接套件、模拟器和Win10下传送文件到计算器的方法:
http://tieba.baidu.com/p/6016731864
不推荐使用这里面的方法,小白可能看不懂
1.下载它的驱动,安装,打开
2.在计算器上打入完整程序名(也就是EXPORT后面的东西,不要括号),保存
3.按计算器ON + F4进入管理,按7进入“PC-LINK”
4.直接用数据线连接,不用再按什么,看到驱动程序上出现HP39gii
5.按+打开分支,在程序里找到你所创建的程序,双击打开,出现文本对话框
6.将代码复制到里面,看到根界面左上角有一个不起眼的保存图标,按下保存,等待一会,再次亮起即为保存,我喜欢多按几次,以免没存入
代码如下,自己转存.hpprgm请将记事本输出为UTF-8:
(如显示有错就自己改一下,导入的问题)
EXPORT Alpha®()
BEGIN
LOCAL a,b,c,d,n,z;
LOCAL key,Sn,Pn,Ln,An,On,sec;
LOCAL x,y,x0,y0;
CHOOSE(Pn,"Alpha® v1.0 by Claury","速度: 入门","速度: 进阶","速度: 强化");
2000-Pn*550►Pn;
RECT();
FOR a FROM 1 TO 15 DO
-1►L0(a) END;
-1►L0(20);
-1►L0(36);
-1►L0(41);
-1►L0(46);
-1►L0(50);
//固有键面
RECT(-12.1,5.5,0.1,-7.1,0,3);
FOR x FROM 0 TO 4 DO
FOR y FROM 0 TO 6 DO
RECT(-11.8+x*2.4,-5.6+y*1.8,-9.8+x*2.4,-6.8+y*1.8,0,3);
END;
END;
//-
IFERR L0(51)►Sn THEN 0►L0(51)
ELSE 0►Sn END;
TEXTOUT("最高 : " +L0(51),4,-5.5,1);
//Loop -- Loop -- Loop
REPEAT
//I/O
GETKEY►key;
IF key==z THEN
1►On;Sn+1►Sn;
RECT(-11.8+x*2.4,-5.6+y*1.8,-9.8+x*2.4,-6.8+y*1.8,0,3);
ELSE
IF key≥0 THEN
Sn-5►Sn;INVERT;
WAIT(0.2);INVERT END;
END;
//随机Alpha
IF FRAC(n/Pn)==0 OR On==1
THEN
REPEAT
INT(RANDOM(16,50))►z;
UNTIL L0(z)==0 END;
IF On==1 THEN 0►On;0►n END;
END;
//Alpha坐标转换
IF z<20 THEN z+49►An END;
IF z>20 AND z<36 THEN
z+48►An END;
IF z>36 AND z<41 THEN
z+47►An END;
IF z>41 AND z<45 THEN
z+46►An END;
IF z==45 THEN 32►An END;
IF z==47 THEN 34►An END;
IF z==48 THEN 58►An END;
IF z==49 THEN 59►An END;
//绘制键面
FRAC((z-1)/5)*5►x;
9-INT((z-1)/5)►y;
RECT(-11.8+x*2.4,-5.6+y*1.8,-9.8+x*2.4,-6.8+y*1.8,0,1);
//绘制- -R
RECT(4.5,0.5,7.5,-1.5,0,3);
TEXTOUT(char(An),5.6,0.2);
TEXTOUT(Sn,5.4,-3,1,0,1000,3);
INT((1-(INT(n/10)/(Pn/10)))*100)/10►sec;
TEXTOUT(sec +" Sec",4.3,4,2,0,1000,3);
n+1►n;
IF n==Pn THEN
0►n;RECT(5,-3,7,-5);Sn-10►Sn;
RECT(-11.8+x*2.4,-5.6+y*1.8,-9.8+x*2.4,-6.8+y*1.8,0,3);
END;
IF Sn>L0(51) THEN
Sn►L0(51);
TEXTOUT("最高 : " +L0(51),4,-5.5,1,0,1000,3); END;
UNTIL Sn<0 END;
INVERT;
WAIT(1);
END;
少见的没有结算、没有在主界面附加版本号和作者,请大家转载注明原贴、作者
转载请注明作者或附上原贴
有许多人认为39GII沙雕,确实如此,我并不否认,但其价格、80MHz的CPU、成熟的指令集和高分辨率中文系统,吸引了一些人入手GII。GII主要的魅力可能就是编程了,有许多小白在问过我:不是用电脑写吗?自带的按键怎么写,打一个字找半天....
在我看来,GII内带的检索和字母输入已经很成熟,只是缺乏练习,所以才有了这个程序
Var1.0.0 Alpha(14kb):
具备可视化按键和随机字母,在一定时间内键入正确字母所在键即可获得一分,按错一次-5分,超时一次-10分,可选择时间,有历史记录
下面是详细介绍:
1.进入选择速度
![](http://imgsrc.baidu.com/forum/w%3D580/sign=22b8ead185d4b31cf03c94b3b7d7276f/9f652a738bd4b31cef54652989d6277f9f2ff845.jpg)
2.实际界面如下,没有延时,直接开始
![](http://imgsrc.baidu.com/forum/w%3D580/sign=47264f76bd1c8701d6b6b2ee177e9e6e/fbfb8fd4b31c8701c8de4374297f9e2f0608ff45.jpg)
3.在按错或低于0分而退出时将反色0.2秒
![](http://imgsrc.baidu.com/forum/w%3D580/sign=e18177be8901a18bf0eb1247ae2e0761/5e5cb71c8701a18bed83e3dd902f07082938fe45.jpg)
注:速度不好调,觉得太难可以给开始分数,没记错的话变量名为:
另外,因为是Win10只有代码发给你们,代码导入请看这里:
HP 39GII连接套件、模拟器和Win10下传送文件到计算器的方法:
http://tieba.baidu.com/p/6016731864
不推荐使用这里面的方法,小白可能看不懂
1.下载它的驱动,安装,打开
2.在计算器上打入完整程序名(也就是EXPORT后面的东西,不要括号),保存
3.按计算器ON + F4进入管理,按7进入“PC-LINK”
4.直接用数据线连接,不用再按什么,看到驱动程序上出现HP39gii
5.按+打开分支,在程序里找到你所创建的程序,双击打开,出现文本对话框
6.将代码复制到里面,看到根界面左上角有一个不起眼的保存图标,按下保存,等待一会,再次亮起即为保存,我喜欢多按几次,以免没存入
代码如下,自己转存.hpprgm请将记事本输出为UTF-8:
(如显示有错就自己改一下,导入的问题)
EXPORT Alpha®()
BEGIN
LOCAL a,b,c,d,n,z;
LOCAL key,Sn,Pn,Ln,An,On,sec;
LOCAL x,y,x0,y0;
CHOOSE(Pn,"Alpha® v1.0 by Claury","速度: 入门","速度: 进阶","速度: 强化");
2000-Pn*550►Pn;
RECT();
FOR a FROM 1 TO 15 DO
-1►L0(a) END;
-1►L0(20);
-1►L0(36);
-1►L0(41);
-1►L0(46);
-1►L0(50);
//固有键面
RECT(-12.1,5.5,0.1,-7.1,0,3);
FOR x FROM 0 TO 4 DO
FOR y FROM 0 TO 6 DO
RECT(-11.8+x*2.4,-5.6+y*1.8,-9.8+x*2.4,-6.8+y*1.8,0,3);
END;
END;
//-
IFERR L0(51)►Sn THEN 0►L0(51)
ELSE 0►Sn END;
TEXTOUT("最高 : " +L0(51),4,-5.5,1);
//Loop -- Loop -- Loop
REPEAT
//I/O
GETKEY►key;
IF key==z THEN
1►On;Sn+1►Sn;
RECT(-11.8+x*2.4,-5.6+y*1.8,-9.8+x*2.4,-6.8+y*1.8,0,3);
ELSE
IF key≥0 THEN
Sn-5►Sn;INVERT;
WAIT(0.2);INVERT END;
END;
//随机Alpha
IF FRAC(n/Pn)==0 OR On==1
THEN
REPEAT
INT(RANDOM(16,50))►z;
UNTIL L0(z)==0 END;
IF On==1 THEN 0►On;0►n END;
END;
//Alpha坐标转换
IF z<20 THEN z+49►An END;
IF z>20 AND z<36 THEN
z+48►An END;
IF z>36 AND z<41 THEN
z+47►An END;
IF z>41 AND z<45 THEN
z+46►An END;
IF z==45 THEN 32►An END;
IF z==47 THEN 34►An END;
IF z==48 THEN 58►An END;
IF z==49 THEN 59►An END;
//绘制键面
FRAC((z-1)/5)*5►x;
9-INT((z-1)/5)►y;
RECT(-11.8+x*2.4,-5.6+y*1.8,-9.8+x*2.4,-6.8+y*1.8,0,1);
//绘制- -R
RECT(4.5,0.5,7.5,-1.5,0,3);
TEXTOUT(char(An),5.6,0.2);
TEXTOUT(Sn,5.4,-3,1,0,1000,3);
INT((1-(INT(n/10)/(Pn/10)))*100)/10►sec;
TEXTOUT(sec +" Sec",4.3,4,2,0,1000,3);
n+1►n;
IF n==Pn THEN
0►n;RECT(5,-3,7,-5);Sn-10►Sn;
RECT(-11.8+x*2.4,-5.6+y*1.8,-9.8+x*2.4,-6.8+y*1.8,0,3);
END;
IF Sn>L0(51) THEN
Sn►L0(51);
TEXTOUT("最高 : " +L0(51),4,-5.5,1,0,1000,3); END;
UNTIL Sn<0 END;
INVERT;
WAIT(1);
END;
少见的没有结算、没有在主界面附加版本号和作者,请大家转载注明原贴、作者