深入浅出游戏算法(3)-lua脚本(5)

循环语句

while 条件 do

    语句

end

比如:

a={1,2,-1,0,0,1,1,9,1,1,7,8,0,0}

i=1

while a[i] do

        if a[i]~=0 then

               print(a[i])

        end

        i=i+1

End

上述语句返回table中的非0元素。

repeat 

   语句

until 退出循环条件

麦好的AI乐园博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


比如:下面程序从第一个元素开始输出,如果遇到零就终止输出。

-a={1,2,-1,0,0,1,1,9,1,1,7,8,0,0}

i=1

repeat

        print(a[i])

        i=i+1

until a[i]==0

dp@dp:~ % lua wh.lua

1

2

-1

dp@dp:~ % 

for 变量=初始值,终止值,步长 do

   语句块

End

比如下列语句,隔一个元素输出

a={1,2,-1,0,0,1,1,9,1,1,7,8,0,0}

i=1

for i=1,#a,2 do

        print(a[i])

end

dp@dp:~ % lua wh.lua

1

-1

0

1

1

7

0

for也可用于迭代

dp@dp:~ % cat wh.lua

a={1,2,-1,0,0,1,1,9,1,1,7,8,0,0}

i=1

for k in pairs(a)  do

print(k)

End

dp@dp:~ % lua wh.lua

1

2

3

4

5

6

7

8

9

10

11

12

13

14

以及:

 dp@dp:~ % vim wh.lua

a={1,2,-1,0,0,1,1,9,1,1,7,8,0,0}

i=1

for k,v in ipairs(a)  do

        print(k.."==>"..v)

end

~        

dp@dp:~ % lua wh.lua

1==>1

2==>2

3==>-1

4==>0

5==>0

6==>1

7==>1

8==>9

9==>1

10==>1

break跳出当前块,return从当前块返回,可以带结果返回。

下面程序完成元素的累加,当元素累加超过10时,退出循环

a={1,2,-1,0,0,1,1,9,1,1,7,8,0,0}

i=1

sum=0

for k,v in ipairs(a)  do

        print(k.."==>"..v)

        sum=sum+v

        print("sum"..sum)

        if sum>10 then

                break

        end

end

~      

dp@dp:~ % lua wh.lua

1==>1

sum1

2==>2

sum3

3==>-1

sum2

4==>0

sum2

5==>0

sum2

6==>1

sum3

7==>1

sum4

8==>9

sum13

return一般用于函数返回结果,在下面将介绍

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值