今天来讲一下 worldgen_main.lua
顾名思义,这个文件就是用来构建世界的,里面定义了许多的基本函数
第一行:
package.path = package.path ..";scripts/?.lua"
规定了lua模块的载入路径,关于package.path 在《lua程序设计》里有说,我就不多说了。
下面两行,用来取随机数种子:
--SEED = 372000
if SEED == nil then
SEED= getrealtime()
end
什么是随机数种子?
计算机并不能生成真正的随机数,它提供的随机数函数其实是一个周期很长的函数,用来产生伪随机数。它这个函数接受一个参数,就是我们所说的随机数种子。当种子相同时,它生成的随机数列也相同,所以要生成随机数,这个种子的取用应不同,通常取当前系统的时间,就像饥荒里的一样。
所以,当SEED 为固定的一个值时,它生成的地图是一样的。
紧接着,在这个文件里,又定义了两个函数,loadfn和loadfile 因为在饥荒设计时,为了安全或者其他原因,程序员把这两个函数重新定义,以方便调式。
注:在饥荒里没有fopen函数。
后面就是导入了一些文件,然后定义了与时间有关的几个函数,
function GetTickTime() –获取滚动时间
function GetTime()