'if "x" is inside the 7x9 Grid then post "y"
so i have a 7x9 Grid and each box inside that grid picks a random picture out of an array. now i want to "scan" the grid like : if "picture1" is already inside the 7x9 Grid then chose from picture 4,5,6 -if not then use picture1.
this is what i got so far.
let randomPic = ["../img/map1.jpg", "../img/map4.jpg", "../img/map5.jpg", "../img/map6.jpg"];
// map6 wird zu map2 wenn eingenommen
// map4 und map5 wird zu map3 wenn eingenommen
// map1 darf nur alle 7 felder 1mal vorkommen
let divs = document.querySelectorAll("div.box");
let divArray = Array.prototype.slice.call(divs);
divArray.forEach(function(div) {
let randomNum = Math.floor(Math.random() * randomPic.length);
div.style.backgroundImage = "url(" + randomPic[randomNum] + ")";
});
.container {
display: inline-block;
justify-content: center;
display: flex;
}
.map {
display: grid;
grid-template-columns: repeat(7, 59px);
grid-template-rows: repeat(9);
grid-gap: 2px;
background: rgb(53, 31, 3);
border: 3px solid rgb(53, 31, 3);
position: relative;
top: 50px;
}
.box {
width: 58px;
height: 42px;
}
<div class="container">
<!-- 7x9 map -->
<div class="map">
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
<div class="box" id=""></div>
</div>
</div>
i hope i explained what i mean good enough.
thnxs.
Solution 1:[1]
This should go:
let randomPic = ["../img/map1.jpg", "../img/map4.jpg", "../img/map5.jpg", "../img/map6.jpg"];
// map6 wird zu map2 wenn eingenommen
// map4 und map5 wird zu map3 wenn eingenommen
// map1 darf nur alle 7 felder 1mal vorkommen
let divs = document.querySelectorAll("div.box");
let divArray = Array.prototype.slice.call(divs);
let imgSelected = false;
divArray.forEach(function(div) {
if(!imgSelected) {
let randomNum = Math.floor(Math.random() * randomPic.length);
div.style.backgroundImage = "url(" + randomPic[randomNum] + ")";
if (randomNum === 0) imgSelected = true;
} else {
let filteredArray = randomPic.slice(1);
let randomNum = Math.floor(Math.random() * filteredArray.length);
div.style.backgroundImage = "url(" + filteredArray[randomNum] + ")";
}
});
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | cheesyMan |
