ページ 11

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

Posted: 2010年5月02日(日) 00:11
by 蒼空
まだ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;
                }
            }
        }
    }
}
エラーの内容は、「アクセス違反」らしいです。
知識が浅いので少々コードが醜いかもしれませんが、よろしくお願いします。
他力本願で悪いのですが、「もっといい方法があるよ」って方は教えていただけると幸いです。

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

Posted: 2010年5月02日(日) 00:23
by ookami
ここだけかどうかわかりませんが、

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

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

は確実そうですね。

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

Posted: 2010年5月02日(日) 00:30
by 蒼空
ookamiさん返信ありがとうございます!

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

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