kazuoniさんありがとうございます。
今、自分が参考にしているサイトはシューティングの館の敵表示のところで、まだまだ勉強中の身です。
まだ、ハッカーさんの書いてくださったプログラムは、真似できそうにありませんでした。(組んでみたのですが、まだ自分に早かったようです。)
はじめから、高望みしたのがいけなかったと思います。なので
int hantei[15][20] = {
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
};
このマップの真ん中を画像が円を描く用に動くプログラム作っていきたいと思います。
今,シューティングの館のプログラムを変更して
void EnemyPattern1(int i){ //まっすぐ進む
enemy
.x+=sin(PI*(enemy.counter)/160.0f)*1.0f;
enemy.y+=sin(PI*(enemy.counter)/160.0f)*1.0f;
}
//////////////////////////////////////////////
enemy.pattern=1; //どういう軌道を描くか
enemy.flag=1; //出現フラグを立てる
enemy.counter=0;//出現して何カウント目か測るカウンター初期化
enemy.size=0.5f;//敵の大きさ
enemy.range=(MONSTER1_X_SIZE-60)/2.0f*enemy.size;//あたり判定範囲
enemy[i].x=320; //xの初期座標
enemy[i].y=240; //yの初期座標
///////////////////////////////
DrawRotaGraph( (int)enemy[i].x , (int)enemy[i].y , enemy[i].size , 0.0f , image[enemy_img[1]] , TRUE ) ;
/////////////////////////////////
この用に組んでいるのですが、sinのやり方が分からず、変な風に動きます。
アドバイスお願いします。
///////////////////////////////////////////////////////////////////////
またハッカーさんのプログラムを自分なりに読んでみたのですが多分間違っていると思うので訂正をお願いします
hantei[3][6]=
{0,0,0,0,0,0}
{0,0,0,0,0,0}
{0,0,0,0,0,0}
//hanteiの中に2あるかどうか判定する
1マスが32ビットなので
Xマスは6マスなので
X1=32*6=198
Yマスは3マスなので
Y1=32*3=96
その後、そのhanteiの中心を求めるため
X=X1/2
Y=Y1/2
で中心を求める
/////////////////////////////////////////////////////////////////////////
double rad//角度
X=(1マスのXの真ん中)*cos(角度)+x , Y=(1マスのYの真ん中)*sin(角度)+y 