int hassyasareru_orange_ringnotama[250]; によって 生成される配列hassyasareru_orange_ringnotamaの説明です

ソーラー「さあ 勢いに乗ってきたかな


次は




//👇🌞🐋🐋🐋🐋🐋🐋オレンジリング250体の弾のサブ設定です🐋🐋🐋🐋🐋🐋


int orange_ringnotama_tsix[250][10];


//🌞🌞🌞 orange_ringnotama_tsix[i][j]には発射されるオレンジリングの弾[i][j]の発射される位置のx座標が代入されることになります tは弾、sは最初、iは位置、xはx座標を表しています


for (int i = 0; i < 250; i = i + 1) {


for (int j = 0; j < 10; j = j + 1) {


orange_ringnotama_tsix[i][j] = 0;


}


}



int hassyasareru_orange_ringnotama[250];


for (int i = 0; i < 250; i = i + 1) {


hassyasareru_orange_ringnotama[i] = 0;



}



int orange_ringnotama_count[250][10];



for (int i = 0; i < 250; i = i + 1) {


for (int j = 0; j < 10; j = j + 1) {


orange_ringnotama_count[i][j] = 0;


}


}

//👆🌞🐋🐋🐋🐋🐋🐋オレンジリング250体の弾のサブ設定です🐋🐋🐋🐋🐋🐋





int hassyasareru_orange_ringnotama[250];

によって


生成される配列hassyasareru_orange_ringnotamaの説明ですね」



マックス「なんだ この


int型の配列


hassyasareru_orange_ringnotama[250]は?


発射されるオレンジリングの弾?」


ソーラー「再び


💖💖💖💖💖💖💖💖18.オレンジリング250体から10連射される弾の挙動の設定です💖💖💖💖💖💖💖💖


をみていきましょう」



👇

👇

👇


//🌞👇💖💖💖💖💖💖💖💖43.オレンジリング250体の弾の挙動の設定です💖💖💖💖💖💖💖💖


//👇🌞🌞🌞新型 オレンジリング250体からオレンジリングの弾が10連射されるプログラムです





for (int i = 0; i < 250; i = i + 1) {



if (orange_ring[i].life > 0 && GetRand(15) == 0 && orange_ringnotama[i][0].life == 0 && hassyasareru_orange_ringnotama[i] == 0) {


orange_ringnotama[i][0].x = orange_ring[i].x - 10;


orange_ringnotama[i][0].y = orange_ring[i].y + 10;


orange_ringnotama_tsix[i][0] = orange_ringnotama[i][0].x;


orange_ringnotama[i][0].life = 1;


hassyasareru_orange_ringnotama[i] = 1;


orange_ringnotama_count[i][0] = 20 + GetRand(25);//👈🌞🌞🌞 オレンジリングorange_ring[i]から10連射される最初の弾orange_ringnotama[i][0]と次弾orange_ringnotama[i][1]の間隔を調整することができます



}




for (int j = 0; j < 9; j++) {


if (orange_ringnotama_count[i][j] > 0) { orange_ringnotama_count[i][j] = orange_ringnotama_count[i][j] - 1; }



if (orange_ringnotama_count[i][j] == 0 && hassyasareru_orange_ringnotama[i] == j + 1) {


if (orange_ringnotama[i][j + 1].life == 0) {


orange_ringnotama[i][j + 1].x = orange_ring[i].x - 10;


orange_ringnotama[i][j + 1].y = orange_ring[i].y + 10;


orange_ringnotama_tsix[i][j + 1] = orange_ringnotama[i][j + 1].x;




orange_ringnotama[i][j + 1].life = 1;


hassyasareru_orange_ringnotama[i] = j + 2;


orange_ringnotama_count[i][j + 1] = 20 + GetRand(25);//👈🌞🌞🌞オレンジリングorange_ring[i]から10連射されるオレンジリングの弾orange_ringnotama[i][j + 1]と次に発射される弾orange_ringnotama[i][j + 2]の間隔を調整することができます


}


}


}




if (orange_ringnotama_count[i][9] > 0) { orange_ringnotama_count[i][9] = orange_ringnotama_count[i][9] - 1; }




if (orange_ringnotama_count[i][9] == 0 && hassyasareru_orange_ringnotama[i] == 10) {


hassyasareru_orange_ringnotama[i] = 0;


}


for (int j = 0; j < 10; j = j + 1) {


if (orange_ringnotama[i][j].life == 1) {

//🌞🌞🌞 orange_ringnotama[i][j].lifeに1が代入されているとオレンジリングから発射される弾orange_ringnotama[i][j]がゲーム画面に表示されることになります orange_ringnotama[i][j].lifeに0が代入されているとオレンジリングから発射される弾 orange_ringnotama[i][j]がゲーム画面に表示されることはありません

DrawGraph(orange_ringnotama[i][j].x, orange_ringnotama[i][j].y, orange_ringnotama[i][j].graphichandle[0], TRUE);


orange_ringnotama[i][j].x = orange_ringnotama[i][j].x - 1;


if (orange_ringnotama_tsix[i][j] - orange_ringnotama[i][j].x > 1000)

//🌞🌞🌞 オレンジリングから発射された弾orange_ringnotama[i][j]の位置のx座標が発射されたときの最初の位置のx座標から🍑左へ🍑640を超えて離れると条件式orange_ringnotama_tsix[i][j] - orange_ringnotama[i][j].xは真の値1をとることになります

//🌞🌞🌞🌞🌞👆 orange_ringnotama_tsix[i][j]にはオレンジリングから発射される弾orange_ringnotama[i][j]が発射されるときのorange_ringnotama[i][j]のいる位置のx座標が代入されます。オレンジリングから発射された弾のx座標orange_ringnotama[i][j].xがオレンジリングから発射されたときの敵の弾orange_ringnotama[i][j]のいる位置からx方向へ640ドット離れた時、条件式orange_ringnotama_tsix[i][j] - orange_ringnotama[i][j].x > 640は真の値1を持つことになります

orange_ringnotama[i][j].life = 0;


}


}


}



