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

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

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

[前言] [摘要][关键词][研究目的][程序功能说明]图形计算器;贪吃蛇;有墙模式下,蛇头碰到四面的墙(即显示的边界)或蛇身时,游戏结束。辽宁省沈阳市第十五中学2013年高中数学论文 图形计算器应用能力测试活动学生 图形计算器游戏贪吃蛇图 1图 2最高分记录功能:本程序能记录蛇长度的最长纪录,并在游戏结束的时候显示纪录长度和此次游戏的蛇的长度。(如图2)利用图形计算器的编程功能,在图形计算器上实现贪吃蛇游戏,从而锻炼编程能力和算法能力,同时增强了CASIO图形计算器的娱乐功能,丰富同学们的课余生活。 观察过以前的获奖论文,大多数的论文只利用到图形计算器的画图功能和小部分的编程功能。图形计算器编程功能的强大之处并未充分体现出来,而本文正是利用了图形计算器强大的编程功能,从而在图形计算器上实现了贪吃蛇游戏。游戏功能:玩家通过CASIO图形计算器fx-CG20上的按键B、N、!和$或数学键2、4、6和8控制蛇在地图上寻找食物,每吃下一个食物时,蛇的长度增加一,同时出现另一个食物。本程序有两种游戏模式,一种为有墙模式,另一种为无墙模式。无墙模式下,只有在蛇头碰到蛇身的情况下游戏才会结束,如果蛇头到达了屏幕的边界,蛇头会在屏幕的另一边出现。(如图1) 利用图形计算器的编程功能,在CASIO fx-CG20图形计算器平台上实现了贪吃蛇游戏。本文中的程序利用了图形计算器中的矩阵来储存数据,通过模拟法实现贪吃蛇游戏,有两种游戏模式,并提供游戏的最高分记录、保存和设置功能。12.特色:图 5图 31.图 6图 4[研究过程]保存功能:玩家可以在游戏中途按p键可暂停游戏,玩家可以选择“Save game&Exit”(保存并退出游戏),或者“Continue”(继续游戏)。(如图3)下次运行程序时,选择“Load”即可继续上次保存的游戏。(如图4)2.本程序共提供 8种蛇身颜色设置,其中玩家可以将蛇身颜色设置为“Colorful”(彩色),设置后游戏过程中的蛇身颜色将由伪随机数决定,呈现出“彩蛇”的效果。 (如图6)构思算法:确定程序功能,请参考“程序功能说明”。1.本程序提供的所有蛇头和蛇身图案都是由具有方向性的图案组成的。游戏过程中,蛇头始终指向前进方向,蛇身始终沿蛇身指向蛇头方向。(如图6)设置功能:运行程序并选择“Set”(如图4)可进入本程序的设置界面,玩家可以改变蛇头(Head)或蛇身(Body)的图案、改变蛇身颜色(Color)、切换游戏模式(Wall)或者返回主菜单(Exit)。(如图5)需要记录的数据:蛇头坐标、蛇尾坐标、蛇头前进方向、蛇尾前进方向、食物坐标、蛇身长度、设置数据(颜色、游戏模式及图案设置数据)、地图本程序采用的主要算法为模拟法,程序运行时利用矩阵功能储存地图,使用“Locate”命令显示蛇头和蛇身。地图记录方法:用一个21×8的矩阵保存地图,一个矩阵元素对应屏幕上的一个方格。如果方格为“空”,则用对应的矩阵元素用“0”表示;如果方格上有蛇身,蛇身没有拐弯的地方,用“2”表示,拐弯的地方,用“-1”或“1”表示(具体取决于拐弯的方向)。2按键检测方法:使用“Getkey”命令获取按键后,因为该命令返回的数值最大为79且一定为正整数,所以创建一个79×3的矩阵Mat H来判断按键。通过读取Mat H[K,3](K为“Getkey”命令的返回值)即可立即判断按键是否有效。若按键有效,则可以非常方便地利用矩阵储存的数据来修改蛇头方向和图案,缩短了代码长度。蛇的实现:蛇前进时,用蛇身图案覆盖蛇头,在蛇头前进方向前一格的位置显示蛇头图案,同时用空格覆盖蛇尾。这样蛇就“前进”了一格。如果蛇头覆盖了食物(游戏保存的实现:将“需要记录的数据”用另一个矩阵保存下来即可。即吃下食物),不用空格覆盖蛇尾,则在游戏中显示的蛇会变长一格。3.使用图形计算器编程实现。4.进行程序调试。5.游戏试用。具体实现步骤如下:1.打开图形计算器,按1进入“计算·矩阵”模式。2.按e进入矩阵存储器。并创建矩阵:矩阵名尺寸用途Mat A21×8程序运行时记录地图信息Mat F21×8保存游戏存档信息Mat B6×1记录最高分及游戏设置信息Mat H79×3用于按键判断将Mat B的(3,1)、(5,1)和(6,1)初始化为1,其余矩阵元素为0。Mat H的初始化:第27行为1,0,2;第28行为0,-1,1第37行为0,1,3;第38行为-1,0,4第53行为1,0,2;第62行为0,1,3第64行为0,-1,1;第73行为-1,0,4其余矩阵元素为0。3.返回主菜单,进入“程序”模式。4.创建程序“SNAKE”,代码请参考“程序代码分析”或附件。5.创建程序“S~LOAD”,代码请参考“程序代码分析”或附件。37.6.Lbl 8IfEndGoto 8\ 3Fill(0,Mat A)'食物图案Lbl 1:ClrTextMat B[3,1]→RMat B[4,1]→Q'_Mat _A,B,F,H[程序代码分析]1If Mat F[1,8]:Then Lbl 3:Prog \'ProgramMode:RUN一、主程序SNAKEStrMid(Str 5,2,1)→Str 1StrMid(Str 4,2,1)→Str 2StrMid(Str 7,Mat B[6,1],4)→Str 5StrMid(Str 7,Mat B[5,1],4)→Str 4'初始化地图序注释。如需将代码导入计算器中,请参见附件。创建程序“S~SET”,代码请参考“程序代码分析”或附件。创建程序“S~PAUSE”,代码请参考“程序代码分析”或附件。Else Menu \'读取最近一次游戏设置图 7'判断是否有存档,据此显示不同的菜单Menu \'初始化Str 1,Str 1保存当前方向的蛇头图案'Str 5保存蛇头四个方向的图案'Str 4保存蛇身四个方向的图案'初始化Str 2,Str 2保存当前方向的蛇身图案1为了便于阅读和交流,笔者将由计算器转换成txt文件得出的代码加以修改并增加缩进,同时还添加了程\69D__#E69A__#E5EE__#E5ED__#E5EF__#E5EC__#E6C4__#E6C2__#E6C3__#E6C1__#E6CF_>_#E6CE_<\ 7'字符串7包含可供设置的所有字符,由于计算机中没有这些字符,请见图74DoNext5→LLbl 2Goto 4While 1RanInt#(1,7)→N2→Mat A[I,1]RanInt#(1,21)→M'L记录蛇的长度WhileEndWhileEndLbl 4:0→KFor 1→I To 5Prog \Locate M,N,Str 3While NotGetkeyWhile NotGetkeyFor 1→I To 50:NextLpWhile Mat A[M,N]1→C:0→D:1→E:0→F1→S:1→T:5→G:1→HLocate 1,1,Str 2+Str 2+Str2+Str2+Str 1Do'游戏循环'K记录最近一次按键,程序有多次Getkey是为了提高按键反应灵敏度Getkey→X:X=>X→K'显示食物'生成第一个食物,M和N记录食物坐标'按键检测及使蛇前进的循环'短时间延时,按任意键即可以开始游戏'调用程序“S~LOAD”读取存档'S和T记录蛇尾坐标,G和H记录蛇头坐标'修改K之前先判断是否检测到按键,以防之前获得的按键被覆盖'C和D记录蛇头前进方向,E和F记录蛇尾前进方向If R=1:Then Locate G,H,Str 2'根据游戏设置选择显示蛇身的颜色或生成随机数决定蛇身颜色,用蛇身图案覆盖当前的蛇头5

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

[前言][摘要][关键词][研究目的][程序功能说明]图形计算器;贪吃蛇;有墙模式下,蛇头碰到四面的墙(即显示的边界)或蛇身时,游戏结束。辽宁省沈阳市第十五中学2013年高中数学论文图形计算器应用能力测试活动学生图形计算器游戏贪吃蛇图1图2最高分记录功能:本程序能记录蛇长度的最长纪录,并在游戏结束的时候显示纪录长度和此次游戏的蛇的长度。(如图2)利用图形计算器的编程功能,在图形计算
推荐度:
点击下载文档文档为doc格式
8hr6h3kef605ej21u0rq9kfa25180i00k7j
领取福利

微信扫码领取福利

微信扫码分享