Wall gen screen w/h ratio and clearWalls null fix
This commit is contained in:
@@ -59,13 +59,16 @@ class EnvironmentController extends CanvasController{
|
|||||||
this.env.clearWalls();
|
this.env.clearWalls();
|
||||||
var noise_threshold = -0.017;
|
var noise_threshold = -0.017;
|
||||||
var avg_noise = 0;
|
var avg_noise = 0;
|
||||||
|
var resolution = 20;
|
||||||
Perlin.seed();
|
Perlin.seed();
|
||||||
|
|
||||||
for (var r = 0; r < this.env.num_rows; r++) {
|
for (var r = 0; r < this.env.num_rows; r++) {
|
||||||
for (var c = 0; c < this.env.num_cols; c++) {
|
for (var c = 0; c < this.env.num_cols; c++) {
|
||||||
var noise = Perlin.get(c/this.env.num_cols*(20/this.env.renderer.cell_size), r/this.env.num_rows*(20/this.env.renderer.cell_size));
|
var xval = c/this.env.num_cols*(resolution/this.env.renderer.cell_size*(this.env.num_cols/this.env.num_rows));
|
||||||
|
var yval = r/this.env.num_rows*(resolution/this.env.renderer.cell_size*(this.env.num_rows/this.env.num_cols));
|
||||||
|
var noise = Perlin.get(xval, yval);
|
||||||
avg_noise += noise/(this.env.num_rows*this.env.num_cols);
|
avg_noise += noise/(this.env.num_rows*this.env.num_cols);
|
||||||
if (noise > noise_threshold && noise < noise_threshold + thickness/(4*this.env.renderer.cell_size)) {
|
if (noise > noise_threshold && noise < noise_threshold + thickness/100*this.env.renderer.cell_size) {
|
||||||
var cell = this.env.grid_map.cellAt(c, r);
|
var cell = this.env.grid_map.cellAt(c, r);
|
||||||
if (cell != null) {
|
if (cell != null) {
|
||||||
if(cell.owner != null) cell.owner.die();
|
if(cell.owner != null) cell.owner.die();
|
||||||
|
|||||||
@@ -104,7 +104,8 @@ class WorldEnvironment extends Environment{
|
|||||||
|
|
||||||
clearWalls() {
|
clearWalls() {
|
||||||
for(var wall of this.walls){
|
for(var wall of this.walls){
|
||||||
if (this.grid_map.cellAt(wall.col, wall.row).state == CellStates.wall)
|
var wcell = this.grid_map.cellAt(wall.col, wall.row);
|
||||||
|
if (wcell && wcell.state == CellStates.wall)
|
||||||
this.changeCell(wall.col, wall.row, CellStates.empty, null);
|
this.changeCell(wall.col, wall.row, CellStates.empty, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user