//🌞👆💖💖💖💖💖💖💖💖43.オレンジリング250体の弾の挙動の設定です💖💖💖💖💖💖💖💖



ソーラー「


この💖💖💖💖💖💖💖💖43.オレンジリング250体の弾の挙動の設定💖💖💖💖💖💖💖💖


では


オレンジリング250体から


弾が


10連射されます



この💖💖💖💖💖💖💖💖43.オレンジリング250体の弾の挙動の設定💖💖💖💖💖💖💖💖



for (int i = 0; i < 250; i = i + 1) {



if (orange_ring[i].life > 0 && GetRand(15) == 0 && orange_ringnotama[i][0].life == 0 && hassyasareru_orange_ringnotama[i] == 0) {


orange_ringnotama[i][0].x = orange_ring[i].x - 10;


orange_ringnotama[i][0].y = orange_ring[i].y + 10;


orange_ringnotama_tsix[i][0] = orange_ringnotama[i][0].x;


orange_ringnotama[i][0].life = 1;


hassyasareru_orange_ringnotama[i] = 1;


orange_ringnotama_count[i][0] = 20 + GetRand(25);//👈🌞🌞🌞 オレンジリングorange_ring[i]から10連射される最初の弾orange_ringnotama[i][0]と次弾orange_ringnotama[i][1]の間隔を調整することができます



}



をみると



hassyasareru_orange_ringnotama[0] == 0のとき


オレンジリングorange_ring[0]から


orange_ringnotama[0][0]の発射が開始されます



オレンジリングorange_ring[0]からは


orange_ringnotama[0][0]

orange_ringnotama[0][1]

orange_ringnotama[0][2]

orange_ringnotama[0][3]

orange_ringnotama[0][4]

orange_ringnotama[0][5]

orange_ringnotama[0][6]

orange_ringnotama[0][7]

orange_ringnotama[0][8]

orange_ringnotama[0][9]


の順番で弾が発射されます



hassyasareru_orange_ringnotama[0]は



この順番で


発射されるように


するためにあります




for (int j = 0; j < 9; j++) {


if (orange_ringnotama_count[i][j] > 0) { orange_ringnotama_count[i][j] = orange_ringnotama_count[i][j] - 1; }





をみると


while{}文のブロック{}内の命令文が1回繰り返し実行されるごとに


orange_ringnotama_count[i][j]に格納される値が


1減っていきます


そして


最後は


0になるわけです」


solarplexuss「え~と??」


ソーラー「


わかりにくいかな


じゃあ


💖💖💖💖💖💖💖💖43.オレンジリング250体の弾の挙動の設定💖💖💖💖💖💖💖💖



この部分に注目してね


👇



orange_ringnotama_count[i][0] = 20 + GetRand(25);//👈🌞🌞🌞 オレンジリングorange_ring[i]から10連射される最初の弾orange_ringnotama[i][0]と次弾orange_ringnotama[i][1]の間隔を調整することができます




この部分をみてもわかるように


オレンジリングorange_ring[0]から


最初の弾


orange_ringnotama[0][0]が発射されると


orange_ringnotama_count[0][0]に20 + GetRand(25)が代入されます




orange_ringnotama_count[0][0]に格納されている値が0になると


次の弾


orange_ringnotama[0][1]



発射されますが


発射される弾が


orange_ringnotama[0][1]

になるように設定しているのが


この


hassyasareru_orange_ringnotama[0]なんです



このときhassyasareru_orange_ringnotama[0]に格納されている値は1です



orange_ringnotama_count[0][0]に格納されている値が0



hassyasareru_orange_ringnotama[0]に格納されている値が


1になったとき


次弾


orange_ringnotama[0][1]が発射されます」


マックス「じゃあ



orange_ringnotama_count[0][0]に格納されている値が0



hassyasareru_orange_ringnotama[0]に格納されている値が


1になったとき




orange_ringnotama[0][5]が発射されるようにすることもできるのか?」



ソーラー「一応 できるけど


それは微妙ぃい・・・かも」














































































































  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る