プロが教える店舗&オフィスのセキュリティ対策術

最近プログラミングの学習を始めたのですが、学校の先生が言っていたじゃんけんのフローチャート図の説明がよくわかりませんでした。
自分の手が,グーorチョキorパーで分岐して、そこから相手の手がまたグーorチョキorパーで分岐して、勝ち負けあいこが決まるのはわかるのですが、先生が言っていた最初に自分の手=相手の手なら分岐が一つ減らせるといっていた説明が良くわかりません。
自分の手=相手の手であいこなのはわかりますが、何の手を出したか分からないままので、結局またグー、チョキ、パーのどれを出したか判定しないといけないように思うので、最初にあいこかどうか判定する意味がないように思います。
いったいどうやって分岐を減らすのでしょうか?
全くわからないので詳しい方回答をよろしくおねがいします。

A 回答 (2件)

プログラムでは、入力されたものが何かを特定してから処理を行います。


最初に自分と相手が同一であれば、グー、チョキ、パーの判定ルートで
あいこのチェックが不要となります。
自分の手特定→相手の手特定→※→自分の手で分岐→(グー:相手【グー】orチョキorパー)
                        (チョキ:相手グーor【チョキ】orパー)
                        (パー:相手グーorチョキor【パー】)
※にあいこ判定を入れると【】分のチェックが不要となります。

別方法として
仮にグー:1、チョキ:2、パー:3とします。
テーブル(3,3)に

 自分/相手 1    2   3
  1   あいこ  勝ち  負け
  2   負け   あいこ 勝ち
  3   勝ち   負け  あいこ

テーブル(自分の手、相手の手)の内容で結果が判るというプログラミング方法も有ります。
    • good
    • 1
この回答へのお礼

y
自分の手=相手の手→あいこ
↓n
自分の手

グー、チョキ、パーで分岐
各手で勝ちか負けのパターンだけ確認ですね!
テーブルの方はまだやっていないので後々参考にさせて頂きます!
ありがとうございました!

お礼日時:2018/04/28 21:58

「あいこでない」ことがわかっていれば、


「自分がグーで相手がグー」の組合せを判定する必要はありません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
逆の考え方もできるのですね。

お礼日時:2018/04/28 21:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!