美文网首页
变量以及循环

变量以及循环

作者: 吴柳燕 | 来源:发表于2017-04-25 18:39 被阅读0次

    前言: 发现了吧,数据结构还有个 Function 没讲。这个我们会在后面单独拿出来精讲。


    变量与函数

    一下是Lua的官方解释

    编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值。
    Lua 变量有三种类型:全局变量、局部变量、表中的域。
    Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。
    局部变量的作用域为从声明位置开始到所在语句块结束。
    变量的默认值均为 nil。

    再来解释下变量的作用。

    假设我们做好了一个游戏,创建了个人物,所以我们需要富裕它生命

    life = 100

    假如人物受伤了,我们就该扣除它的生命

    life = 100
    life = life - 10

    哈,发现问题了吧。

    程序运行后使Life为100,跳到下一行后立即-10变成90.也就是无论什么时候life都为90.

    变量以及循环

    什么?Life一来就90,还怎么玩?


    那么假如我们这样写呢

    life = 100
    if (被打到了) then
    life = life - 10
    end

    这里用到了If do

    如果你上过初中的话你肯定知道If是如果的意思,then是然后的意思。那么上面的程序就可以翻译为 如果被打到了,生命-10(end 代表语句结束)

    没毛病吧,但是,如果我们要改变扣血的大小。我要让它扣50.

    然而这段if在5000行代码的某一行,life这个变量也被引用了5000词。你去哪里改。

    [你可能会说 我找,慢慢找,直到找到这句┏(`ー´)┛┏(^0^)┛:]

    -_-#

    这时我们便可以引用函数这一看似高深的东西

    个人认为函数就如同一个盒子,里面装着各种独立的东西,变量,常量,别的盒子……

    我们可以这样来创造一个函数

    function 函数名(x)
    函数体
    end

    * 函数名是你给函数取的名字

    * 函数体就是函数内要进行的操作

    * "x"为函数的参数

    * 函数最后部分一定加end

    所以我们可以将代码这样改:

    function life_del()
    life = life - 10
    end
    function game()
    a = 1
    life = 100
    if a == 1 then
    life_del()
    end
    end
    game()

    哈,是不是清晰多了啊。


    来个实战┏(^0^)┛

    「创建一个函数,比较两个参数的大小,并且输出最大的那个数」


    我们先创建这个函数,因为是比较两个数字,所以我们让它带两个参数。

    function bigger(num1, num2)

    开始比较

    如果num1比num2大, 那么输出num1

    否则(num2比num1大或者num1等于num2)输出num2

    <觉得自己讲流程控制和循环可能讲不好,所以这一类的教程给出地址>

    http://www.runoob.com/lua/lua-loops.html

    http://www.runoob.com/lua/lua-decision-making.html

    所以这样写

    if (num1 > num2) then
    print(num1)
    else
    print(num2)
    end

    最终的代码如下

    function bigger(num1, num2)
    if (num1 > num2) then
    print(num1)
    else
    print(num2)
    end
    end
    bigger(2, 4)
    bigger(5, 5)

    看看看的明白不┏(`ー´)┛

    相关文章

      网友评论

          本文标题:变量以及循环

          本文链接:https://www.haomeiwen.com/subject/yztbzttx.html