ページ 11

構造体について

Posted: 2010年4月01日(木) 21:19
by mitunari
こういうことは質問して良いのかわかりませんが
調べてもわからないので教えてください
1. キャラを4方向に歩かせる。
にあるtypedefとはなんですか?
2.int main(void)とはどういう意味ですか?
3.1のものを

struct kyara{
int x,y,img,muki,walking_flag;
};
struct kyara ch;
としまったく同じ文にすると成功しますか?
4.ゲームプログラムの館のシューティングの基本とキャラを4方向に歩かせるをあわせてキャラからtamaを発射するプログラムを(キャラは上しか向けない)作ろうとしたときの構造体の宣言?のやり方を教えていただけませんか?
完全に純粋に合体させようとしたら
typedef struct{
int x,y,img,muki,walking_flag;
};
struct shot{
int x,y,img,muki,walking_flag;
};
(略)
int image[16];
char Key[256];
struct shot tama[10];
などとやっていたらわけわからなくなってしまいましたw

Re:構造体について

Posted: 2010年4月02日(金) 05:51
by 紅葉
1について

構造体とは変数をパッケージしたものです。

プレイヤーキャラと敵キャラの位置情報を保持する為に変数を用意するとしましょう。
その場合、構造体を使わないと

float PlayPx,PlayPy;
float EnmPx,EnmPy;

といったコードを書かなければなりません。
ここで注目して頂きたいのがPxとEx等が両方にあることです。

これを構造体にすることでソースがすっきりし
わかりやすいものにすることが可能でなります。

typedef struct{
float Px,Py;
}CHR;
CHR Play;
CHR Enm;

こう書くことでPlay.Px等と変数にアクセスできるようになります。

Re:構造体について

Posted: 2010年4月02日(金) 05:55
by 紅葉
2について

関数については理解しているでしょうか?
プログラムは必ずmain関数と呼ばれる部分から始まります。
int main(void)というのは
戻り値にint型をもって引数を持たないmainの関数ということになります。

質問からして関数を理解していないように思えますので
Cの基本的な解説が載っているサイトを閲覧して下さい。

3について

これは自分で試してみて下さい・・・。

4について
このプログラムはそもそも動いているのでしょうか?
char Key[256]; 等の配列は理解しておりますか?

Re:構造体について

Posted: 2010年4月02日(金) 07:55
by Dixq (管理人)
まずは構造体について勉強した方がよさそうですね。

http://www.google.co.jp/search?hl=ja&q= ... lr=lang_ja

> typedef

typedefって何かな?と思ったらまずはgoogleで検索してみましょう。
http://www.google.co.jp/search?hl=ja&q= ... lr=lang_ja

答えは沢山見つかると思います。