xxxxxxxxxx
102
//or rather, i hate the way javascript works. or something.
var amt = 1000;
var dmult = 43;
function setup() {
createCanvas(400, 400);
slider = createSlider(1, 1700, amt).input( function(e) {
amt = this.value() // causes error
loop();
});
dmultslider = createSlider(1, 1000, dmult, 0.5).input( function(e) {
dmult = this.value() // causes error
loop();
});
rectMode(CENTER);
}
const deltas = [[1,0],[0,1],[-1,0],[0,-1]];
const TERRAIN_WALL = 1;
const spacing = 10;
const sizes = 5;
function getTerrainAt(x,y) {
const s = spacing;
const w = sizes;
const h = sizes;
const d = dist(x,y, 150, 150);
push();
translate(200,200);
const rcomp = 300 * cos(d*dmult);
const gcomp = 200
const bcomp = 200;
stroke(rcomp, gcomp, bcomp);
rect((x)*s, (y)*s, w ,h);
pop();
return TERRAIN_WALL;
}
function findEmptyTerrain(x,y,tried,d=0,l=20) {
// if theres no length left, be sad and return the coords. yes. whatever.
if (l < 1) {console.log('naww'); return [x,y]}
// if we dont encounter a wall, yay. this is where want to be
if (getTerrainAt(x,y) != TERRAIN_WALL) {console.log('yay'); return [x,y]}
// we have tried this tile now, so we can mark it.'
tried.add(`${x} ${y}`)
// look to the right, have we seen this tile?
const [dx,dy] = deltas[d]; // same direction
const [drx,dry] = deltas[(d+1)%4]; // to the right
if (tried.has(`${x+drx} ${y+dry}`)) {
return findEmptyTerrain(x+dx,y+dy,tried,d,l-1)
} else {
return findEmptyTerrain(x+drx,y+dry,tried,(d+1)%4,l-1)
}
}
function draw() {
background(220);
findEmptyTerrain(0,0,new Set(), 0, amt)
print([1,1]==[1,1]) // Y*(&#@RT*()&@#TGF*)P#@GT*)&P^#@GT)*FGT@#*)FG@#*)&FG#@)*FG#@*)&FG@#*)(&*)&$#*)@^$#)*@$^)#(*@&$^*)@#$^098364081t4087132fg4087132tg408p23gr0781236h4081237640gf98b172364508271365dh4018237465gf08g3147f65nhb08457n6m907g6chn9840576tvw435097tnh6w0837t6ncy0w3847f6vyn0w94536fg43502gt0287543gr078234rg80344g4018237rg0342fgthy0834fytg083r4fy4390827ry4320985ftyh02n34875f64230856203485nb42o3frgreosufgyreouyfgfdojfgdfsojhfgasjdkfgljk345gtlju34hg76lkjh67g8lj768hg9pi78gpou4hg6c9u73yrtnh085b2478t6rgb298n35476trd9b344d7y6b90834v76r324980bn7r6943728b6r4917365y9t1342f
dmult+=0.0009;
}