さあC言語(DXライブラリ)を使って超繊細、美麗、箱庭シューティングゲームを作ってみましょう 超初心者向けです 0.367
int hassyasareru_jibunnotama_lazer = 0;によって生成されるint型の変数hassyasareru_jibunnotama_lazerについての説明です
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]が発射されるようにすることもできるのか?」
ソーラー「一応 できるけど微妙いかも~(*^▽^*)」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます