好文档 - 专业文书写作范文服务资料分享网站

VIP专享辽宁省沈阳市第十五中学2013年高中数学论文 图形计算器应用能力测试活动学生 图形计算器游戏推 

天下 分享 时间: 加入收藏 我要投稿 点赞

[前言] [摘要][关键词][研究目的][程序功能说明]图形计算器;推箱子;辽宁省沈阳市第十五中学2013年高中数学论文 图形计算器应用能力测试活动学生 图形计算器游戏推箱子图 1游戏截图图 2编辑地图中游戏保存功能:玩家可以在游戏途中将游戏保存起来。按u或l打开游戏菜单(如图3),选择“Save & Exit”即可保存并退出游戏,下次运行程序时,程序将自动读取游戏存档。(如图4) 观察过以前的获奖论文,大多数的论文只利用到图形计算器的画图功能和小部分的编程功能。图形计算器编程功能的强大之处并未充分体现出来,而本文正是利用了图形计算器强大的编程功能,并使用了原创的压缩算法,从而在图形计算器上实现了推箱子游戏和推箱子游戏地图的压缩保存。地图编辑功能:玩家可以将原创的或搜集到的推箱子游戏地图输入到图形计算器中并储存起来。(如图2)程序提供粘滞功能,按下L键后移动的光标即可拖动出多个与当前位置相同的图案(包括空白)。本程序用一个包含1000个矩阵元素的矩阵储存地图,经过压缩后,储存上限大约为200幅地图。游戏功能:玩家可以通过CASIO图形计算器fx-CG20上的按键B、N、!和$或数学键2、4、6和8控制搬运工(显示为一个手指图案)上下左右移动,将箱子(蓝色方框)推到指定地点。(如图1)利用图形计算器的编程功能,在图形计算器上实现推箱子游戏,从而锻炼编程能力和算法能力,加深对进制转换的理解,同时增强了CASIO图形计算器的娱乐功能,丰富同学们的课余生活。利用图形计算器的编程功能,在CASIO fx-CG20图形计算器平台上实现了推箱子游戏。本文中的程序利用了图形计算器中的矩阵来储存数据,通过模拟法实现推箱子游戏,提供撤消和恢复操作以及游戏的保存,实现了推箱子的地图编辑,并利用原创的压缩算法压缩储存推箱子游戏地图。13.2.1.[研究过程]特色:2.构思算法:含义图 30空数字1.确定程序功能,请参考“程序功能说明”。撤消和恢复功能:本程序能记录所有箱子发生的移动,玩家按d键即可撤消上一次的箱子移动。如果想恢复刚才的操作可以按p键,可以通过多次按p键将地图状态恢复到撤消前的状态。本程序游戏功能实现方面使用模拟法。屏幕上的一格对应矩阵中的一个元素。在矩阵中,不同的数字有不同的含义,请见下表:地图保存的实现:12搬运工所指向的方向会根据搬运工移动而改变。由于图形计算器的主储存空间有限(61KB),所以如果直接将地图的全部信息储存进矩阵的话,储存上限会非常小。本程序使用原创的压缩算法压缩地图之后,仅用4~7个矩阵元素就能储存一幅地图。这是整个程序最复杂的部分。箱子目标位置34在目标位置上的箱子墙图 4游戏存档读取中压缩思想一:忽略空白区域。考虑到所有地图都是一个封闭的不规则图形(即地图最外侧一定被墙包围),地图外围都是空白的区域,所以用一个最小的矩形覆盖地图,只记录下矩形的信息和矩形中的所有方格的信息即可。提供快捷键7和9,玩家可以立即跳到上一幅图或下一幅图。提供快捷键w和y,玩家可以读取其他地图和重新载入当前地图。需要压缩储存的原因:屏幕显示的方格为21×7,共147个方格,而每个矩阵(默认为只储存实数)储存所占用的空间大小为36 B+矩阵元素个数×12 B(字节),即每个矩阵元素占用12 B的空间。如果采用直接储存的方法,一幅地图所用的空间为:B。而CASIO fx-CG20图形计算器的主内存大小为61 KB,约为61000 B,所以忽略其他数据储存,采用直接储存地图的方法最多只能储存幅地图,亦即实际上只能储存不足30幅地图。需要记录的数据:搬运工的坐标、未完成的目标位置个数(即上面没有箱子的目标位置个数)、当前地图编号25.游戏试用。4.进行程序调试。具体实现步骤如下:3.使用图形计算器编程实现。2.按e进入矩阵存储器。并创建矩阵:1.打开图形计算器,按1进入“计算·矩阵”模式。地图索引信息整合方法:根据模运算的基本理论,对于任意一个整数n,一定存在等式,其中,且。由模运算的定义可知。因为如果给定p的话,n的分解是唯一的。令r为将要整合的信息,p为r的可能的状态总数,k则为之前其他信息整合得出的结果。P和Q为矩形纵坐标范围,U和V为矩形横坐标范围,X和Y为搬运工的起始位置的坐标,A和B为数据地址。其中。只考虑P、Q、U、V、X、Y,这六个信息共有种状态,,也就是说数据地址的状态数可以达到3148种,超出这个范围之后,数据的地址就无法记录了。最后可以得出这样一个计算公式:游戏的撤消和恢复功能实现:用一个矩阵储存被推动的箱子的坐标和按下的按键(可以从中获取箱子推动的方向)。游戏保存实现:储存方式与地图保存类似,不同在于地图信息和地图索引储存在一个固定的地方,还要记录存档的关卡数。地图读取和保存实现细节:由于储存和读取时,读取矩阵和编(解)码的方向都是相反的。本程序保存地图时,从右往左,从下往上编码地图,将五进制转换为十进制,写入到矩阵时,由前往后写入,并记录完成编码时A和B的值,即最后一个地图数据的位置。读取地图时,解码出A和B的值,从矩阵中(A,B)开始往前读取地图数据,而地图显示时,玩家就可以看到地图是从左往右,从上往下地显示的,这也是地图数据的解码方向。储存格式:为了不浪费每个矩阵元素,需要将储存数据连续储存在一个矩阵。由于不同大小的地图所占的元素个数不同,所以需要记录储存数据的起始位置,也就是数据的地址。同时又需要记录上面提到的矩形的信息和搬运工的起始位置。为了节约空间,所以将信息整合起来储存到一个矩阵元素当中,并将这些数据储存到一个矩阵当中,下文称之为“地图索引”数据。压缩思想二:一个矩阵元素储存多个方格信息。由于一个方格的种类只有五种,把每一个方格视为一位的五进制数,将多个方格所对应的五进制数连成一个长五进制数,并转换为十进制数储存在矩阵当中。因此,一个矩阵元素可以储存多个方格的数据。CASIO fx-CG20图形计算器中的十进制数能保存十位有效数字,如果多于十位有效数字,多余的有效数字会被去掉。所以用于记录地图数据的数字不能超过。5的整数次幂中,514为满足此要求的最大的数,所以矩阵元素最多可以储存一个14位的五进制数,即一个矩阵可以储存14个方格的信息。而,所以最多只需11个矩阵元素就储存一幅地图。矩阵名尺寸用途3\Mat IMat EMat HMat GMat H的初始化:79×3200×1100×2100×10其余矩阵元素为0。储存地图按键判断3.返回主菜单,进入“程序”模式。\■\ 1:\Mat A'_Mat _A,E,G,H,I[程序代码分析]1'ProgramMode:RUN\□\ 3:\\ 4一、主程序PUSHBOX\ 5\ 223×9序注释。如需将代码导入计算器中,请参见附件。第62行为0,1,3;第64行为0,-1,1;第37行为0,1,3;第38行为-1,0,4;第27行为1,0,2;第28行为0,-1,1;地图索引信息的储存程序运行时记录地图信息第52行为1,1,-1;第53行为1,0,2;第54行为1,-1,-1;第72行为-1,1,-1;第73行为-1,0,4;第74行为-1,-1,-1;5.创建程序“P~EDIT”,代码请参考“程序代码分析”或附件。6.创建程序“P~SAVE”,代码请参考“程序代码分析”或附件。7.创建程序“P~LOAD”,代码请参考“程序代码分析”或附件。4.创建程序“PUSHBOX”,代码请参考“程序代码分析”或附件。8.创建程序“NUM~STR”,代码请参考“程序代码分析”或附件。实现撤消和恢复功能时,用于记录箱子移动情况1为了便于阅读和交流,笔者将由计算器转换成txt文件得出的代码加以修改并增加缩进,同时还添加了程4Else Lbl 1IfEndIfEndGoto 3While MStopMat I[1,1]→r0→P:0→QProg \If Mat A[X,Y]=2Lbl 2:0→L:Lbl 3If Mat I[1,1]:Then Mat I[1,3]=>Goto 2\6→Str 6DoL→r:Prog \Then Red Locate X-1,Y-1,Str 4Else Green Locate X-1,Y-1,Str 4LpWhile K=0'读取地图'显示搬运工Prog \Red Locate 8,4,\\6+\L<=0 Or L>Mat I[1,1]=>Goto 1Getkey→K'按键获取循环'Str 1记录的是墙的图案,Str 2记录的是目标位置的图案,Str 3记录的是箱子的图案,Str 4记录的是当前搬运工的图案,Str 5记录的四个方向的搬运工的图案'P记录最后一次箱子移动信息的储存位置,Q记录的是开始撤消时箱子移动信息的储存位置If Mat H[K,3]>=1 And Mat H[K,3]<=4:Then '判断计算器中是否存有地图'输入有误,再次询问'矩阵I的(1,1)记录的是总共有多少幅地图'用程序NUM~STR将地图数转换为字符串'字符串6用于游戏菜单标题的显示,提示当前关卡数'询问想要读取的关卡,提示关卡数范围'如果有游戏存档,则自动读取'M为剩余目标个数,不为0时,执行游戏循环'检测到按下了方向键5

VIP专享辽宁省沈阳市第十五中学2013年高中数学论文 图形计算器应用能力测试活动学生 图形计算器游戏推 

[前言][摘要][关键词][研究目的][程序功能说明]图形计算器;推箱子;辽宁省沈阳市第十五中学2013年高中数学论文图形计算器应用能力测试活动学生图形计算器游戏推箱子图1游戏截图图2编辑地图中游戏保存功能:玩家可以在游戏途中将游戏保存起来。按u或l打开游戏菜单(如图3),选择“Save&Exit”即可保存并退出游戏,下次运行程序时,程序将自动读取游戏存档。(如图4)观
推荐度:
点击下载文档文档为doc格式
5tb723ixhq4vbt01gdv99bpag891bi003zl
领取福利

微信扫码领取福利

微信扫码分享