トランプゲーム「大富豪」を作っているのですが

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
蒼空

トランプゲーム「大富豪」を作っているのですが

#1

投稿記事 by 蒼空 » 15年前

まだC言語をやり始めて半年の初心者ですが、考えてもわからないので投稿させてもらいます。

トランプゲーム「大富豪」を作っているのですが、自分なりに下のようなプラグラムを考えてみました

①全体的な初期化
②山札の決定
③山札をプレイヤーに順に配る
④手札を強い順に並べる※「弱い → 強い」の順に
⑤ゲーム開始

大まかには↑のように考えています。
そして、自力で3番まではできたのですが、4番目がうまくできなくて持っている本などで調べましたが
エラーが出てしまいます。
エラーが出ている部分の付近は↓だと思いますので、どうか助言をくれませんか?
void tehuda_order(){//手札を並べる
    int a,r,i;
    int temp;//一時保管用
    for(a=0;a<PLAYER_MAX;a++){
        for(i=player[a].tehudamaisu-1;i>=0;i++){//for(i=0;i<player[a].tehudamaisu-1;i++){
            for(r=0;r<i;r++){
                if(player[a].tehuda[[/url].img>player[a].tehuda[r+1].img){
                    temp=player[a].tehuda[[/url].img;
                    player[a].tehuda[[/url].img=player[a].tehuda[r+1].img;
                    player[a].tehuda[r+1].img=temp;
                }
            }
        }
    }
}
エラーの内容は、「アクセス違反」らしいです。
知識が浅いので少々コードが醜いかもしれませんが、よろしくお願いします。
他力本願で悪いのですが、「もっといい方法があるよ」って方は教えていただけると幸いです。

ookami

Re:トランプゲーム「大富豪」を作っているのですが

#2

投稿記事 by ookami » 15年前

ここだけかどうかわかりませんが、

for(i=player[a].tehudamaisu-1;i>=0;i++)

for(i=player[a].tehudamaisu-1;i>=0;i--)

は確実そうですね。

蒼空

Re:トランプゲーム「大富豪」を作っているのですが

#3

投稿記事 by 蒼空 » 15年前

ookamiさん返信ありがとうございます!

まさか、そこを見落としていたなんて。
i++をi--に直したら正常になりました。
初歩的なミスを指摘してくださってありがとうございました。

これからも何かあったらまた質問させていただきますが、
その時はまたよろしくお願いします。
最後に本当にありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る