1644| 0
|
【烟台】点阵屏教程(七)----流动的点阵屏(函数) |
在第二节中,我们提到了怎么样在点阵屏上一行一行、一列一列点亮点阵屏,当时,我们直接用循环语句来完成的,代码如下: 通过分板上面和程序我们可以看到它的横坐标和纵坐标是有规律变化的,我现在是让它一行8个点点亮8行,那么我要是让它一行5个点亮4行呢,或是一行10个小灯点亮28行呢,等等这些问题,再就是如果我是让它以红灯或黄灯或其它颜色的灯点亮呢,我是不是要将代码全部进行修改呢,其实不用的,我们可以使用函数 。 函数:给定一个数集A,假设其中的元素为x,对A中的元素x施加对应法则f,记作f(x),得到另一数集B,假设B中的元素为y,则y与x之间的等量关系可以用y=f(x)表示,函数概念含有三个要素:定义域A、值域C和对应法则f。 根据函数的定义,我们可将上面程序中除了初始化点阵屏以外的代码写成函数,因为纵坐标和横坐标都会有不同的变化,因此我们要设横坐标的变化为startX到endX,而纵坐标的变化设为startY到endY,颜色的值我们就设为color。我们并不需要函数有返回值,因此,我们在函数积木中找到因为里面有五个变量,因此我们要给函数添加五个参数,也就点击前面的小齿轮,出现如图所示我们可以向里面拖入五个参数并将其的名字改为startX,endX,startY,endY,color如图 这样我们再输入函数的名字。这样,这个函数代码就可写成如下: 我们在主程序中调用函数即可,比如说我让它每行显示6个显示7行蓝灯,那么程序我们只要这样写就行了 同样,我们只要将行列坐标进行一下调换原来的函数即可变成了列行函数。当然这个可以有多种变法,只要纵横坐标进行了调换就可以。例如一种可以是: 那么我们如果要让点阵屏上显示金字塔呢?为了塔尖最后是一个,我们最下层只能是7个。如图 根据上图,我们可能编写程序如下: 我们对照图分析下数据,我们会发现: 我们可以写成点亮每一行的函数: 而如果我们要点亮整个金字塔,我们就需要与底边联系上,这样我们想画多大的金字塔,只要设置好底边就可以了,根据上图分析我们可以写出调用点亮一行函数来点亮金字塔: 如果想要金字塔流动起来,在外面加上一层循环即可,程序如下: |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed