LabVIEW连连看课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩评定表

课程设计任务书

目录

1目的及基本要求 (1)

2 连连看设计原理 (2)

3连连看设计和仿真 (2)

3.1 主程序设计 (2)

3.2 子程序详细设计 (3)

3.3 设计中遇到的问题 (10)

4 结果及性能分析 (11)

4.1 运行结果 (11)

4.2 性能分析 (11)

参考文献 (12)

1目的及基本要求

虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器集成环境)是一种图形化的编程语言(又称G语言),它是由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。使用这种语言编程时,基本上不用写程序代码,取而代之的是程序框图。

虚拟仪器(VI) 的概念虚拟仪器[1](virtual instrument)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。上面的框图反映了常见的虚拟仪器方案。尽可能采用了通用的硬件,各种仪器的差异主要是软件。同时可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。

熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现电子时钟的设计和仿真。要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。

2 连连看设计原理

连连看是一种休闲游戏,当两个相同的图,可以使用三条线段连接,并且线段通过区域都为空(即,没有图)

3连连看设计和仿真

首先熟悉虚拟仪器的设计思想,而后便可着手进行连连看的相关设计,控件架构以及函数设置。具体设计步骤如下:

3.1 主程序设计

1.设计前面板

前面板模拟连连看的前面板,用于连连看的使用。由于虚拟面板直接面向用户,是连连看的核心。

图 1 前面板图

2.程序框图

图2 程序面板图3.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) 绘制路径

相关文档
最新文档