LabVIEW连连看课程设计报告.docx
《LabVIEW连连看课程设计报告.docx》由会员分享,可在线阅读,更多相关《LabVIEW连连看课程设计报告.docx(13页珍藏版)》请在冰豆网上搜索。
LabVIEW连连看课程设计报告
成绩评定表
学生姓名
***
班级学号
*********
专业
通信工程
课程设计题目
连连看游戏设计
评
语
组长签字:
成绩
日期
20年月日
课程设计任务书
学院
信息科学与工程学院
专业
通信工程
学生姓名
***
班级学号
**********
课程设计题目
连连看游戏设计
实践教学要求与任务:
1.学习LabVIEW的虚拟仪器原理、设计方法和实现技巧;
2.掌握简单LabVIEW程序的编程实现;
3.掌握简单通信系统设计和分析方法;
4.采用Labview语言,实现连连看游戏设计。
(1)通过检索、查资料、调查研究、确定方案、画出组成系统结构方框图;
(2)采用LabVIEW实现连连看游戏设计系统;
(3)系统调试与改进,调整系统参数,分析系统运行结果;
(4)写出设计总结报告。
工作计划与进度安排:
20周(上):
学习LabVIEW虚拟仪器原理、设计方法和实现技巧,掌握简单LabVIEW程序的编程实现,掌握简单通信系统设计和分析方法。
20周(下):
采用LabVIEW语言,实现连连看游戏设计,并对系统进行性能分析。
指导教师:
201年月日
专业负责人:
201年月日
学院教学副院长:
201年月日
1目的及基本要求
虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的来完成各种测试、测量和自动化的应用。
灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。
这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。
只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器集成环境)是一种图形化的编程语言(又称G语言),它是由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。
使用这种语言编程时,基本上不用写程序代码,取而代之的是程序框图。
虚拟仪器(VI)的概念虚拟仪器[1](virtualinstrument)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
上面的框图反映了常见的虚拟仪器方案。
尽可能采用了通用的硬件,各种仪器的差异主要是软件。
同时可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现电子时钟的设计和仿真。
要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。
2连连看设计原理
连连看是一种休闲游戏,当两个相同的图,可以使用三条线段连接,并且线段通过区域都为空(即,没有图)
3连连看设计和仿真
首先熟悉虚拟仪器的设计思想,而后便可着手进行连连看的相关设计,控件架构以及函数设置。
具体设计步骤如下:
主程序设计
1.设计前面板
前面板模拟连连看的前面板,用于连连看的使用。
由于虚拟面板直接面向用户,是连连看的核心。
图1前面板图
2.程序框图
图2程序面板图
子程序详细设计
(1)连连看相同图消除判断
(a)Z型双节点连接是否成功
图3相同图消除程序框图
判断两点是否可以z型双折点相连。
条件:
在以两点为端点的矩形内存在全为零的行或列。
算法:
利用单折点相连算法,以其中一个为基准,在给定的矩形内逐个按行(列)找零点,并判断此零点能否与第二单折点连接,若能,则返回成功,否则继续寻找,直到遇到非零点,返回失败标志。
(b)单折点连接成功是否成功
判断第一点和第二点的位置关系决定线路输出的排列顺序。
判断行1列2元素是否为零:
若为零,分别替换宠物位置里第一和第二行元素并且判断能否直线相连。
若均可以直线相连,输出线路为行和列的叠加,但是有前后关系。
(c)直线连接是否成功
图4直线连接部分程序框图
判断两个相同的图直线连接是否成功。
(d)判断连线是否成功
图5连线程序框图
判断所连相同的图连线是否成功。
(e)点击点是否为空
图6点击点程序框图
判断此次点击的点位置—通过比较点击前后两个数组元素,不同的为新点击位置,判断宠物数组中点击位置是否为空白,若为空白,则本次点击无效(后续程序完成),否则,本次点击有效。
(f)显示可以连线成功的宠物
图7显示连线成功程序框图
点击后连线成功的宠物可以显示出来。
(g)获取点击位置
图8获取点击位置程序框图
获取两次点击数组元素的位置。
(2)宠物的移动
图9宠物移动程序框图
列向上移动,则先移动处于下方的元素。
(3)调整二维数组的顺序
图10调整二维数组程序框图
按行调整。
(4)关卡宠物处理
图11关卡宠物处理程序框图
初始关卡——不变化;第1关——向下;第2关——向左;第3关——上下分离;第4关——左右分离;第5关——上下集中;第6关——左右集中;第7关——上左下右;第8关——左下右上;第9关——向外扩散;第10关——向内集中。
(5)随机生成宠物
图12随机生成宠物程序框图
1、生成两个整数序列,一个(n1)为最终生成宠物数组的目标,另一个(n2)保存位置信息。
2、对n2数组随机取一个在其长度范围内的整数a,取出对应数组中的内容num后将此元素删除,表示以后不再选择此位。
3、随机生成一个宠物代号b,并将n1中第num位替换为b,一次循环中实现两次2,3步的操作,目的是始终产生的宠物成对出现。
4、当n2数组长度小于或等于0时,循环结束,本算法循环次数为行数×列数/2。
(6)高分排行榜
图13高分排行榜程序框图
游戏结束后,根据得分的高低进行排名,名次,排名和姓名均可输入。
(7)绘制路径
图14绘制路径程序框图
宠物路径行列互换。
(8)奖惩措施
图15奖惩措施程序框图
可是原来的生命,提示,得分,和时间改变。
能形成新的生命,提示,得分和时间。
这一系列可以根据个人喜好调节。
(9)提示可以连接成功的宠物
图16提示连接成功程序框图
当点击提示按钮的时候,会出现两个可消的宠物。
(10)重新排列宠物
图17重新排列宠物程序框图
设计中遇到的问题
由于是第一次进行LabVIEW的课程设计,缺乏相关的设计经验,因此一开始的时候确实无从下手。
但是经过老师和同学的指点,包括自己独立思考与查阅相关资料,我渐渐对这个软件熟悉了,并且觉得图形化编程的好处实在是非常多的。
设计期间,我确实遇到了许多的问题。
由于对编程软件的不熟悉,导致在找相关控件时花费了许多时间,而且常常找到的是错误的控件,这直接造成程序运行失误。
这一点在熟悉软件之后,好了很多。
其次,在熟悉设计原理的时候,由于对相关逻辑关系以及函数关系的不太熟悉,也绕了不少弯子。
后期,在总体完成连连看的设计后,基本功能都得到了实现,但是一直显得不太美观。
连连看功能很简单,实现起来也很简单,但要做得美观、简洁却不那么容易。
比如让其显示更多生动的字体,在一个小窗口里实现更多的动画。
程序要实现丰富的内容及完美的界面主要还是要靠扎实的基础,掌握各控件的使用及各类型的模块间的转换。
本来把本次课程设计的界面显示做成各种字体的,但由于时间及能力的关系,没有做得更好。
这一点很遗憾,但愿有机会可以弥补。
总体来说,设计过程遇到的问题不少,但是收获也更多。
通过这次课程设计,真正体验到LABVIEW的强大功能。
4结果及性能分析
运行结果
图18运行结果框图
性能分析
连连看玩法
连连看是一种休闲游戏,当两个相同的图,可以使用三条线段连接,并且线段通过区域都为空(即,没有图)。
初始关卡——不变化;第1关——向下;第2关——向左;第3关——上下分离;第4关——左右分离;第5关——上下集中;第6关——左右集中;第7关——上左下右;第8关——左下右上;第9关——向外扩散;第10关——向内集中。
参考文献
[1]labview入门与提高.赵品编著.人民邮电出版社.
[2]labview高级应用.赵品编著.人民邮电出版社.
[3]labview印刷电路板设计教程.肖玲妮编著.清华大学出版社
[4]labview完全自学手册.龙马工作室编著.人民邮电出版社虚拟仪器设计基础教程.黄松岭,吴静著.清华大学出版社,2008
[6]AMTLAB和LabVIEW仿真技术及应用实例.聂春燕,张猛,张万里著.清华大学出版社,2008
[7]测试工程与LabVIEW应用.戴鹏飞,王胜开,王格芳,马欣著.电子工业出版社,2006