前提
discord bot
jsでマインスイーパーを作っているのですが、行が必ず設定した値より一行少なくなります
該当のソースコード
js
1 //マインスイーパを生成する 2 if (message.content.startsWith("!minesweeper") && message.guild) { 3 var t = 5; 4 const bom = message.content.split(" ")[1]; 5 if (bom >= t * t) 6 return message.reply( 7 "爆弾の数が多すぎます。上限は" + (t * t - 1) + "です。" 8 ); 9 if (bom <= 0) 10 return message.reply("爆弾の数が少なすぎます。 下限は1です。"); 11 if (bom == undefined) return message.reply("爆弾の数を設定してください。"); 12 var a = new Array(t); 13 for (var x = 0; x < t; x++) { 14 a[x] = new Array(t).fill(0); 15 } 16 17 for (var y = 0; y < bom; y++) { 18 var b = Math.floor(Math.random() * t); 19 var c = Math.floor(Math.random() * t); 20 if (a[b][c] >= 9) { 21 y--; 22 continue; 23 } 24 a[b][c] = +10; 25 26 if (b - 1 >= 0 && c - 1 >= 0) { 27 a[b - 1][c - 1]++; 28 } 29 if (b - 1 >= 0 && c + 1 < t) { 30 a[b - 1][c + 1]++; 31 } 32 if (b + 1 < t && c - 1 >= 0) { 33 a[b + 1][c - 1]++; 34 } 35 if (b + 1 < t && c + 1 < t) { 36 a[b + 1][c + 1]++; 37 } 38 if (c - 1 >= 0) { 39 a[b][c - 1]++; 40 } 41 if (c + 1 < t) { 42 a[b][c + 1]++; 43 } 44 if (b - 1 >= 0) { 45 a[b - 1][c]++; 46 } 47 if (b + 1 < t) { 48 a[b + 1][c]++; 49 } 50 } 51 const map = [ 52 "||0⃣||", 53 "||1⃣||", 54 "||2⃣||", 55 "||3⃣||", 56 "||4⃣||", 57 "||5⃣||", 58 "||6⃣||", 59 "||7⃣||", 60 "||8⃣||", 61 "||☠️||", 62 ]; 63 var b; 64 var c; 65 for (b = 0; b < t; b++) { 66 for (c = 0; c < t; c++) { 67 a[b][c] = map[Math.min(a[b][c], 9)]; 68 a[b][c] += c == t - 1 ? "\n" : " "; 69 } 70 } 71 var ms = "\n"; 72 for (var z = 1; z < t; z++) { 73 ms += a[z].join(""); 74 } 75 message.reply(ms); 76 77 return; 78 } 79}); 80 81
試したこと
変数bが行に対応しているので、bのみを増減させてみたのですが、結果は全く変わらず、変数t-1行になってしまいます。
初心者アイコン付け忘れました、、、
回答1件
あなたの回答
tips
プレビュー