第13講 シューティングゲーム開発(完成まで)
第6話 スペースキーをたたいたときのみに弾が出るようにするには?
スペースキーを打ったときだけ弾が出るようにするという課題は、
大変難題(なんだい−難しい問題)です。
そこで考え方を今話で説明して、皆さんへの宿題にすることにしましょう。

弾短時間に何十発も撃たれますから、
tama_arunasiは変数ではなく
char tama_arunasi[100]; //弾が ある:1 ない:0 とする
と配列にします。
100にしたのは、
画面の中にある弾は高々100個程度であろうという想定からです。
いくら早撃ちの人でも画面の中に100発を超える状態を作り出すことは不可能でしょう。
今は12の速さで進み画面から消えるのに、8秒程度しかないからです。
スペースキーを打ったときのみ弾が出るということは、
tama_arunasi[100]についての
syokika()での設定は、すべてないになります。
すなわち、すべて0にすることになります。


スペースキーを押したときのみ銃を発射させる社員jyuwoutu()を採用しましょう。
ということは1つの社員にC++ファイルとヘッダファイルを割り振ってきていますので、
jyuwoutu.cppちとjyuwoutu.hという2つのファイルが必要になります。

さて、社員jyuwoutu()の中身が問題です。
スペースキーが押された瞬間に
tama_arunasi[弾数] = 1;
にします。弾数を数える変数をtamakazuとしますと、
tamakazuを0に初期化しておいて、
スペースキーが押されるたびに、
tamakazuの値を1つ増やすようにすればよいですね。
そして、tamakazuが100になった時点で
tamakazu = 0;
と0に戻せばよいですね。
もちろん、戻さないで弾切れという設定にしてもよいわけですが、
今は無限に弾が撃てるという設定ということにしましょう。
この設定だとtamakazuはchar型の変数でよいことになります。

皆さん大変むずかしいプログラムになりますが、
試行錯誤を重ねて是非実現してください。
もちろんjyu()社員に活躍してもらうことになりますよ。





第5話へ   第7話へ

第2部トップへ  第1部トップへ


初心者のための excel 2016 マクロ VBA 入門講義 基
礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための]世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップ