さあC言語(DXライブラリ)を使って超繊細、美麗、箱庭シューティングゲームを作ってみましょう 超初心者向けです 0.367
int option_nekonotama_lazer_count[11]; によって生成される配列 option_nekonotama_lazer_countの説明です
int option_nekonotama_lazer_count[11]; によって生成される配列 option_nekonotama_lazer_countの説明です
次は
//👇🌞🐋🐋🐋🐋🐋🐋オプション猫のレーザー弾のサブ設定です🐋🐋🐋🐋🐋🐋
int option_nekonotama_lazer_tsix[11];//🌞🌞🌞 option_nekonotama_lazer_tsix[i]にはオプション猫から発射されるレーザー弾の最初の位置のx座標が代入されることになります tは弾、sは最初、iは位置、xはx座標を表しています
for (int i = 0; i < 11; i++) {
option_nekonotama_lazer_tsix[i] = 0;
}
int option_nekonotama_lazer_count[11];//🌞🌞🌞ここでint型の変数option_nekonotama_lazer_ count[i] (0<=i<=10)を作製し0で初期化しました
for (int i = 0; i < 11; i++) {
option_nekonotama_lazer_count[i] = 0;
}
int hassyasareru_option_nekonotama_lazer = 0;
//👆🌞🐋🐋🐋🐋🐋🐋オプション猫のレーザー弾のサブ設定です🐋🐋🐋🐋🐋🐋
の中の
int option_nekonotama_lazer_count[11];
によって生成される配列
option_nekonotama_lazer_count
の説明です
生成される配列変数は
option_nekonotama_lazer_count[0]
option_nekonotama_lazer_count[1]
option_nekonotama_lazer_count[2]
option_nekonotama_lazer_count[3]
option_nekonotama_lazer_count[4]
option_nekonotama_lazer_count[5]
option_nekonotama_lazer_count[6]
option_nekonotama_lazer_count[7]
option_nekonotama_lazer_count[8]
option_nekonotama_lazer_count[9]
option_nekonotama_lazer_count[10]
の11個です
💖💖💖💖💖💖💖💖10.オプション猫のレーザー弾の挙動の設定の部分💖💖💖💖💖💖💖💖
を
みてみると・・・
👇
👇
👇
//👇🌞💖💖💖💖💖💖💖💖10.オプション猫のレーザー弾の挙動の設定の部分です💖💖💖💖💖💖💖💖
//👇🌞🌞🌞新型 オプション猫から💖レーザー弾💖が10連射されるプログラムです
//👇新たに11個目のレーザー弾option_nekonotama_lazer[10]の登場です
if (option_neko.life > 0)
if (option_nekonotamamode == 1)
if (option_nekonotama_lazer[10].x > 640)
if (key & PAD_INPUT_A) {
if (option_nekonotama_lazer[0].life == 0 && hassyasareru_option_nekonotama_lazer == 0) {
option_nekonotama_lazer[0].x = option_neko.x + 10;
option_nekonotama_lazer[0].y = option_neko.y + 10;
option_nekonotama_lazer_tsix[0] = option_nekonotama_lazer[0].x;
option_nekonotama_lazer[0].life = 1;
hassyasareru_option_nekonotama_lazer = 1;
option_nekonotama_lazer_count[0] = 30;//👈連射される自分のレーザー弾の最初の弾と次弾の間隔を調整することができます
}
}
for (int i = 0; i < 10; i++) {
if (option_nekonotama_lazer_count[i] > 0) { option_nekonotama_lazer_count[i] = option_nekonotama_lazer_count[i] - 1; }
if (option_nekonotama_lazer_count[i] == 0 && hassyasareru_option_nekonotama_lazer == i + 1) {
if (option_nekonotama_lazer[i + 1].life == 0) {
option_nekonotama_lazer[i + 1].x = option_neko.x + 10;
option_nekonotama_lazer[i + 1].y = option_neko.y + 10;
option_nekonotama_lazer_tsix[i + 1] = option_nekonotama[i + 1].x;
option_nekonotama_lazer[i + 1].life = 1;
hassyasareru_option_nekonotama_lazer = i + 2;
option_nekonotama_lazer_count[i + 1] = 30;
}
}
}
if (option_nekonotama_lazer_count[10] > 0) { option_nekonotama_lazer_count[10] = option_nekonotama_lazer_count[10] - 1; }
if (jibunnotama_lazer_count[10] == 0 && hassyasareru_option_nekonotama_lazer == 11) {
hassyasareru_option_nekonotama_lazer = 0;
}
for (int i = 0; i < 11; i = i + 1) {
if (option_nekonotama_lazer[i].life == 1) {
//🌞🌞🌞 option_nekonotama_lazer[i].lifeに1が代入されているとオプション猫のレーザー弾option_nekonotama_lazer[i]がゲーム画面に表示されることになります option_nekonotama_lazer[i].lifeに0が代入されているとオプション猫のレーザー弾option_nekonotama_lazer[i]がゲーム画面に表示されることはありません
DrawGraph(option_nekonotama_lazer[i].x, option_nekonotama_lazer[i].y, option_nekonotama_lazer[i].graphichandle[0], TRUE);
option_nekonotama_lazer[i].x = option_nekonotama_lazer[i].x + 1;
if (option_nekonotama_lazer[i].x - option_nekonotama_lazer_tsix[i] > 640)
//🌞🌞🌞発射されたオプション猫のレーザー弾option_nekonotama_lazer[i]の位置のx座標が発射されたときの最初のオプション猫のレーザー弾option_nekonotama_lazer[i]の位置のx座標から🍑左へ🍑640を超えて離れると条件式option_nekonotama_lazer[i].x - option_nekonotama_lazer_tsix[i]は真の値1をとることになります
//🌞🌞🌞🌞🌞👆 option_nekonotama_lazer_tsix[i]にはオプション猫のレーザー弾option_nekonotama_lazer[i]が発射されたときのオプション猫のレーザー弾option_nekonotama_lazer[i]のいる位置のx座標を記憶していたのでoption_nekonotama_lazer[i].xがオプション猫の弾option_nekonotama_lazer[i]が発射されたときのオプション猫のレーザー弾option_nekonotama_lazer[i]のいる位置から640ドット離れた時、条件式option_nekonotama_lazer[i].x- option_nekonotama_lazer_tsix[i] > 640は真の値1を持つことになります
option_nekonotama_lazer[i].life = 0;
}
}
//👆🌞🌞🌞新型 オプション猫から💖レーザー弾💖が10連射されるプログラムです
//👆🌞💖💖💖💖💖💖💖💖10.オプション猫のレーザー弾の挙動の設定の部分です💖💖💖💖💖💖💖💖
ソーラー「この
オプション猫のレーザー弾の挙動の設定の中の
for (int i = 0; i < 10; i++) {
if (option_nekonotama_lazer_count[i] > 0) { option_nekonotama_lazer_count[i] = option_nekonotama_lazer_count[i] - 1; }
をみると
while{}文のブロック{}内の命令文が1回繰り返し実行されるごとに
option_nekonotama_lazer_count[i]に格納される値が
1減っていきます
そして
最後は
0になるわけです
具体的には
option_nekonotama_lazer[0]が発射されると
option_nekonotama_lazer_count[0]に30が代入されます
そして
option_nekonotama_lazer_count[0]に代入される値が0になると
次の
option_nekonotama_lazer[1]
が
発射されるというわけなんだ」
マックス「ほほう
option_nekonotama_lazer_count[0]に代入される値を60にすれば
option_nekonotama_lazer[0]とoption_nekonotama_lazer[1]
の間隔は
2倍に広がるってわけだ
ということは
option_nekonotama_lazer_count[0]に代入される値を5にすれば
option_nekonotama_lazer[0]とoption_nekonotama_lazer[1]
の間隔は
6分の1になるわけだ
弾を超密集させることもできるわけだ
ようは
10連射されるレーザー弾とレーザー弾の間隔を
調整するために
option_nekonotama_lazer_count[0]
option_nekonotama_lazer_count[1]
option_nekonotama_lazer_count[2]
option_nekonotama_lazer_count[3]
option_nekonotama_lazer_count[4]
option_nekonotama_lazer_count[5]
option_nekonotama_lazer_count[6]
option_nekonotama_lazer_count[7]
option_nekonotama_lazer_count[8]
option_nekonotama_lazer_count[9]
option_nekonotama_lazer_count[10]
は
用意されているわけだ」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます