if“ x&quot”位于7x9网格中,然后发表“ y y”

发布于 2025-01-22 17:29:18 字数 4270 浏览 1 评论 0原文

因此,我有一个7x9网格,每个盒子里的每个盒子都从阵列中挑出随机图片。现在,我想“扫描”网格喜欢:如果“ picture1”已经在7x9网格中,然后从图片4,5,6中选择 - 如果不使用Picture1。

这就是我到目前为止得到的。

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>

我希望我能解释我的意思足够好。

thnxs。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

儭儭莪哋寶赑 2025-01-29 17:29:18

这应该去:

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] + ")";
    }
  });

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] + ")";
    }
  });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文