質問: ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/d98ff6452c3be6b6a35ef2e1d0d2c24d.png) このフローをもう少し、言葉にすると。以下のようになります。 どこがおかしいでしょうか。今一度考えなおしてみましょう。 ・開始 ・景品がある間はループを繰り返す。 ・「読み上げられた番号をチェックする」がYesの場合、「穴をあける」。Noの場合、次の処理を行う。 ・「最初のリーチ」がYesの場合、「立つ」。Noの場合、次の処理を行う。 【ビンゴの人がいない場合】 ・繰り返しの先頭に戻る 【ビンゴの人がいる場合】 ・「ビンゴになる」がYesの場合、「ビンゴと叫ぶ」。景品の残りの数に係わらず繰り返しを抜ける。 ・「ビンゴになった人がくじを引く」がYesの場合、「景品をとる」。Noの場合、次の処理(終了)を行う。 ・ビンゴ終了 【景品が無くなった場合】 ・繰り返しを抜ける ・「ビンゴになった人がくじを引く」がYesの場合、「景品をとる」。Noの場合、次の処理(終了)を行う。 ・ビンゴ終了 という指摘をいただいたのですが、いまだにどこがダメなのかわかりません。 教えていただきたいです。
回答: 全体的におかしいです。 まず、日本語を丁寧に記述しましょう。 ・「読み上げられた番号をチェックする」→「読み上げられた番号がビンゴカード内にあるか?」等々 判断が処理に見える箇所は特に問題です。 次に、カード内に該当数字がない場合は、「立つ」ことも「ビンゴ」と叫ぶこともありません。 で、全体の大きなフローは、「景品がなくなる」まで数字が読み上げられ、その都度「参加人数分のカードの確認」をし、もし読み上げられた番号が確認中のカードに記述があれば、「立つ」とか「ビンゴ」とかのプロセスが発生する。といった感じになると思います。 まず、日本語で丁寧に処理を整理してみると良いです。