X-Git-Url: https://deadsoftware.ru/gitweb?p=cavedroid.git;a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2FWorldGen.java;h=974cef4d39fd073bbabd9be170f2e3e89a76e50b;hp=bf9eadf8cb3f81847f6cca80f0e5a4ac1287e18b;hb=bea2a3c5b967bcd90ccd83e08e833d58449e963a;hpb=7f1f702250f9cd05c1d7f5492e09ba16a56270ae diff --git a/core/src/ru/deadsoftware/cavecraft/game/WorldGen.java b/core/src/ru/deadsoftware/cavecraft/game/WorldGen.java index bf9eadf..974cef4 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/WorldGen.java +++ b/core/src/ru/deadsoftware/cavecraft/game/WorldGen.java @@ -1,6 +1,5 @@ package ru.deadsoftware.cavecraft.game; -import com.badlogic.gdx.Gdx; import com.badlogic.gdx.math.RandomXS128; import com.badlogic.gdx.utils.TimeUtils; @@ -22,51 +21,52 @@ public class WorldGen { bMap = new int[width]; int t; res[0] = mid; - for (int i=1; i-3 && t<3) t=0; else t/=Math.abs(t); - if (i>width-(max-min)) { - if (res[i-1]+tres[0]) t=-Math.abs(t); + for (int i = 1; i < width; i++) { + t = rand.nextInt(7) - 3; + if (t > -3 && t < 3) t = 0; + else t /= Math.abs(t); + if (i > width - (max - min)) { + if (res[i - 1] + t < res[0]) t = Math.abs(t); + else if (res[i - 1] + t > res[0]) t = -Math.abs(t); } - res[i] = res[i-1] + t; - if (res[i]max) res[i] = max; - if (i>=width/2) { - bMap [i] = 1; + res[i] = res[i - 1] + t; + if (res[i] < min) res[i] = min; + if (res[i] > max) res[i] = max; + if (i >= width / 2) { + bMap[i] = 1; if (res[i] < 60) res[i] = 60; } else { bMap[i] = 0; } } - if (res[0]2 && x 2 && x < width - 2) { + if (foreMap[x][height - hMap[x] - 1] == 0 && foreMap[x][height - hMap[x]] == 2) { switch (rand.nextInt(50)) { case 0: genOak(x, height - hMap[x] - 1); break; case 1: - foreMap[x][height-hMap[x]-1] = 26; + foreMap[x][height - hMap[x] - 1] = 26; break; case 2: - foreMap[x][height-hMap[x]-1] = 29; + foreMap[x][height - hMap[x] - 1] = 29; break; case 3: - foreMap[x][height-hMap[x]-1] = 30; + foreMap[x][height - hMap[x] - 1] = 30; break; case 4: - foreMap[x][height-hMap[x]-1] = 31; + foreMap[x][height - hMap[x] - 1] = 31; break; case 5: - foreMap[x][height-hMap[x]-1] = 32; + foreMap[x][height - hMap[x] - 1] = 32; break; } } - if (foreMap[x][height-hMap[x]-1]==0 && foreMap[x][height-hMap[x]]==10) { - switch(rand.nextInt(20)) { + if (foreMap[x][height - hMap[x] - 1] == 0 && foreMap[x][height - hMap[x]] == 10) { + switch (rand.nextInt(20)) { case 0: - genCactus(x,height-hMap[x]-1); + genCactus(x, height - hMap[x] - 1); break; case 1: - foreMap[x][height-hMap[x]-1] = 27; + foreMap[x][height - hMap[x] - 1] = 27; break; } }