当前位置:首页 >> 数学 >>

2013年高中数学论文 图形计算器应用能力测试活动学生 论图形计算器上的扫雷游戏编程

2013 年高中数学论文 图形计算器应用能力测试活动学生 论图形 计算器上的扫雷游戏编程 刚开始接触到图形计算器时,我便被它的编程功能吸引住了,虽然它的可编程性略有不 足,但依然可以激发出我极大的兴趣。于是乎,通过反复尝试,终于编出这一款不是很完 美的扫雷游戏。 下面来介绍一下主要的程序原理: 1.扫雷界面的绘制 由用户输入方格大小后,由于本人时间、技术的问题,只好用直线代替: for 0→x to hang (列数) for 0→y to hang (行数) line 0,x ,hang,x line y,0,y,hang next next 这是我的解决方法。 2.设雷 这是一个非常烦的问题,因为图形计算器中并不提供数组功能,为此用一个比较大的函 数来储存它: for 1→x to hang for 1→y to hang strjoin10,ku next next;库的初始化 for 0→lei to leishu(雷的数量) rand(hang)→xi rand(hang)→yi 2*(xi-1)*hang+(yi-1)→shua ChrtoNum ku,pan,shua if pan=48 then strleft ku,(shua-1),left strright ku,(2*(hang^2)+1-shua),right strjoin left,1,lef strjoin lef,right,ku else lei-1→lei ifend next 3.检测输入的位置: 可以用 while 语句来弥补 getpen 的不足: 0→x 0→y while x=0 and y=0 1 getpen x,y whileend int((x*hang/156)+1)→x int((y-131)*hang/78+1)→y 4.检测周围的雷数目 这一段程序有很多不足,欢迎建议: ChrtoNum ku,te,2(hang*y+x-1)+1 If te=49 then printnature,“youlose” else 0→n for x-1→xi to x+1 for y-1→y to y+1 if yi>0 and yi≤hang and xi>0 and≤hang then ChrtoNum ku,te,2(hang*yi+xi-1)+1 if te=49 then n+1→n ifend ifend next next ifend 最后 print 到指定位置就行了 由于图形计算器的计算速度有限建议将此程序预处理: 将其放在标完雷后,去第一个 if,加入: for 1→x to hang for 1→y to hang ? ? next next 5.关于文字在对应区块的显示: Text int((156/hang)(x-0.5)),int((78/hang)(y-1)),文字 6.关于输赢的判断: 我采用的是对标对或错的雷进行统计,通过建立一个标错雷的记录函数,方法参照上 文 2 的方法 if 标雷(某个函数)=开(1) check= 正确(1) then leiyib+1→leiyib elseif 标雷(某个函数)=开(1) check=错误(0)曾标错=错误(0) then 2

更多相关标签: