raptor可视化编程

raptor可视化编程

ID:18373713

大小:138.00 KB

页数:15页

时间:2018-09-17

raptor可视化编程_第1页
raptor可视化编程_第2页
raptor可视化编程_第3页
raptor可视化编程_第4页
raptor可视化编程_第5页
资源描述:

《raptor可视化编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机应用技术基础西安交通大学软件学院加入能量守恒的生命游戏Raptor编程:能量守恒的生命游戏作者:软件33任然一,问题的由来本作业的灵感是来自我在百度百科上阅读的一篇小论文,该文作者以能量的方式阐述了生命的由来,让我不禁眼前一亮,联系到老师给我们示范的生命游戏的Raptor程序,我便有了这个加入能量守恒定律规定生命游戏的想法,并付诸于实现。二,规划方案首先,该算法是基于生命游戏的一个衍生程序,所以我查找了有关生命游戏的Raptor程序,并进行了研究,改进(这里要感谢程亮同学给我提供的一个参考)。该算法最困难的地方在

2、于能量守恒和检测每一单元能量值的部分。对此,我打算采用二维数组,以及循环嵌套的方法来完成。另外关于界面交互方面,我打算用简洁明了的方式展现,是同学们在第一次试运行时可以轻松上手。在能量守恒方面,我决定使用数组的方法,给初始单元所在数组赋予一定能量值,并采用了平均分配的方法,即一个单元在每一次循环中拿出它一半的能量平均分配给其周围八个单元,这样就有了能量的传递。在显示方面,我设置了一个阈值,只有当单元所含能量值大于该阈值,该单元才会显示,这样就有了新单元的生成。能量不断的被传递,伴随而来的便是不断地有新的单元显示和旧的单

3、元消失。而每个单元类似于一个生命,这也就有了生命的变化。三,实施并解决问题1,实践前期在实践前期,用户交互部分完成较为顺利,在获取鼠标坐标显示单元部分,由于对循环程序运行不够明了,使得坐标获取后无法及时运行下一步算法,最终我采用了Wait_For_Mouse_Button(Left_Button)函数使问题解决。(如图-4,图-5,图-8)2,实践中期在实践中期,由于能量守恒定律的加入,使该程序需要两次循环检测,第一次是分配能量,第二次是判断该单元是否显示并完成显示和消失。因为检测有前后顺序,前面单元能量分配会影响到后

4、面单元能量的分配,使整体图形向右偏移,所以我采用了双数组的形式yearsmortgagehousing;4.mortgageregistrationformalitiesarecompleted.(D)pledge1.borrower(includingthepledgor)between18-65yearsofage,withfullcivilcapacity;2.collateral15计算机应用技术基础西安交通大学软件学院,将单元初始值赋给第一个数组,将分配的能量值赋给第二个数组,等分配完毕后再将第二个数组的值加

5、给第一个,然后将第二个数组归零,这样就巧妙的解决的图像右移的问题。(如图-11,图-13)在能量赋值上,因为用户界面一共有3600个单元,我预设的阈值为30,所以要使全部单元都显示则一共需要108000的能量值,所以我给每个初始单元赋给了5000的能量值,这个结果是通过实验试出来的,如果愿意,可以自己更改。在将第二个数组归零中,我开始是等整个运算完成后,在用循环结构将其归零,但发现这样增加了许多无用的步骤,使运行速度大幅度变慢。最终,我将归零步骤放在第一次循环中,解决了这个问题。(如图-13)另外,由于双循环的存在使程

6、序运行速度变慢,并且调用函数会使速度大大降低,为了减少函数调用的次数,我引入了第三个数组,将前一次显示的单元对应的地址赋予1,不显示的单元赋予0,在第二次循环完成显示与消失时可以减少调用填色的函数,在实际运行时,这一设置发挥了明显的作用。(如图-8,图-13,图-14,图-15)还有一个小细节,由于Raptor程序设定的因素,如果赋给数组的值小于其设定值,程序会显示错误,因此,我在分配能量中,对单元能量值得判断不是“是否大于一”,而是是否“大于十的负五次方”。在这种设置下,能量的分配或许会有一点小误差,但由于数量级很小

7、,可以忽略不计。(如图-10)3,实践后期在制作后期,主要是界面优化,利用图片处理软件,得到预期想要的样式,由于Raptor不能输入汉字,所以采用这种图的形式效果最好。然后将图填入,并利用鼠标坐标获取函数,得到有关位置(如“开始”,“说明”,“退出”等)的坐标范围,利用这些坐标范围进行后续有关程序是否运行的判断。期间,为了加入“说明”中“返回”这个功能,我加入了循环,并给与了player三个值进行判断,使其可以无限次的返回。(如图-1,图-6,图-11)一,回顾与思考回看整个程序,会发现在分配能量和检测单元能量值是否超

8、过阈值的部分占用了大部分的运行时间,由于随着能量的分配范围的扩大,无法确定哪些地方没有能量,所以我采用了蛮力法,但这样使运算时间大大加大,所以我想,有没有一种算法可以在这种情况下对数组进行迅速判断,节省运行步骤,缩短时间。并且,因为能力的关系,在用户界面方面,仍旧感觉有些呆板,不够生动,灵活。在运行过程中单元的形式很简单。但我觉得

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。