もぐらたたきを作るときに
モグラが指定した領域から出てきたり引っ込んだりするプログラムは
rand()とfor()を使ってどのように作ればよいでしょうか??
ゲーム
-
管理人
Re:ゲーム
ちょっとあまりにも説明が大雑把過ぎてアドバイスのしようがありませんが、
まず、何で作るのですか?DXライブラリですか?
また、ゲームシステム全般はもうご存知だとして、その部分的なアルゴリズムだけでいいのでしょうか?
それから、出てきたり引っ込んだりする時に、モーションを使うのか、それとも
出てるだけか引っ込んでるだけかでいいのか、でもまた実装の仕方は違いますし、
具体的に言っていただけないとアドバイス出来ないと思います。
一般的な話をするならば、
typedef struct{
int x,y;
int flag;
}mogura_t;
のようにモグラのデータを持った構造体を用意し、モグラの数だけ
mogura_t mogura[MOGURA_MAX];
こんな感じでつくり
○○○
○○○
○○○
もしこんな9つのモグラがいるのなら、(x,y)=(0,0)~(x,y)=(2,2)まで代入して初期化しておき、
flagが0なら引っ込んでいる、1なら出ているなどとフラグ管理すればいいと思います。
叩いた瞬間、その範囲が有効な範囲内であれば
例えば
x=叩いた座標/100;
y=叩いた座標/100;
のようにすれば、xy座標が0,0~99,99の範囲は0,0に入る・・といったように範囲わけできるので、
for(i=0;i<MOGURA_MAX;i++){
if(mogura.x==x && mogura.y==y && mogura.flag==1){
叩いた!;
}
}
とかすれば叩けたかどうか判定出来るでしょう。
rand関数はモグラが出現する時に使いたいのでしょうか。
それなら普通にrand()%MOGURA_MAXとかで値を生成し、
flagが0なら有効、1ならもう一回乱数を作り直す、全部flagが1なら生成しない・・とすればいいと思います。