首页 辽宁省沈阳市第十五中学2020年高中数学论文 图形计算器应用能力测试活动学生“乐动达人”简易版的编制

辽宁省沈阳市第十五中学2020年高中数学论文 图形计算器应用能力测试活动学生“乐动达人”简易版的编制

举报
开通vip

辽宁省沈阳市第十五中学2020年高中数学论文 图形计算器应用能力测试活动学生“乐动达人”简易版的编制PAGE辽宁省沈阳市第十五中学2020年高中数学论文图形计算器应用能力测试活动学生“乐动达人”简易版的编制乐动达人是今年最火的一款音乐游戏。游戏内容为及时按中从轨道上滚落下来的小球。利用CaSio图形计算器,可以编出乐动达人的简易版。乐动达人简易版主要分成如下部分:准备阶段、游戏界面生成阶段、游戏开始和进行阶段、游戏结束阶段、排行榜。准备阶段这一阶段是游戏开始前给玩家的准备阶段,内容简单。1→AWhileA≤200IfA=200Then“READY”IfEndIfA=150ThenCirText“GO”IfE...

辽宁省沈阳市第十五中学2020年高中数学论文 图形计算器应用能力测试活动学生“乐动达人”简易版的编制
PAGE辽宁省沈阳市第十五中学2020年高中数学论文图形计算器应用能力测试活动学生“乐动达人”简易版的编制乐动达人是今年最火的一款音乐游戏。游戏内容为及时按中从轨道上滚落下来的小球。利用CaSio图形计算器,可以编出乐动达人的简易版。乐动达人简易版主要分成如下部分:准备阶段、游戏界面生成阶段、游戏开始和进行阶段、游戏结束阶段、排行榜。准备阶段这一阶段是游戏开始前给玩家的准备阶段,内容简单。1→AWhileA≤200IfA=200Then“READY”IfEndIfA=150ThenCirText“GO”IfEndA+1→AWhileEnd在这里,为了防止一开始内容跳转过快,我选择了让计算器运行一个无意义的循环,从而达到延缓时间的目的,根据CG20的运算速度,我选择了以上运算量,在不同的机型可以根据个人喜好调整该循环的时间。游戏界面生成阶段游戏界面在这一阶段生成,各种数据的初始化也在这一阶段进行。CirTextLocate2,1,”↓”Locate6,1,”↓”Locate4,1,”↓”Locate2,7,”□”Locate6,7,”□”Locate4,7,”□”Locate2,2,”○”Locate6,2,”○”Locate4,2,”○”Locate2,3,”○”Locate6,3,”○”Locate4,3,”○”Locate2,4,”○”Locate6,4,”○”Locate4,4,”○”Locate2,5,”○”Locate6,5,”○”Locate4,5,”○”Locate2,6,”○”Locate6,6,”○”Locate4,6,”○”Locate9,2,”LIFE”Locate15,2,”SCORE”Locate9,5,”COMBO”4→T0→N0→S0→A0→B0→C0→D0→E0→F0→G首先规定(2,1)、(4,1)、(6,1)三个位置为小球出现的位置,(2,7)、(4,7)、(6,7)为应该按小球的位置,中间部分则是小球滚落路径。分别用这三种不同的标识表示。同时,需要 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的分数、连击数和生命数则列在旁边。游戏开始和进行阶段(主要部分)这一阶段是游戏的运行阶段,也是最主要的阶段WhileT>0Locate9,4,TLocate10,6,NLocate15,4,SIfA≠0ThenLocateA,2,”○”IfEndIfB≠0ThenLocateB,3,”○”IfEndIfC≠0ThenLocateC,4,”○”IfEndIfD≠0ThenLocateD,5,”○”IfEndIfE≠0ThenLocateE,6,”○”IfEndIfF≠0ThenLocateF,7,”□”IfEndE→FD→EC→DB→CA→B2×RanInt(1,3)→ALocateA,2,”●”IfB≠0ThenLocateB,3,”●”IfEndIfC≠0ThenLocateC,4,”●”IfEndIfB≠0ThenLocateD,5,”●”IfEndIfB≠0ThenLocateE,6,”●”IfEndIfB≠0ThenLocateF,7,”■”IfEnd0→KIfG≥5ThenGetkey→KIfK=52OrK=62OrK=72Then(8-Int(K÷10))×2→KIfEndIfK=FThenLocateK,7,”☆”N+1→NS+N→SElse0→NT-1→TIfEndIfEndG+1→GWhileEnd如何表现小球的运动是编程过程中的最大难点。我采取了给每一排赋予一个变量,用变量的数值来表示该排小球的横坐标的方法。具体操作 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 如下:生成的最上端小球的横坐标——将原先所有表示为小球的坐标涂成无小球状——依次将每排的坐标值传递给下一排(最下方的小球完成击中判定后消失)——在新的坐标上显示小球(同时对到达第七排的小球进行击中判定)同时,我们需要对剩余生命、连击值和分数进行统计。具体操作是如下:连击数:(完成击中判定后)是否击中?——击中则连击数加一;未击中则连击数归零——在显示区域显示连击数分数:(完成击中判定后)是否击中?——击中则分数加连击数的值;未击中则分数不变——在显示区域显示分数剩余生命:(完成击中判定后)是否击中?——击中则生命不变;未击中则生命减一——在显示区域显示生命数在这一部分的实际操作中,我遇到了如下问题:1.如何让计算器重复操作步骤?我选择让计算器进入循环,跳出循环的条件是剩余生命数不大于零。2.如何生成最上方小球的坐标?我选择了随机数2*RanInt#(1,3)来表示生成的小球的横坐标。这样生成的横坐标正好是我们要的2、4、6。3.在第一个小球尚未到达第三行前,第三行对应小球位置横坐标为0,如何使计算器放弃在该位置显示小球图标?(第四五六七行同样存在这个问题)我选择在显示小球位置前进行条件判定——如果该行的小球横坐标为零,就跳过显示。如何让计算器在第一个小球落到最下方之前不进行击中判定?为此我选择引入一个辅助值G。G的初始值是0,每完成一次循环,G在原来的基础上加一,在G达到5时,第一个小球恰好到达击中判定区,因此击中判定前设置条件就是:G是否大于等于5,若是,则进行击中判定,否则跳过击中判定。4.如何进行击中判定?击中判定是整个程序里除了表示小球运动外最重要的部分。由于一共有三列可能滚下的小球,所以我选择用1、2、3三个键分别对应三行。由于?赋值法会打断程序进程,我们必须另辟蹊径。我想到了运用CG20计算器的另一个功能——GetKey功能。GetKey能立即获得所按键的代码,而且未获得代码不会打断程序运行。在这里,我令计算器获得“1”、“2”、“3”的代码(72、62、52)转换成对应的横坐标2、4、6,如果得到的横坐标与击中判定区小球的横坐标一致,就执行击中后的步骤。如果不一致,或GetKey未得到值,就执行未击中后的步骤。5.在连击位数降低时,原本多出的位数无法及时消除,如何解决?这是一个相当棘手的问题,在每次循环开始前先清屏一次可以解决问题,但会占用大量时间,即大幅度的削弱连贯感。最终我采取了分别显示连击值百位、十位、个位方法,将Locate10,6,N改为:Locate9,6,Int(N÷100)Locate10,6,Int(N÷10)-10Int(N÷100)Locate11,6,N-10Int(N÷10)这样,在相邻的三个位置上分别显示百位、十位、个位数字就能避免问题了。游戏结束阶段这一阶段中会显示玩家的分数、名次,另外这一阶段还具有重新开始和跳转到排行榜的能力。ClrText“END”“YOURSCORE:”Locate16,2,SIfW≤SAndSWAndSXAndSYThenX→WY→XS→YIfEnd?→KIfK=2ThenProg”LIST”ElseProg“YDDR”IfEnd这一阶段中最重要的内容莫过于分数的储存了,我选择了w、x、y这三个变量来储存第三名、第二名、第一名的分数。由于这三个变量不进行初始化,它们不会因游戏关闭而归零。将得到的分数分别和这三个变量的值进行比较,就能得到名次(限于前三名)。同时用较大数取代较小数的方法来更新前三名的数据。本阶段的另一个重点是跳转问题,利用“Prog”功能可以实现程序间的跳转。当玩家输入1时,我令计算器重新执行这一程序;输入2时,跳转到辅助程序“LIST”。排行榜这是一个独立于主程序的辅助程序,可以由主程序跳转进入,也能单独启动,另外排行榜也能够跳转到主程序。ClrTextLocate8,2,”CHART”Int(Y÷(10^5))→AInt((Y-(10^5)A)(10^4))→BInt((Y-(10^5)A-(10^4)B)÷(10^3))→CInt((Y-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((Y-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EY-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.1”Locate13,4,ALocate14,4,BLocate15,4,CLocate16,4,DLocate17,4,ELocate18,4,FInt(X÷(10^5))→AInt((X-(10^5)A)(10^4))→BInt((X-(10^5)A-(10^4)B)÷(10^3))→CInt((X-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((X-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EX-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.2”Locate13,5,ALocate14,5,BLocate15,5,CLocate16,5,DLocate17,5,ELocate18,5,FInt(W÷(10^5))→AInt((W-(10^5)A)(10^4))→BInt((W-(10^5)A-(10^4)B)÷(10^3))→CInt((W-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((W-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EW-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.3”Locate13,6,ALocate14,6,BLocate15,6,CLocate16,6,DLocate17,6,ELocate18,6,FLocate1,7,”1.BACK”?→KIf1+1=2ThenProg”YYDR”IfEnd在这部分里,我仍然使用w、x、y三个程序来保存变量,这样每次从主程序进入排行榜时,分数都能更新。然而在这部分的编写中,我遇到了一个很大的问题。如果在主程序运行完成后,直接跳出程序,不进入排行榜,然后单独启动排行榜,这时就会出现数据不及时的情况。为了解决这一问题,我进行了如下操作:在进入辅助程序时进行一次判定,如果是单独启动的,就先跳入主程序,再跳回辅助程序;在主程序运行前也进行判定,若是由上述路程跳转启动的,就立即返回辅助程序。相当于让数据在主程序里洗个澡,解决了此问题。首先将主程序开头改成:IfZ=0ThenClrText……?→KEise2→KIfEndIfK=2ThenProg“LIST”……再将排行榜程序改为:IfK=2ThenClrText1→KLocate8,2,”CHART”……Locate1,7,”1.BACK”?→ZIf1+1=2Then0→K0→ZProg”YDDR”IfEndElse1→Z0→KProg”YDDR”IfEnd另外,这个程序还有很多可以调整之处,比如将游戏设计成四键模式、改变记分方式、增减生命数、将游戏设计成计时制、拓展排行榜名次数等等,都是可以调整的内容。经历了这次程序编写,我学到了许多新的东西。首先我学会了如何发现问题,解决问题。主要部分的第三个和第五个问题都是我开始入手时没有想到的,而排行榜数据滞后的问题更是我一开始完全没有发现的。但最终,凭着自己的努力和一次一次的尝试,我将这些困难都一一克服了。其次,这次程序编写增强了我的学习能力,调动了我的创新精神。第一次接触CaSio计算器,我对着学校出版的《图形计算期的探索与研究》上提供的两个程序实例自学,遇到不懂的就请教老师,在编程中进步,在编程中成长。在书上的两个事例程序中,有一个也拥有排行榜功能,和我遇到同样问题的作者采取了只能从主程序启动排行榜,不能直接启动排行榜的方式。经过我的改良,我对这个问题的创新解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 可以说做到了最好。最重要的,在用CaSio计算器编程的过程中,我深深体会到了一种严谨的数学精神,CaSio计算器一步一步认真、迅速、准确地执行我的命令正是这种精神的体现。没有性能优异的CaSiofx-CG20计算器,我也无法体会到编程中的快乐。我由衷地感谢CaSio计算器,CaSio计算器的多样功能永远是我最好的学习伴侣。附录(最终完整版程序):主程序(YDDR):IfZ=0ThenClrText1→AWhileA≤200IfA=200Then“READY”IfEndIfA=150ThenCirText“GO”IfEndA+1→AWhileEndCirTextLocate2,1,”↓”Locate6,1,”↓”Locate4,1,”↓”Locate2,7,”□”Locate6,7,”□”Locate4,7,”□”Locate2,2,”○”Locate6,2,”○”Locate4,2,”○”Locate2,3,”○”Locate6,3,”○”Locate4,3,”○”Locate2,4,”○”Locate6,4,”○”Locate4,4,”○”Locate2,5,”○”Locate6,5,”○”Locate4,5,”○”Locate2,6,”○”Locate6,6,”○”Locate4,6,”○”Locate9,2,”LIFE”Locate15,2,”SCORE”Locate9,5,”COMBO”4→T0→N0→S0→A0→B0→C0→D0→E0→F0→GWhileT>0Locate9,4,TLocate9,6,Int(N÷100)Locate10,6,Int(N÷10)-10Int(N÷100)Locate11,6,N-10Int(N÷10)Locate15,4,SIfA≠0ThenLocateA,2,”○”IfEndIfB≠0ThenLocateB,3,”○”IfEndIfC≠0ThenLocateC,4,”○”IfEndIfD≠0ThenLocateD,5,”○”IfEndIfE≠0ThenLocateE,6,”○”IfEndIfF≠0ThenLocateF,7,”□”IfEndE→FD→EC→DB→CA→B2×RanInt(1,3)→ALocateA,2,”●”IfB≠0ThenLocateB,3,”●”IfEndIfC≠0ThenLocateC,4,”●”IfEndIfB≠0ThenLocateD,5,”●”IfEndIfB≠0ThenLocateE,6,”●”IfEndIfB≠0ThenLocateF,7,”■”IfEnd0→KIfG≥5ThenGetkey→KIfK=52OrK=62OrK=72Then(8-Int(K÷10))×2→KIfEndIfK=FThenLocateK,7,”☆”N+1→NS+N→SElse0→NT-1→TIfEndIfEndG+1→GWhileEndClrText“END”“YOURSCORE:”Locate16,2,SIfW≤SAndSWAndSXAndSYThenX→WY→XS→YIfEnd?→KElse2→KIfEndIfK=2ThenProg”LIST”ElseProg“YDDR”IfEnd排行榜程序(LIST):IfK=2ThenClrText1→KLocate8,2,”CHART”Int(Y÷(10^5))→AInt((Y-(10^5)A)(10^4))→BInt((Y-(10^5)A-(10^4)B)÷(10^3))→CInt((Y-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((Y-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EY-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.1”Locate13,4,ALocate14,4,BLocate15,4,CLocate16,4,DLocate17,4,ELocate18,4,FInt(X÷(10^5))→AInt((X-(10^5)A)(10^4))→BInt((X-(10^5)A-(10^4)B)÷(10^3))→CInt((X-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((X-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EX-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.2”Locate13,5,ALocate14,5,BLocate15,5,CLocate16,5,DLocate17,5,ELocate18,5,FInt(W÷(10^5))→AInt((W-(10^5)A)(10^4))→BInt((W-(10^5)A-(10^4)B)÷(10^3))→CInt((W-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((W-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EW-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.3”Locate13,6,ALocate14,6,BLocate15,6,CLocate16,6,DLocate17,6,ELocate18,6,FLocate1,7,”1.BACK”?Locate8,2,”CHART”Int(Y÷(10^5))→AInt((Y-(10^5)A)(10^4))→BInt((Y-(10^5)A-(10^4)B)÷(10^3))→CInt((Y-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((Y-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EY-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.1”Locate13,4,ALocate14,4,BLocate15,4,CLocate16,4,DLocate17,4,ELocate18,4,FInt(X÷(10^5))→AInt((X-(10^5)A)(10^4))→BInt((X-(10^5)A-(10^4)B)÷(10^3))→CInt((X-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((X-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EX-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.2”Locate13,5,ALocate14,5,BLocate15,5,CLocate16,5,DLocate17,5,ELocate18,5,FInt(W÷(10^5))→AInt((W-(10^5)A)(10^4))→BInt((W-(10^5)A-(10^4)B)÷(10^3))→CInt((W-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((W-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EW-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.3”Locate13,6,ALocate14,6,BLocate15,6,CLocate16,6,DLocate17,6,ELocate18,6,FLocate1,7,”1.BACK”?Locate8,2,”CHART”Int(Y÷(10^5))→AInt((Y-(10^5)A)(10^4))→BInt((Y-(10^5)A-(10^4)B)÷(10^3))→CInt((Y-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((Y-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EY-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.1”Locate13,4,ALocate14,4,BLocate15,4,CLocate16,4,DLocate17,4,ELocate18,4,FInt(X÷(10^5))→AInt((X-(10^5)A)(10^4))→BInt((X-(10^5)A-(10^4)B)÷(10^3))→CInt((X-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((X-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EX-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.2”Locate13,5,ALocate14,5,BLocate15,5,CLocate16,5,DLocate17,5,ELocate18,5,FInt(W÷(10^5))→AInt((W-(10^5)A)(10^4))→BInt((W-(10^5)A-(10^4)B)÷(10^3))→CInt((W-(10^5)A-(10^4)B-(10^3)C)÷(10^2))→DInt((W-(10^5)A-(10^4)B-(10^3)C-(10^2)D)÷10)→EW-(10^5)A-(10^4)B-(10^3)C-(10^2)D-10E→FLocate1,4,”NO.3”Locate13,6,ALocate14,6,BLocate15,6,CLocate16,6,DLocate17,6,ELocate18,6,FLocate1,7,”1.BACK”?→ZIf1+1=2Then0→Z0→KProg”YDDR”IfEndEise1→Z0→KProg”YDDR”IfEnd
本文档为【辽宁省沈阳市第十五中学2020年高中数学论文 图形计算器应用能力测试活动学生“乐动达人”简易版的编制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
言言无悔一生
暂无简介~
格式:doc
大小:238KB
软件:Word
页数:15
分类:高中数学
上传时间:2022-01-20
浏览量:0