No.1ベストアンサー
- 回答日時:
挑戦するのに早いも遅いもないと思いますよ。
難易度はそれなりに高いですが、目的があるだけにいい題材になるとは思います。
結構メジャーなゲームなので、それなりに本などにサンプルが載っているとは思うので、最終的にはこれらを手本に作るといいでしょう。
まずは簡単な、役のチェックのない単純なポーカーを作ってみてはいかがでしょうか。
質問の文章からでは、どのような方法でプログラムを作成されているかわかりませんので、ポーカーを作るにあたって基本から説明します。
ポーカーというゲームを考えたときに、まずはどういうデータが必要かを考えます。
まずはトランプのカードが52枚あります。
これらの数字やマークはすべて違いますから、52個の配列を作成し、それらに数字とマークのデータを入れることになります。
構造体を使うと後々役のチェックにも便利でしょうから、構造体について少し勉強してみるとよいでしょう。
次に自分の手札についてですが、これは5枚のため、5個の配列を作成してやります。
後の説明のために、Yama(52)とTefuda(5)という配列の変数名にするとします。
データ構造が決まれば、あとはカードを配るという作業があります。
まずは、自分の手札にカードを山から5枚取得します。
そして、次にいらないカードを交換します。
ここで考えてほしいのは、手札を配るのも、カードの交換で新しいカードを取るのも、同じ作業であるということです。
つまり、最初の手札を配るということは、Tefuda(1)~Tefuda(5)に対して、Yama(52)からランダムでデータを取り出すことです。
そして、カードを交換するということは、Tefuda(n)に対して、Yama(52)からランダムでデータを取り出すことです。
これから考えると、手札を配るのも、カードの交換も、同じ関数で処理できることがわかります。
とりあえずは、これを参考にプログラムをもう一度見直し、作成されてはどうでしょうか。
No.2
- 回答日時:
早い事はないと思います。
カードの交換より、対コンピュータでゲームをする場合に
コンピュータのアルゴリズムを考えるほうが大変では?
交換の方は、最初にランダムで52+1枚を配列に格納して
配列から順番に配る方法だと
自分手札1 相手手札1 自分手札2 相手手札2 ・・・
という風になるのですが
仮に自分手札 1~5枚がインデックス 1~5
相手手札 1~5枚がインデックス 6~10
として
カードを一枚配るという関数をインデックスを引数に作ってあげれば
最初に配る時も交換するときも要領は同じはずです。
あとは、役の判断ができればなんとか、できるのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
エクセルでXY座標に並べられた...
-
VB6からの移行したいけど、VB.N...
-
Excel2010のinputboxで複数デー...
-
2次元配列の初期値
-
グラフの「項目軸ラベルに使用...
-
配列のペースト出力結果の書式...
-
pictureboxの名前を変数で設定...
-
COBOLの基本的な事なので...
-
vba フィルター 複数条件 3つ以...
-
定数配列の書き方
-
VBA Dowhile 判断条件に動的配...
-
構造体配列の特定のメンバーをF...
-
テキストボックの文字を一行ず...
-
C#でbyte配列から画像を表示さ...
-
DBから取得した値を配列へ代入する
-
構造体配列内の文字列検索のよ...
-
複数のtextboxの処理を一括で行...
-
Redim とEraseの違いは?
-
配列の中の最大値とそのインデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
エクセルでXY座標に並べられた...
-
Dir関数で読み取り順を操作でき...
-
Excel2010のinputboxで複数デー...
-
構造体配列の特定のメンバーをF...
-
Redim とEraseの違いは?
-
配列のペースト出力結果の書式...
-
COBOLの基本的な事なので...
-
大量の変数を定義するにはどう...
-
DBから取得した値を配列へ代入する
-
EXCEL VBAの課題です
-
VBScriptでCSVファイルを読み出...
-
VBAでMODE関数をつくる
-
配列の中の最大値とそのインデ...
-
定数配列の書き方
-
構造体配列内の文字列検索のよ...
-
CheckBoxの配列化
-
Excelのメモリ(配列)の上限は2G...
おすすめ情報