パソコンとじゃんけんさして、勝ち負けの判定 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
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
メッセージボックスでもできなくは無いですが、フォームにグー,チョキ,パーの
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回勝ったほうが、勝者とし、なおかつ、途中経過も表示しさらに、どっちがリードしているかわかるにするには、どのようにプログラムを記述すればよいですか?
ちなみに、メッセージボックスを利用して、ボタンは「はい=グー」と「いいえ=チョキ」
「キャンセル=パー」の三つのボタンです。
ちなみに、メッセージボックスを利用して、ボタンは「はい=グー」と「いいえ=チョキ」
「キャンセル=パー」の三つのボタンです。
こんなじゃんけんゲームもあるそうです。
参考まで