ランダムにトランプ画像を表示させるプログラムについて
Posted: 2010年10月24日(日) 01:54
トランプゲームを作成しようと思い、ランダムにトランプを5枚表示させるプログラムを作ったのですが
失敗しました。
どう失敗したかというと、エラーはでないんですが、画像も表示されず、ESCキーを押しても終了せず、ウィンドウの閉じるをクリックしても反応がありません。終了させると「このプログラムは応答していません」と表示されます。
プログラム自体はトランプの構造体を宣言し、入門編13節の基本骨格の中に処理を書いています。
struct Poler_Cards{
int card[13][4]; //トランプの構造体
int state[13][4];
}trump ;
trump.cardには0~51を順に入れ、trump.stateには山札にある状態を示す0を入れるようfor文でプログラムしています。(初期化ではうまくいきませんでした)
while(n!=5){ //n=5で終了
if(n<5){ //場に出たカードが5枚未満だったら
n=0; //カードのカウンタを0に
r1=GetRand(12);r2=GetRand(3); //乱数を取得
trump.state[r1][r2]=1; //場に出たという処理をする
for(i=0;i<13;i++){
for(j=0;j<4;j++){
n+=trump.state[j]; //場に出たカードの枚数を数える
}
}
}
}
基本骨格のwhile文の中にこの処理を書いています
for(i=0;i<13;i++){
for(j=0;j<4;j++){
if(trump.state[j]==1){ //場に出たカードを
g[[/url]=trump.card[j];//配列gに格納
r++;
}
}
}
配列gにはランダムな0~51までの数字が5個入るようになっているはず
for(r=0;r<5;n++){
img=g[[/url];
DrawGraph( x,200,img,FALSE ) ;
x+=90;
}
0~51までの数がそのまま、グラフィックハンドルに対応しているのでこれで画像が表示されるはず
主な処理はこれぐらいです。ほかは変数の宣言ぐらいです
コンパイラはVisualC++2008 Express Editionです
長くなりましたが、回答よろしくお願いします
失敗しました。
どう失敗したかというと、エラーはでないんですが、画像も表示されず、ESCキーを押しても終了せず、ウィンドウの閉じるをクリックしても反応がありません。終了させると「このプログラムは応答していません」と表示されます。
プログラム自体はトランプの構造体を宣言し、入門編13節の基本骨格の中に処理を書いています。
struct Poler_Cards{
int card[13][4]; //トランプの構造体
int state[13][4];
}trump ;
trump.cardには0~51を順に入れ、trump.stateには山札にある状態を示す0を入れるようfor文でプログラムしています。(初期化ではうまくいきませんでした)
while(n!=5){ //n=5で終了
if(n<5){ //場に出たカードが5枚未満だったら
n=0; //カードのカウンタを0に
r1=GetRand(12);r2=GetRand(3); //乱数を取得
trump.state[r1][r2]=1; //場に出たという処理をする
for(i=0;i<13;i++){
for(j=0;j<4;j++){
n+=trump.state[j]; //場に出たカードの枚数を数える
}
}
}
}
基本骨格のwhile文の中にこの処理を書いています
for(i=0;i<13;i++){
for(j=0;j<4;j++){
if(trump.state[j]==1){ //場に出たカードを
g[[/url]=trump.card[j];//配列gに格納
r++;
}
}
}
配列gにはランダムな0~51までの数字が5個入るようになっているはず
for(r=0;r<5;n++){
img=g[[/url];
DrawGraph( x,200,img,FALSE ) ;
x+=90;
}
0~51までの数がそのまま、グラフィックハンドルに対応しているのでこれで画像が表示されるはず
主な処理はこれぐらいです。ほかは変数の宣言ぐらいです
コンパイラはVisualC++2008 Express Editionです
長くなりましたが、回答よろしくお願いします