Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "scripts/perlin"
- t=perlinGenerator:new();
- t:generateLookup(3);
- n=0
- m=0
- zoom=120;
- tpt.set_pause(1);
- oct=15
- res=.5
- function elemPick(x)
- elem=0
- if(x>0.71)then
- elem=tpt.element("SNOW")
- elseif(x>0.67)then
- elem=tpt.element("STNE")
- elseif(x>0.57)then
- elem=tpt.element("PLNT")
- elseif(x>0.55)then
- elem=tpt.element("SAND")
- else
- elem=tpt.element("WATR")
- end
- return(elem)
- end
- function river(x,y)
- posx=x;
- posy=y;
- for i=0,200 do
- val=t:perlinOctave(posx/zoom,posy/zoom,oct,res);
- print(val,posx,posy)
- repeat
- posxn=posx+math.floor(math.random(-1,2))
- posyn=posy+math.floor(math.random(-1,2))
- nval=0.0;
- nval=t:perlinOctave(posxn/zoom,posyn/zoom,oct,res)
- until(nval<=val)
- sim.createLine(posx,posy,posxn,posyn,0,0,tpt.element("WATR"),0,1,1);
- posx=posxn;
- posy=posyn;
- end
- end
- while(n<382)do
- while(m<611)do
- x=m/zoom;
- y=n/zoom;
- num=(t:perlinOctave(x,y,oct,res)+1)/2;
- if(num>0)then
- index=tpt.create(m,n,elemPick(num));
- --sim.partProperty(index,"dcolour",RGBToCol(num,num,num))
- sim.decoBox(m,n,m,n,num*255,num*255,num*255);
- end
- m=m+1;
- end
- n=n+1;
- m=0;
- end
- n=0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement