高中数学论 图形计算器 图形计算器游戏贪吃蛇

高中数学论 图形计算器 图形计算器游戏贪吃蛇
高中数学论 图形计算器 图形计算器游戏贪吃蛇

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

[摘要]

利用图形计算器的编程功能,在CASIO fx-CG20图形计算器平台上实现了贪吃蛇游戏。本文中的程序利用了图形计算器中的矩阵来储存数据,通过模拟法实现贪吃蛇游戏,有两种游戏模式,并提供游戏的最高分记录、保存和设置功能。

[关键词]

图形计算器;贪吃蛇;

[前言]

观察过以前的获奖论文,大多数的论文只利用到图形计算器的画图功能和小部分的编程功能。图形计算器编程功能的强大之处并未充分体现出来,而本文正是利用了图形计算器强大的编程功能,从而在图形计算器上实现了贪吃蛇游戏。

[研究目的]

利用图形计算器的编程功能,在图形计算器上实现贪吃蛇游戏,从而锻炼编程能力和算法能力,同时增强了CASIO图形计算器的娱乐功能,丰富同学们的课余生活。

[程序功能说明]

游戏功能:玩家通过CASIO图形计算器fx-CG20上的按键B、N、!和$或数学键2、4、6和8控制蛇在地图上寻找食物,每吃下一个食物时,蛇的长度增加一,同时出现另一个食物。本程序有两种游戏模式,一种为有墙模式,另一种为无墙模式。

有墙模式下,蛇头碰到四面的墙(即显示的边界)或蛇身时,游戏结束。

无墙模式下,只有在蛇头碰到蛇身的情况下游戏才会结束,如果蛇头到达了屏幕的边界,蛇头会在屏幕的另一边出现。(如图1)

图 1

图 2

最高分记录功能:本程序能记录蛇长度的最长纪录,并在游戏结束的时候显示纪录长度和此次游戏的蛇的长度。(如图2)

保存功能:玩家可以在游戏中途按p键可暂停游戏,玩家可以选择“Save

game&Exit”(保存并退出游戏),或者“Continue”(继续游戏)。(如图3)下次运行程序时,选择“Load”即可继续上次保存的游戏。(如图4)

3 图 4

设置功能:运行程序并选择“Set”(如图4)可进入本程序的设置界面,玩家可以改变蛇头(Head)或蛇身(Body)的图案、改变蛇身颜色(Color)、切换游戏模式(Wall)或者返回主菜单(Exit)。(如图5)

图 5

图 6

特色:

1.本程序提供的所有蛇头和蛇身图案都是由具有方向性的图案组成的。游戏过程中,蛇头始终指向前进方向,蛇身始终沿蛇身指向蛇头方向。(如图6)

2.本程序共提供 8种蛇身颜色设置,其中玩家可以将蛇身颜色设置为“Colorful”(彩色),设置后游戏过程中的蛇身颜色将由伪随机数决定,呈现出“彩蛇”的效果。(如图6)

[研究过程]

1.确定程序功能,请参考“程序功能说明”。

2.构思算法:

本程序采用的主要算法为模拟法,程序运行时利用矩阵功能储存地图,使用“Locate”命令显示蛇头和蛇身。

需要记录的数据:蛇头坐标、蛇尾坐标、蛇头前进方向、蛇尾前进方向、食物坐标、蛇身长度、设置数据(颜色、游戏模式及图案设置数据)、地图

地图记录方法:用一个21×8的矩阵保存地图,一个矩阵元素对应屏幕上的一个方格。如果方格为“空”,则用对应的矩阵元素用“0”表示;如果方格上有蛇身,蛇身没有拐弯的地方,用“2”表示,拐弯的地方,用“-1”或“1”表示(具体取决于拐弯的方向)。

游戏保存的实现:将“需要记录的数据”用另一个矩阵保存下来即可。

按键检测方法:使用“Getkey”命令获取按键后,因为该命令返回的数值最大为79且一定为正整数,所以创建一个79×3的矩阵Mat H来判断按键。通过读取Mat H[K,3](K为“Getkey”命令的返回值)即可立即判断按键是否有效。若按键有效,则可以非常方便地利用矩阵储存的数据来修改蛇头方向和图案,缩短了代码长度。

蛇的实现:蛇前进时,用蛇身图案覆盖蛇头,在蛇头前进方向前一格的位置显示蛇头图案,同时用空格覆盖蛇尾。这样蛇就“前进”了一格。如果蛇头覆盖了食物(即吃下食物),不用空格覆盖蛇尾,则在游戏中显示的蛇会变长一格。

3.使用图形计算器编程实现。

4.进行程序调试。

5.游戏试用。

具体实现步骤如下:

1.打开图形计算器,按1进入“计算·矩阵”模式。

2.按e进入矩阵存储器。并创建矩阵:

矩阵名尺寸用途

Mat A 21×8 程序运行时记录地图信息

Mat F 21×8 保存游戏存档信息

Mat B 6×1 记录最高分及游戏设置信息

Mat H 79×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”,代码请参考“程序代码分析”或附件。

6.创建程序“S~PAUSE”,代码请参考“程序代码分析”或附件。

相关主题
相关文档
最新文档