whileで繰り返す
while()は()内の条件式がtrueになるまで{}内の処理を繰り返します。
let i = 1;
while (i < 10){
console.log(i);
i += 1;
}
forで繰り返す
for()はwhileと似ていますが、シンプルに書くことができます。for(変数の定義; 条件式; 変数の更新)の順に()内を埋めていきます。for()内の最後は;必要ありません。
for(let i = 1; i < 10; i += 1){
console.log(i);
}
計算式を省略して書く
i+=1はi++、i -=1はi–と書くこともできます。
for(let i = 1; i < 10; i++){
console.log(i);
}
forとifを組み合わせて使う
条件式を組み合わせて使うことも可能です。下のコードでは2の倍数の時(2で割った余りが0の時)、「2の倍数です」と表示するようにしています。
for(let i = 1; i < 10; i++){
if(i%2 === 0){
console.log("2の倍数です")
}else{
console.log(i);
}
}
なぜ変数名に「i」を使うの?
通常、変数名には一文字を使わないことが原則です。しかし、プログラミングの慣習として繰り返しの制御には変数名に「i」を使うこととなっています。
whileを使った簡単なゲーム作り
whileを使ってenemyの値が0以下になるまで攻撃を繰り返します。0以下になったら、whileが解除されます。
let enemy = 100;
while(enemy > 0){
const attack = window.confirm("戦う");
if(attack === true){
const damage = Math.floor(Math.random()*30);
enemy -=damage;
window.alert(`敵に${damage}のダメージ!!`);
}else break;
//キャンセルを押した場合にはwhileからbreakします。
}
if(enemy <0 ){
window.alert("敵を倒した!!")
}else{
window.alert("敵から逃げ去った!!")
}