这节教程主要讲解食物的生成。
先上代码:
和之前教程的代码相比增加的东西很少,这里添加了一个变量index,一个函数foodInit(),一个table叫做food。
首先讲解foodInit()这个函数的作用。可以看到在这个函数里面定义了一个possible,初始化为true,之后有3个嵌套的for循环,这3个嵌套的for循环作用是:遍历游戏窗口里每一个网格(我们的游戏是有不可视的网格的,代码里可以看出来),判断每一个网格是否存在蛇体,如果存在,就让possible为false,否则,就把这个网格的信息放在food里面。3个for循环遍历完后,我们就得到了除了蛇存在的地方外的所有网格信息。love.math.random(0,#food)作用是取0,#food的随机数。把它存储在index里面。
现在index就是一个随机值,首先在load()函数里面调用它,之后在draw的时候,食物就会随机生成。
本期教程到这里结束,如果你有任何疑问,欢迎在评论区讨论,或者私信我,喜欢本教程的请关注,点赞,收藏,转发,谢谢。