int hassyasareru_jibunnotama_lazer = 0;によって生成されるint型の変数hassyasareru_jibunnotama_lazerについての説明です

ソーラー


次は



//👇🌞🐋🐋🐋🐋🐋🐋自分の飛行機のレーザー弾のサブ設定です🐋🐋🐋🐋🐋🐋



int jibunnotama_lazer_tsix[11];//🌞🌞🌞jibunnotama_lazer_tsix[i]には自分の飛行機から発射されるレーザー弾の最初の位置のx座標が代入されることになります tは弾、sは最初、iは位置、xはx座標を表しています


for (int i = 0; i < 11; i++) {


jibunnotama_lazer_tsix[i] = 0;


}






int jibunnotama_lazer_count[11];//🌞🌞🌞ここでint型の変数jibunnotama_lazer_count[i] (0<=i<=10)を作製し0で初期化しました


for (int i = 0; i < 11; i++) {


jibunnotama_lazer_count[i] = 0;


}


int hassyasareru_jibunnotama_lazer = 0;


//👆🌞🐋🐋🐋🐋🐋🐋自分の飛行機のレーザー弾のサブ設定です🐋🐋🐋🐋🐋🐋



👆

👆

👆



int hassyasareru_jibunnotama_lazer = 0;



によって生成される


int型の変数


hassyasareru_jibunnotama_lazer


の説明です」


マックス「なんにゃんだ この


int型の変数


hassyasareru_jibunnotama_lazerは?


発射される自分の弾レーザー?」


ソーラー「再び


🌞💖💖💖💖💖💖💖💖5.自分の飛行機のレーザー弾の挙動の設定の部分です💖💖💖💖💖💖💖💖


をみていきましょう


👇

👇

👇


//👇🌞💖💖💖💖💖💖💖💖5.自分の飛行機のレーザー弾の挙動の設定の部分です💖💖💖💖💖💖💖💖



//👇🌞🌞🌞新型 自分の飛行機から💖レーザー弾💖が10連射されるプログラムです


//👇新たに11個目のレーザー弾jibunnotama_lazer[10]の登場です


if (jibunnohikouki.life > 0)


if (jibunnotamamode == 1)


if (jibunnotama_lazer[10].x > 640)


if (key & PAD_INPUT_A) {


if (jibunnotama_lazer[0].life == 0 && hassyasareru_jibunnotama_lazer == 0) {


jibunnotama_lazer[0].x = jibunnohikouki.x + 10;


jibunnotama_lazer[0].y = jibunnohikouki.y + 10;


jibunnotama_lazer_tsix[0] = jibunnotama_lazer[0].x;


jibunnotama_lazer[0].life = 1;


hassyasareru_jibunnotama_lazer = 1;


jibunnotama_lazer_count[0] = 30;//👈連射される自分のレーザー弾の最初の弾と次弾の間隔を調整することができます


}


}




for (int i = 0; i < 10; i++) {


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



if (jibunnotama_lazer_count[i] == 0 && hassyasareru_jibunnotama_lazer == i + 1) {


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


jibunnotama_lazer[i + 1].x = jibunnohikouki.x + 10;


jibunnotama_lazer[i + 1].y = jibunnohikouki.y + 10;


jibunnotama_lazer_tsix[i + 1] = jibunnotama[i + 1].x;


jibunnotama_lazer[i + 1].life = 1;


hassyasareru_jibunnotama_lazer = i + 2;


jibunnotama_lazer_count[i + 1] = 30;


}


}


}


if (jibunnotama_lazer_count[10] > 0) { jibunnotama_lazer_count[10] = jibunnotama_lazer_count[10] - 1; }




if (jibunnotama_lazer_count[10] == 0 && hassyasareru_jibunnotama_lazer == 11) {


hassyasareru_jibunnotama_lazer = 0;


}






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


if (jibunnotama_lazer[i].life > 0) {

//🌞🌞🌞 jibunnotama_lazer[i].lifeに0より大きな値が代入されていると自分のレーザー弾jibunnotama_lazer[i]がゲーム画面に表示されることになります jibunnotama_lazer[i].lifeに0が代入されていると自分のレーザー弾jibunnotama_lazer[i]がゲーム画面に表示されることはありません

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


jibunnotama_lazer[i].x = jibunnotama_lazer[i].x + 1;


if (jibunnotama_lazer[i].x - jibunnotama_lazer_tsix[i] > 640)

//🌞🌞🌞発射された自分のレーザー弾jibunnotama_lazer[i]の位置のx座標が発射されたときの最初の自分のレーザー弾jibunnotama_lazer[i]の位置のx座標から🍑左へ🍑640を超えて離れると条件式jibunnotama_lazer[i].x - jibunnotama_lazer_tsix[i]は真の値1をとることになります

//🌞🌞🌞🌞🌞👆 jibunnotama_lazer_tsix[i]には自分のレーザー弾jibunnotama_lazer[i]が発射されたときの自分のレーザー弾jibunnotama_lazer[i]のいる位置のx座標を記憶していたのでjibunnotama_lazer[i].xが自分の弾jibunnotama_lazer[i]が発射されたときの自分のレーザー弾jibunnotama_lazer[i]のいる位置から640ドット離れた時、条件式jibunnotama_lazer[i].x- jibunnotama_lazer_tsix[i] > 640は真の値1を持つことになります

jibunnotama_lazer[i].life = 0;


}


}


//👆🌞🌞🌞新型 自分の飛行機から💖レーザー弾💖が10連射されるプログラムです





//👆🌞💖💖💖💖💖💖💖💖5.自分の飛行機のレーザー弾の挙動の設定の部分です💖💖💖💖💖💖💖💖




ソーラー「


この命令文では

自分の飛行機から

レーザー弾が

jibunnotama_lazer[0]

jibunnotama_lazer[1]

jibunnotama_lazer[2]

jibunnotama_lazer[3]

jibunnotama_lazer[4]

jibunnotama_lazer[5]

jibunnotama_lazer[6]

jibunnotama_lazer[7]

jibunnotama_lazer[8]

jibunnotama_lazer[9]

jibunnotama_lazer[10]


の順番で発射されますが


hassyasareru_jibunnotama_lazerは


この順番で


発射されるように


するためにあります




for (int i = 0; i < 10; i++) {


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



をみると


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


jibunnotama_lazer_count[i]に格納される値が


1減っていきます


そして


最後は


0になるわけです



具体的には


jibunnotama_lazer[0]が発射されると


jibunnotama_lazer_count[0]に30が代入されます




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


次の


jibunnotama_lazer[1]



発射されますが


発射される弾が


jibunnotama_lazer[1]になるように設定しているのが


この


hassyasareru_jibunnotama_lazerなんです



このときhassyasareru_jibunnotama_lazerに格納されている値は1です



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



hassyasareru_jibunnotama_lazerに格納されている値が


1になったとき


jibunnotama_lazer[1]が発射されます」


マックス「じゃあ



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



hassyasareru_jibunnotama_lazerに格納されている値が


1になったとき


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



ソーラー「一応 できるけど微妙いかも~(*^▽^*)」

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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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