パソコンとじゃんけんさして、勝ち負けの判定 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 沼田  (社会人) 投稿日時 2009/12/30 23:14:05
http://www.vector.co.jp/soft/win95/game/se354038.html
こんなじゃんけんゲームもあるそうです。
参考まで
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/12/28 11:19:03
> ちなみに、メッセージボックスを利用して
メッセージボックスでもできなくは無いですが、フォームにグー,チョキ,パーの
3つのボタンを配置したほうが分かりやすいですし、後々、融通が利くと思いますよ。


> 途中経過も表示し
どのような表示にしたいかによって、プログラムも異なってきます。


> どのようにプログラムを記述すればよいですか
いろいろな書き方がありますが、考え方の一例を書いておきます。


じゃんけんという事は、グー,チョキ,パーの少なくとも3つの状態がありますよね。
これを、0,1,2 の数字にあてはめて考えましょう。

まずは、その数字をパソコンに選ばせるために、Random を利用します。
http://homepage1.nifty.com/rucio/main/dotnet/ClassLibrary/L002_System.Random.htm

選んだ結果は変数に入れておきましょう。
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard4.htm

そして、ユーザーが選んだ結果とパソコンが選んだ結果を比較します。
グー,チョキ,パーで計9通りの組み合わせができますので、その勝敗を判定します。
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard6.htm
(書き方を工夫すると、勝/あいこ/負けの3比較で判定することができますが、
 最初のうちは、そのまま9通りの判定文を書いても良いでしょう)

この時あらかじめ、勝ち/あいこ/負けの回数を記録しておくための変数を
ユーザ用とパソコン用それぞに用意しておき、じゃんけんする度に
勝敗結果に応じて、これらの変数の値をそれぞれ増やしていきます。
この変数はクラスレベルの変数にしておきましょう。
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard8.htm

そしてその変数の内容を、画面に(Label等で)表示させるようします。

また、勝負のたびに、それぞれの勝った回数を If 文で調べます。
そしてユーザーとパソコンのいずれかが 5 回目の勝利となった時点で
それを勝者とすれば終了です。

------

> さらに繰り返しじゃんけんをして
この部分ですが、繰り返し処理をパソコン側にやらせる方法と
ユーザーにやらせる方法とがあるかと思います。

ユーザーによる繰り返しの場合は、たとえば、フォームにグー/チョキ/パーの
3つのボタンを配置し、どちらかが5回勝つまで、ユーザーにボタンを
押してもらうようにすると良いでしょう。

あるいは、悩める子羊さんがやろうとしていたように、メッセージボックスを
使うのだとすれば、フォームに「じゃんけん」ボタンをおき、それを押すたびに
勝負を行わせれば良いと思います。

一方、パソコン側に繰り返し処理を行わせるのであれば、下記のようにします。
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard7.htm



なお「どうしても分からない!」という場合には、先人の作ったプログラムを真似ていき、
そこから学んでいくのも手かと思いますので、一応、他の方の書かれたじゃんけんゲームの
例を紹介しておきます。ただし、これらのサンプルをそのまま写しただけでは、
今回のお題である「先に5勝」などのルールは満たせませんので、最終的に完成させるには
御自身の力で追加のプログラムコードを記述してあげてください。
http://www.seiryojoho-h.ed.jp/old_web/webt/text/vbnet/vbnetjyanken.htm
http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=9198
投稿者 (削除されました)  () 投稿日時 2009/12/28 10:50:23
(削除されました)
投稿者 悩める子羊  () 投稿日時 2009/12/28 10:02:04
メッセージボックスを利用して、ボタンを押すだけで、パソコンとじゃんけんができ、さらに繰り返しじゃんけんをして、先に5回勝ったほうが、勝者とし、なおかつ、途中経過も表示しさらに、どっちがリードしているかわかるにするには、どのようにプログラムを記述すればよいですか?


ちなみに、メッセージボックスを利用して、ボタンは「はい=グー」と「いいえ=チョキ」 
「キャンセル=パー」の三つのボタンです。