OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ポーカーを作りたいのですが・・・

  • 困ってます
  • 質問No.176537
  • 閲覧数869
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 19% (52/272)

ポーカーを作りたいのですが、カードを配る所まではなんとか自力で出来たのですが・・・。
肝心のカードの交換が分かりません(T_T)
一応、チェックボックスとイメージを配列で処理しているのですが・・・。

簡単な配列しか分からない私が挑戦するにはまだポーカーは早かったのでしょうか??
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル7

ベストアンサー率 63% (7/11)

挑戦するのに早いも遅いもないと思いますよ。
難易度はそれなりに高いですが、目的があるだけにいい題材になるとは思います。
結構メジャーなゲームなので、それなりに本などにサンプルが載っているとは思うので、最終的にはこれらを手本に作るといいでしょう。
まずは簡単な、役のチェックのない単純なポーカーを作ってみてはいかがでしょうか。

質問の文章からでは、どのような方法でプログラムを作成されているかわかりませんので、ポーカーを作るにあたって基本から説明します。

ポーカーというゲームを考えたときに、まずはどういうデータが必要かを考えます。
まずはトランプのカードが52枚あります。
これらの数字やマークはすべて違いますから、52個の配列を作成し、それらに数字とマークのデータを入れることになります。
構造体を使うと後々役のチェックにも便利でしょうから、構造体について少し勉強してみるとよいでしょう。
次に自分の手札についてですが、これは5枚のため、5個の配列を作成してやります。
後の説明のために、Yama(52)とTefuda(5)という配列の変数名にするとします。

データ構造が決まれば、あとはカードを配るという作業があります。
まずは、自分の手札にカードを山から5枚取得します。
そして、次にいらないカードを交換します。
ここで考えてほしいのは、手札を配るのも、カードの交換で新しいカードを取るのも、同じ作業であるということです。
つまり、最初の手札を配るということは、Tefuda(1)~Tefuda(5)に対して、Yama(52)からランダムでデータを取り出すことです。
そして、カードを交換するということは、Tefuda(n)に対して、Yama(52)からランダムでデータを取り出すことです。
これから考えると、手札を配るのも、カードの交換も、同じ関数で処理できることがわかります。

とりあえずは、これを参考にプログラムをもう一度見直し、作成されてはどうでしょうか。
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル9

ベストアンサー率 48% (24/49)

早い事はないと思います。 カードの交換より、対コンピュータでゲームをする場合に コンピュータのアルゴリズムを考えるほうが大変では? 交換の方は、最初にランダムで52+1枚を配列に格納して 配列から順番に配る方法だと 自分手札1 相手手札1 自分手札2 相手手札2 ・・・ という風になるのですが 仮に自分手札 1~5枚がインデックス 1~5 相手手札 1~5枚がインデックス 6~10 ...続きを読む
早い事はないと思います。
カードの交換より、対コンピュータでゲームをする場合に
コンピュータのアルゴリズムを考えるほうが大変では?

交換の方は、最初にランダムで52+1枚を配列に格納して
配列から順番に配る方法だと
自分手札1 相手手札1 自分手札2 相手手札2 ・・・
という風になるのですが
仮に自分手札 1~5枚がインデックス 1~5
相手手札 1~5枚がインデックス 6~10
として

カードを一枚配るという関数をインデックスを引数に作ってあげれば
最初に配る時も交換するときも要領は同じはずです。

あとは、役の判断ができればなんとか、できるのでは?
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