前提・実現したいこと
Discord上でまるばつゲームを作りたいと思っています。
初心者なので、フラグを一つ一つ立てるしか思いつきませんでした...
発生している問題
- まるばつと打つ
- まるばつと打つ
- A1と打つ
- B1と打つ
- A3と打つ
- C2と打つ
この、C2と打った時に違う場面が出てきてしまいます。
おそらくフラグの管理だと思うのですが、原因がわかりません。
言葉だけではあれなので、画像も。
そのに
そのさん
該当のソースコード(作りかけですが、それでも超長いです)
js
1/* 2このプログラムの殆ど一番上に、 3let まるばつ = false; 4let A1 = false; 5let A2 = false; 6let A3 = false; 7let B1 = false; 8let B2 = false; 9let B3 = false; 10let C1 = false; 11let C2 = false; 12let C3 = false; 13*/ 14if (message.content.includes('まるばつ') && まるばつ) { 15 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 16`+`** A B C 171 ┃ ┃ 18 ━╋━╋━ 192 ┃ ┃ 20 ━╋━╋━ 213 ┃ ┃** 22`+"```「$A1」のように打ってください```") 23 return; 24 } 25 if (message.content.includes('A1') && まるばつ && A1) { 26 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 27って...`+`**もうそこ埋まってるわよ!** 28別のとこにしなさいよね 29`+"```「$A1」のように打ってください```") 30 return; 31 } 32 if (message.content.includes('B1') && まるばつ && B1) { 33 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 34って...`+`**もうそこ埋まってるわよ!** 35別のとこにしなさいよね 36`+"```「$A1」のように打ってください```") 37 return; 38 } 39 if (message.content.includes('C1') && まるばつ && C1) { 40 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 41って...`+`**もうそこ埋まってるわよ!** 42別のとこにしなさいよね 43`+"```「$A1」のように打ってください```") 44 return; 45 } 46 if (message.content.includes('A2') && まるばつ && A2) { 47 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 48って...`+`**もうそこ埋まってるわよ!** 49別のとこにしなさいよね 50`+"```「$A1」のように打ってください```") 51 return; 52 } 53 if (message.content.includes('B2') && まるばつ && B2) { 54 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 55って...`+`**もうそこ埋まってるわよ!** 56別のとこにしなさいよね 57`+"```「$A1」のように打ってください```") 58 return; 59 } 60 if (message.content.includes('C2') && まるばつ && C2) { 61 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 62って...`+`**もうそこ埋まってるわよ!** 63別のとこにしなさいよね 64`+"```「$A1」のように打ってください```") 65 return; 66 } 67 if (message.content.includes('A3') && まるばつ && A3) { 68 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 69って...`+`**もうそこ埋まってるわよ!** 70別のとこにしなさいよね 71`+"```「$A1」のように打ってください```") 72 return; 73 } 74 if (message.content.includes('B3') && まるばつ && B3) { 75 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 76って...`+`**もうそこ埋まってるわよ!** 77別のとこにしなさいよね 78`+"```「$A1」のように打ってください```") 79 return; 80 } 81 if (message.content.includes('C3') && まるばつ && C3) { 82 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 83って...`+`**もうそこ埋まってるわよ!** 84別のとこにしなさいよね 85`+"```「$A1」のように打ってください```") 86 return; 87 } 88 if (message.content.includes('A1') && まるばつ && !A1 && !A2 && !A3 && !B1 && !B2 && !B3 && !C1 && !C2 && !C3) { 89 A1 = true 90 B2 = true 91 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 92`+`** A B C 931〇┃ ┃ 94 ━╋━╋━ 952 ┃╳┃ 96 ━╋━╋━ 973 ┃ ┃** 98`+"```「$A1」のように打ってください```") 99 return; 100 } 101 if (message.content.includes('B1') && まるばつ && A1 && !A2 && !A3 && !B1 && B2 && !B3 && !C1 && !C2 && !C3) { 102 B1 = true 103 C1 = true 104 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 105`+`** A B C 1061〇┃〇┃╳ 107 ━╋━╋━ 1082 ┃╳┃ 109 ━╋━╋━ 1103 ┃ ┃** 111`+"```「$A1」のように打ってください```") 112 return; 113 } 114 if (message.content.includes('A2') && まるばつ && A1 && !A2 && !A3 && B1 && B2 && !B3 && C1 && !C2 && !C3) { 115 let A1 = false 116 let A2 = false 117 let A3 = false 118 let B1 = false 119 let B2 = false 120 let B3 = false 121 let C1 = false 122 let C2 = false 123 let C3 = false 124 let まるばつ = false 125 message.channel.send("~~`"+`${message.author.username}`+"の番です`~~"+` 126`+`** A B C 1271〇┃〇┃╳ 128 ━╋━╋━ 1292〇┃╳┃ 130 ━╋━╋━ 1313╳┃ ┃** 132`+"```????スピカの勝ち!!????```") 133 return; 134 } 135 if (message.content.includes('C2') && まるばつ && A1 && !A2 && !A3 && B1 && B2 && !B3 && C1 && !C2 && !C3) { 136 let A1 = false 137 let A2 = false 138 let A3 = false 139 let B1 = false 140 let B2 = false 141 let B3 = false 142 let C1 = false 143 let C2 = false 144 let C3 = false 145 let まるばつ = false 146 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 147`+`** A B C 1481〇┃〇┃╳ 149 ━╋━╋━ 1502 ┃╳┃〇 151 ━╋━╋━ 1523╳┃ ┃** 153`+"```????スピカの勝ち!!????```") 154 return; 155 } 156 if (message.content.includes('A3') && まるばつ && A1 && !A2 && !A3 && B1 && B2 && !B3 && C1 && !C2 && !C3) { 157 let A3 = true 158 let A2 = true 159 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 160`+`** A B C 1611〇┃〇┃╳ 162 ━╋━╋━ 1632╳┃╳┃ 164 ━╋━╋━ 1653〇┃ ┃** 166`+"```「$A1」のように打ってください```") 167 return; 168 } 169 if (message.content.includes('C2') && まるばつ && A1 && A2 && A3 && B1 && B2 && !B3 && C1 && !C2 && !C3) { 170 let C3 = true 171 let C2 = true 172 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 173`+`** A B C 1741〇┃〇┃╳ 175 ━╋━╋━ 1762╳┃╳┃〇 177 ━╋━╋━ 1783〇┃ ┃╳** 179`+"```「$A1」のように打ってください```") 180 return; 181 } 182 if (message.content.includes('B3') && まるばつ && A1 && A2 && A3 && B1 && B2 && !B3 && C1 && !C2 && !C3) { 183 let A1 = false 184 let A2 = false 185 let A3 = false 186 let B1 = false 187 let B2 = false 188 let B3 = false 189 let C1 = false 190 let C2 = false 191 let C3 = false 192 let まるばつ = false 193 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 194`+`** A B C 1951〇┃〇┃╳ 196 ━╋━╋━ 1972╳┃╳┃╳ 198 ━╋━╋━ 1993〇┃〇┃** 200`+"```????スピカの勝ち!!????```") 201 return; 202 } 203 if (message.content.includes('C3') && まるばつ && A1 && A2 && A3 && B1 && B2 && !B3 && C1 && !C2 && !C3) { 204 let A1 = false 205 let A2 = false 206 let A3 = false 207 let B1 = false 208 let B2 = false 209 let B3 = false 210 let C1 = false 211 let C2 = false 212 let C3 = false 213 let まるばつ = false 214 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 215`+`** A B C 2161〇┃〇┃╳ 217 ━╋━╋━ 2182╳┃╳┃╳ 219 ━╋━╋━ 2203〇┃ ┃〇** 221`+"```????スピカの勝ち!!????```") 222 return; 223 } 224 if (message.content.includes('B3') && まるばつ && A1 && !A2 && !A3 && B1 && B2 && !B3 && C1 && !C2 && !C3) { 225 let A1 = false 226 let A2 = false 227 let A3 = false 228 let B1 = false 229 let B2 = false 230 let B3 = false 231 let C1 = false 232 let C2 = false 233 let C3 = false 234 let まるばつ = false 235 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 236`+`** A B C 2371〇┃〇┃╳ 238 ━╋━╋━ 2392 ┃╳┃ 240 ━╋━╋━ 2413╳┃〇┃** 242`+"```????スピカの勝ち!!????```") 243 return; 244 } 245 if (message.content.includes('C3') && まるばつ && A1 && !A2 && !A3 && B1 && B2 && !B3 && C1 && !C2 && !C3) { 246 let A1 = false 247 let A2 = false 248 let A3 = false 249 let B1 = false 250 let B2 = false 251 let B3 = false 252 let C1 = false 253 let C2 = false 254 let C3 = false 255 let まるばつ = false 256 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 257`+`** A B C 2581〇┃〇┃╳ 259 ━╋━╋━ 2602 ┃╳┃ 261 ━╋━╋━ 2623╳┃ ┃〇** 263`+"```????スピカの勝ち!!????```") 264 return; 265 } 266 if (message.content.includes('C1') && まるばつ && A1 && !A2 && !A3 && !B1 && B2 && !B3 && !C1 && !C2 && !C3) { 267 B1 = true 268 C1 = true 269 message.channel.send("`"+`${message.author.username}`+"の番です`"+` 270`+`** A B C 2711〇┃ ┃〇 272 ━╋━╋━ 2732 ┃╳┃ 274 ━╋━╋━ 2753 ┃ ┃** 276`+"```「$A1」のように打ってください。```") 277 return; 278 } 279 if (message.content.includes('まるばつ') && !まるばつ) { 280 まるばつ = true; 281 message.channel.send(`:o::x:ゲーム!! 282`+"`〇/╳を多く取ったほうが勝ち`"+` 283**スピカとまるばつゲームをするわ! 284あんたからでいいわよ** 285`+" ```「$まるばつ」と打ってください\n"+`${message.author.username}`+"は〇です```") 286 return; 287 }
補足情報(プログラムを直接見れます)
○Xゲームというより三目並べですよね?
別名がいくつかあるみたいです
https://ja.wikipedia.org/wiki/三目並べ
質問は何でしょうか?
あれ、すみません。下の画像のように、「$C2」と打った時にフラグ管理がうまくいかないのか、別の場面が出てきてしまいます
https://gyazo.com/f111ef9f8c4bd9f07b71f1780c81ef89
https://gyazo.com/f8a325bb447ef4fe79af404b848b4971
https://gyazo.com/7eb63576a43013ec94a8e926cbb069b8
質問文を修正してください。
修正してきました
申し訳ありません
また、画像はなるべくteratail上でアップロードしていただけると見やすいです。
ちょこちょこすみません。動き上問題ないように見えるのですが、どうなってほしいのでしょう?
名前の件申し訳ございません...
そのさんのとおり、
〇〇╳ \n ╳╳ \n 〇
この状態でC2を指定するとなぜか
〇〇╳ \n ╳〇 \n ╳
となってしまいます。これを回避したいです。
地域によって呼び名が変わることはままあることですし、全く問題ないです^^
ああ、表示の入力の位置が変わるということですね。質問の意味を理解できました。ありがとうございます。
語彙力がクソで本当に申し訳ないです
↓以後気をつけます。
自身を卑下するコメントは見ていても不快なのでやめてください。何の解決にもつながらないので(再三の初心者アピールも同様)淡々と要件をきちんと書き、文章がおかしい・日本語がおかしい・理解力が乏しいと思うのでしたらそこを正常にするように注力してください。
回答1件
あなたの回答
tips
プレビュー