您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 高中数学论文图形计算器应用能力测试活动学生利用CG20的编程功能编制run游戏
1、1辽宁省沈阳市第十五中学2013年高中数学论文图形计算器应用能力测试活动学生利用CG20的编程功能编制run游戏关键词:CASIOfx-CG20游戏编程run摘要:为了在课余时间能够缓解学习压力,本课题编制了一款简洁的游戏小程序run,应用Locate函数与数学变量控制的方法让小人不断前行躲避障碍物以获得高分。一、研究背景CASIOCG20是一款彩色多功能图形计算器,在课程学习中利用其强大的绘图功能帮助学生理解和运用函数与数列的知识。然而其中编程功能却不大为人所知,了解到这情况后我想到了可以编制游戏程序来缓解同学在课余生活的压力。这样在培养学生逻辑思维能力的同时给课间生活增添了光彩。二、研究目的本探究旨在利用计算器的编程功能会编辑的一个名为RUN的小游戏,游戏内容为目标角色通过玩家按键控制跳跃躲避向其靠近的障碍物来获得相应分数,考验玩家的敏捷度,为学习紧张之余的同学们带来一丝欢乐,同时锻炼自我解决问题的创造能力。三、研究材料与方案1.1研究材料:CASIOfx-CG20计算器CASIOfx-CG20程序语言教程1.2研究方案首先要通过阅读教程来了解计算器编程功能的基础使用方法。我发现。
2、编程的过程与计算机上的大同小异,只要学会机器内设的各类函数使用方法,适当组合便可以达到自己想要的效果。要编制程序首先要找到编程功能的所在。在fx-CG20的菜单上有一个B编程功能,选中后可按F3新建一个空程序,名称为RUN。在PRGM键中有我们需要的各类内嵌函数可供使用,按shiftvars即可。图1.创建程序后的列表2在run的游戏之中我们需要一些指示图标来组成游戏最基础的单元。障碍物自然地选择了实心的方块编号_#E6A6_,而指示目标角色所在的图标,为了与障碍相区别开来,于是在符号列表中选择了f图标编号为_#E593_。为了游戏拥有更好的体验度,可是适当调整图案的色彩作为点缀,在输入的字符前按shift5后选择字符颜色,共10种可选。图2.字符选择菜单首先游戏要能够进行下去就必须让主角f保持在屏幕的左下角,同时让障碍物从右方源源不断地向左平移过来,这就需要程序不间断的执行下去,是一个连续的死循环。对此使用一个类似于1+1=2这样的真命题来作为循环的判断条件即可While1+1=2。再者来解决障碍物的显示问题。Locate函数是一个内置的可以在屏幕任意位置显示想输出字符的函数,格式为。
3、Locatex,y,“z”其中x为横坐标,y为纵坐标,z则是想要输出的字符。需要注意的是这里的坐标系是以左上角为原点的,使用Locate函数时需要注意不能算错。障碍物是竖直的连续方块形成的长条,对于一次只能在一个坐标点显示一个字符的Locate函数,此处需要再次套入一个循环,因为很坐标相同,纵坐标是等差数列,于是用fornext循环相对简洁。For1-LToA:LocateI,(8-L),_#E6A6_:Next。由于障碍长条是移动的,所以很坐标也应用一个变量I来表示。游戏的乐趣在于你并不知道将要来的障碍物的高度到底是多少,所以累计的方块数应该用一定范围内的随机函数产生,RanInt#(3,5)-A。此处出现了一个问题:Locate函数所显示的字符是不会消失的,如果不作处理真个屏幕都将被黑色方块所填满。于是思索之后,需要在打出一个方块的同时,要在方块后方的位置用Locate函数在显示出空白字符来覆盖原来的图标。即在上述fornext循环中的LocateI,(8-L),_#E6A6_后方加入一句LocateI+1,(8-L),来覆盖原有图案。Locate函数的坐标值是由范围的,一旦越狱就。
4、会溢出,所以对于平移的变量I在每次循环是需要加入判断语句来检测其大小,一旦超出范围便调回初始值。IfI1OrI=20:Then20-I:IfEnd。好,到现在为止我们已经可以让一条障碍物连续不断向左平移,但这不够,于是仿找此部分程序如法炮制,利用一个累加的统计次数的变量O来控制开始运行的时间。那么如何让人物跳跃呢?那就需要使用获得值输入函数GETKEY,该函数可以获取一个按键的默认数值,在提前了解之后便可作为一个判断变量来控制程序。Getkey-Z一旦返回值是预计数值则进入一个子循环来让f的纵坐标变高,用另一个变量控制时间,决定跳跃后人物滞空的时间。IfV=X:ThenLocate1,7,:1-K:RedLocate1,K,_#E593_;V+1-V:Else7-K;IfEnd为了最好的游戏难度与体验性我们在开头添加一个菜单来决定控制跳跃时间的变量X。30-RWhileR1AndR2AndR3ClrTextDIFFICULTY:1,EXPERT2,COMMON3,BEGINNER?-RIfR=1Then2-XIfEndIfR=2Then3-XIfEndIfR=3Then4-XIfEnd。
5、WhileEndClrText由于GETKEY函数只有在运行到时才能够获取按键的默认数值,所以一旦执行某一次循环时在执行完此语句后才按键便会失效导致控制不灵敏从而难以控制的情况,因此需在循环的开头语结尾以及中间若干处加入相同的GETKEY函数语句多次获取数值,如此只要其中一次获取成功便可执行跳跃动作,很好的解决了以上问题。完成了程序的主要枝干,还缺少的是程序结束的判断语句。可知当人物的横坐标与障碍物的横坐标相同时,弱人物高度小于障碍物的高度,测科判断为程序结束,用STOP语句结束程序。If(I=1AndK=8-A)Or(G=1AndK=8-B)Or(H=1AndK=8-C)ThenClrTextLocate1,1,GAMEOVERLocate1,2,YOURSCORE(Int(O/6)+15)*10-QLocate1,3,QStopIfEnd最后来制作分数评定程序,此处用循环次数O来作为分数的评定准则,利用公式(Int(O/6)+15)*10来计算并用Locate函数来显示分数。完成程序后退到最初始界面按F1执行程序检验如语句错误则及时进入编写窗改正直至正确。4图3.程序运行截图(1)。
6、图4.程序运行截图(2)图5.程序结束后分数显示面板5图6.程序编绘语言输入框(1)、图7..程序编绘语言输入框(2)四、展望本研究课题的成果实用灵巧,游戏操作简单易懂,程序便于复制与学习可以被广泛流传。五、感想在探究程序设计的过程中我发现了许多意想不到的问题与困难,比如初次设想并没有考虑Locate函数不能够自动消除以及GETKEY函数在长循环中不够灵敏的问题,也为如何让障碍物源源不断出现而烦恼过,这都是在与伙伴们商量合谋后灵光一现最终解决的。探究的过程锻炼了我解决问题的能力,然我多次练习用一蹴而得知识创造解决问题的办法,使我的思维得到提升。附录:1.1程序'ProgramMode:RUN60-R20-I5-H5-G0-O7-K20-VWhileR1AndR2AndR3ClrTextDIFFICULTY1,EXPERT2,COMMON3,BEGINNER?-RIfR=1Then2-XIfEndIfR=2Then3-XIfEndIfR=3Then4-XIfEndWhileEndClrTextWhile1+1=20-ZGetkey-ZRedLocate1,K,_#E593_Locate1。
7、,1,IfI1OrI=20ThenRanInt#(3,5)-A20-IFor1-LTo6Locate1,L,NextIfEndFor1-LToALocateI,(8-L),_#E6A6_LocateI+1,(8-L),NextI-1-IIfG1OrG=20ThenRanInt#(3,5)-B720-GFor1-LTo6Locate1,L,NextIfEndGetkey-ZIfO=7Then20-GIfEndIfO7ThenFor1-LToBLocateG,(8-L),_#E6A6_LocateG+1,(8-L),NextG-1-GIfEndIfO=14Then20-HIfEndGetkey-ZIfH1OrH=20ThenRanInt#(3,5)-CFor1-LTo6Locate1,L,Next20-HIfEndIfO=14ThenFor1-LToCLocateH,(8-L),_#E6A6_LocateH+1,(8-L),NextH-1-HIfEndGetkey-ZIfZ=63Then1-VIfEndIfV=XThenLocate1,7,1-KRedLocate1,K,_#E593_V+。
8、1-VElse7-K8IfEndIf(I=1AndK=8-A)Or(G=1AndK=8-B)Or(H=1AndK=8-C)ThenClrTextLocate1,1,GAMEOVERLocate1,2,YOURSCORE(Int(O/6)+15)*10-QLocate1,3,QStopIfEndO+1-OWhileEnd。
本文标题:高中数学论文图形计算器应用能力测试活动学生利用CG20的编程功能编制run游戏
链接地址:https://www.777doc.com/doc-1946623 .html