私はJavascriptを使い慣れていないので、ここで正しい質問をしているかどうかはわかりません。しかし、私は6つの要素を持っています - ユーザーがクリックして消える木は6つです。それらのすべてが消えた後、私は何か他のものが欲しいです。しかし、ユーザーがどのような順序でクリックするのか分からないので(私は実際にはJSについてはあまり学んでいない)、if/elseステートメントではツリーが残っていないかどうかを尋ねて、新しい関数。if/else文をループする方法は?
残念ながら私はそれがうまくいかないと思っています。間違った方法で書いているのか間違ったところに置いているのか分かりませんが、すでに間違った結果が出ているようですユーザーはまだ何もクリックしていないので、最初は。だから私はそれをループで実行させ、いくつの木が何枚残っているかを確認するにはどうすればよいですか?
申し訳ありませんがコードは少し長いですが、私はそれを最適化する方法をまだ分かりません。
var TreesLeft = 6;
function TreeGoneOnClick(){
console.log("TreeGoneOnClick");
BigTrees.classList.add("flash");
//click each tree
tree1.addEventListener("click", tree1Clicked);
tree2.addEventListener("click", tree2Clicked);
tree3.addEventListener("click", tree3Clicked);
tree4.addEventListener("click", tree4Clicked);
tree5.addEventListener("click", tree5Clicked);
tree6.addEventListener("click", tree6Clicked);
ifelse();
}
function tree1Clicked(){
console.log("tree1 clicked");
TreesLeft-=1;
tree1.classList.remove("tree1S");
}
function tree2Clicked(){
console.log("tree2 clicked");
TreesLeft-=1;
tree2.classList.remove("tree2S");
}
function tree3Clicked(){
console.log("tree3 clicked");
TreesLeft-=1;
tree3.classList.remove("tree3S");
}
function tree4Clicked(){
console.log("tree4 clicked");
TreesLeft=TreesLeft-1;
tree4.classList.remove("tree4S");
}
function tree5Clicked(){
console.log("tree5 clicked");
TreesLeft-=1;
tree5.classList.remove("tree5S");
}
function tree6Clicked(){
console.log("tree6 clicked");
TreesLeft-=1;
tree6.classList.remove("tree6S");
}
function ifelse(){
if (TreesLeft ==0){
console.log("it worked");
allTreesGone();
}
else {
console.log("did not work");
}
}
function allTreesGone(){
console.log("All trees are gone");
}