- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图形计算器应用能力测试活动学生 用ClassPad 330编制一个炮弹小游戏
前一段时间在学校的触屏电脑上经常有人玩一种叫“TNT”的弹射类游戏,其基本原理就是通过模拟物理中的抛物线模型,用“炮弹”轰击对方以取胜。虽然在这款游戏中有很多的附加元素,但基本原理比较简单。用ClassPad 330可以编写出这样的程序,唯一的缺陷就是画面不够精美。虽然在计算机上可以之间编制程序,但是在ClassPad 330上编程序可以在繁杂的作业之中放松,很方便。由于我自己没有专门学过编程,所以所用的一些语法和思路都是比较原始简单的。
基本原理
图形的输出可以用locate语句实现,如[locate 1,1,●]表示在(1,1)位置放置一个●图标。这里面的坐标系是以左上角为远点,向右为x轴正方向,向下为y轴正方向建立的。
需要输入的参数有三个:出射高度、初速度、角度。这个可以用input语句实现
需要随即一个目标靶子,靶子的坐标可以用随机函数给出并限定其范围。
忽略空气阻力影响,炮弹的横向速度不改变,只由于重力改变纵向速度。因此相同的时间间隔内炮弹的横坐标变换量相同。所以可以通过for语句来不断给出炮弹的横坐标,反推炮弹的飞行时间,再通过飞行时间推炮弹的纵坐标
由于游戏中没有单位,所以重力加速度不一定为g,且为了明显地在初始视框内体现抛物线,可以对横纵坐标进行一定的比例放大或者缩小。
程序编制
先建立一个给定参数可以发射炮弹的程序
打开Program应用,创建一个新的程序,程序名为paoshe。
首先测定初始视框的范围,不断用locate语句尝试,得出视框横向约为140单位,纵向约为75单位。(在不点击resize的情况下)
首先建立初始的炮台,炮台由上面的一个炮弹●和下面的发射架■组成。
输入:
ClrTest
Locate 1,73,■
Locate 1,70, ●
pause
输入参数,由于计算器默认设置为弧度制,而输入时角度制更为直观,所以在内部加上一个角度制转换弧度制的语句。并在输入完成后等待1s,将发射架移至给定高度的发射点
输入:
Input h, gao du?
Input ,jiao du?(jiao du zhi)
/180*
Input v, chu su du?
Wait 1
ClrTest
Locate 1,70-h, ■
Locate 1,67-h, ○
理论推导抛物线的方程;
根据此式
输入:
For 10x to 130 step 10
x/v/cos()t
v*t*sin()-0.5*10*t^2y
70-h-yy
Locate x,y, ⊙
Next
由于classpad的运算速度比较小,所以每次循环的间隔时间刚刚好,若在电脑中则要添加一个wait:
Wait .5
将上述代码输入后测试,以高度为10,角度为45度,初速度为1测试,得到的轨迹不但没有呈现抛物线上升的一段,且很快出现error对话框提示Incorrect Argument。经过大量测试,发现并不是语法错误,而是当locate语句中的坐标值小于1或大于290时便无法输出。因此要对代码中的参数比例进行修改。将x缩小为原来的十分之一,将刚开始算出的变化量的y值放大为原来的十倍,之后修改a值以使在测试情况下抛物线的对称轴尽量在屏幕中央(x=70):得出a为14。
将 5)中语句修改为
For 10x to 130 step 10
x/10/v/cos()t
v*t*sin()-0.5*14*t^2y
10yy
70-h-yy
Locate x,y, ⊙
Next
继续测试,发现有些情况下炮弹会飞出“天”——计算出的纵坐标y小于1了,此时应判定为失败,同时在y坐标大于290时也会出现意外情况。且若y大于80,就无法命中靶子了,所以在现有基础上加上两个jump语句和两个if条件语句以判断。同时为防止如角度大于90,初始高度大于70之类的情况,再在输入数据后加一个判断。
这一部分最终输入:
ClrTest
Locate 1,73, ■
Locate 1,70,●
Locate 70,35, welcome!
Pause
Lbl q1
Input h, gao du?
Input ,jiao du?(jiao du zhi)
Input v, chu su du?( suggested 1)
If h0 or h70 or θ0 or θ90 or v300000000
Then
Message ARE YOU KIDDING ME!?
IfEnd
/180*
Wait 1
ClrTest
Locate 1,70-h, ■
Locate 1,67-h, ○
For 10x to 130 step 10
x/10/v/cos()t
v*t*sin(
您可能关注的文档
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题10《圆锥曲线》(原卷版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题11《复数》(解析版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题11《复数》(原卷版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题12《立体几何》(解析版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题12《立体几何》(原卷版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题13《排列组合、二项式定理》(解析版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题13《排列组合、二项式定理》(原卷版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题14《概率和统计》(解析版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题14《概率和统计》(原卷版).doc
- 2014届上海高三数学(文)名校试题分类汇编:第三期专题15《推理与证明、新定义》(解析版).doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《用卡西欧计算器探究入耳式耳机对耳朵的伤害初探》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《用快速傅立叶变换实现多项式乘法》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《用图形计算器解决三次函数单调性问题》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《圆的斜二测画法》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《张明凯加密算法》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《直挂云帆济沧海》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《植物大战僵尸之贰》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《指数函数与对数函数交点个数的研究》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《中国航天》.doc
- 2014年辽宁沈阳第十五中学高三数学论文:《图形计算器应用能力测试活动》一《中秋节对航空交通的影响》.doc
文档评论(0)