キー入力がされているかを確認するための変数?も用意します(ちょっとややこしいのであとで)。[ブロック]これも移動しませんので、移動用の変数はなし。10.0f)....という感じで並べていきます。配列を用いるのがいいかと思います。球との当たり判定処理ですが、円形の判定処理がよく分からないです。できれば、こちらも教えていただけると幸いです。それか、球の当たり判定処理を四角形だけで処理するというのはどうでしょうか?幾つか問題がありますので列挙します。・移動するバーは左上座標とサイズにした方が後々楽ですね。理由は座標を書き換えるだけで移動できます。4点だと4点とも書き換えないと行けません。・当たり判定の都合上、全部の座標の持ち方を統一した方が良いのでバー、枠、ブロックを統一します。・ブロックは生存・非生存の管理が必要です。・これは提案ですが、ブロック全体をオブジェクトではなく、ブロック1つ1つをオブジェクトにしませんか?・球が移動するときのパラメータはそれだけで足りますか?・表示するときの色とかも指定してください。・あと書き方の問題ですが、項目がよくわかるように一行一項目にしてください。座標x,yは一行でOKです。・初期位置は表示位置と別に定義してください。当たり判定は四角同士にしても良いですよ。その場合は球も四角にしてください。しないとプログラムするときに頭が混乱しますので。球じゃなくてキューブって事で。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。[枠]初期位置は画面左端上(0,0)から、(0,480)まで、さらに右端上(637,0)から、(637,480)までとします。あと、画面上端の枠は、(3,0)から、(637,0)まで。移動しないので、移動用変数は用意しない。412.0f)とする。縦横ともに12ピクセル。発射角度の変数もいりますね(たぶん)。angleと宣言し、rand()関数で-45~-60,45~60度に設定します。mx,myと宣言しておきます。色はこれもシルバーで。キー入力がされているかを確認するための変数?も用意します(ちょっとややこしいのであとで)。[ブロック]これも移動しませんので、移動用の変数はなし。10.0f)....という感じで並べていきます。配列を用いるのがいいかと思います。これは1つ1つをオブジェクトにしたつもりですが、違いますか?キューブの変数がいまいち思いつきません。設計も大事なんですが、どんなにうまく設計してもおそらく納得のいかないことができたり強引に実装したりすることになる部分があると思います。そこの修正において結局自分で調べるなりすると思うのでとにかく手をうごかすことの方が大事というか結局は勉強になるのでは、と思いました。ちなみに私は某ゲーム会社勤務ですが新人さんにがよく読んでいる本を一応挙げておきます。C++何か参考になれば幸いです。9年前まめっちさんの紹介している本は良い本なので、ぜひ読んで欲しいですね。これはこれで意味の有ることだと私は思っておりますので、Suikabaさんに異論がなければ続けたいと思います。気づかましたが、立方体ではないのでキューブじゃなくスクエアですね(^^;まぁ、キューブということ続けます。気になる点は、まだ統一が不十分ですね。クラスの継承や当たり判定の処理の一元化を考えると出来るだけ同じ変数を持つように考えましょう。各オブジェクトに座標、サイズ、色の変数で統一するのがお勧めです。書き忘れましたが枠もオブジェクト3つで構成したほうが良いと思います。それに関連してブロックを配列にすると言う話が書いてありますが、オブジェクトのインスタンスを配列にするのが私は良いと思います。キューブで不足しているのは、移動時の速度です。要件定義では書いてあったはずですがなくなっています。あと速度と角度にするかベクトルにするかはお好みで。「移動距離を計算する変数」がいるかどうかって話はローカル変数で済む物なら不要としましょう。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。9年前>>まめっちさんありがとうございます。参考にさせていただきます。ゲームプログラマーになるまえに~ってやつは気になってたので今度見てみます。//ブロック、バーなどのサイズ色の変数ってどうづればいいですかね?あと、今回はベクトルでやって生きたいと思います。[枠]枠はこれで3つにしたつもりでした。説明下手ですいません。初期位置は画面左端上(0,0)から、(0,480)まで、さらに右端上(637,0)から、(637,480)までとします。あと、画面上端の枠は、(3,0)から、(637,0)まで。移動しないので、移動用変数は用意しない。412.0f)とする。縦横ともに12ピクセル。発射角度の変数もいりますね(たぶん)。angleと宣言し、rand()関数で-45~-60,45~60度に設定します。移動速度は、1フレームに4ピクセル進むようにします。色はこれもシルバーで。キー入力がされているかを確認するための変数?も用意します(ちょっとややこしいのであとで)。キー入力がされている間、バーは押された方向に1フレーム3ピクセルで移動するようにします。[ブロック]これも移動しませんので、移動用の変数はなし。10.0f)....という感じで並べていきます。配列を用いるのがいいかと思います。9年前まず、統一する変数と初期値を各要素に書いといてくださいね。枠・スクエア・バー・ブロックは全て統一できると思います。[枠]3つのインスタンスを配列で生成。color;で良いですね。DXライブラリのGetColor()の戻り値です。色はとりあえず白とかシルバーと書いておいてください。>あと、今回はベクトルでやって生きたいと思います。スクエアにベクトルが抜けていますね。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。3つのインスタンスを配列で生成。(3,480)、(3,480)、(640-6,3)色はシルバーで。x,y,z)でいいんでしょか?初期化位置(314,412)初期サイズ(12,12)移動速度は、1フレームに4ピクセル進むようにします。色はこれもシルバーで。408)初期サイズ(12,80)キー入力がされているかを確認するための変数?も用意します(ちょっとややこしいのであとで)。キー入力がされている間、バーは押された方向に1フレーム3ピクセルで移動するようにします。250個のインスタンスを配列で生成。9年前>DirectXでやってみようかなと思いましたが、DXライブラリのほうがいいですかね?難しいことをしたいなら止めませんが、私はDiectX5辺りで止まっている上にほとんど忘れているので余りお助けできないと思います。言うかDirectXで作成経験はあるのでしょうか?もし新しいことを2つも始めるとしたら混乱に拍車がかかるので避けたほうが良いと思いますが。内容ですが・2Dゲームのブロック崩しでスクエアのベクトルに三次元めの方向はないですからZ方向のベクトルは不要です。これを直せばほぼ終了なので、つぎはクラス設計してみましょうか。変数はほぼ出来ているので、各オブジェクトのメンバ関数の定義を字で書いてみましょうか。引数、コンストラクタもお忘れなく。0,1,2の番号で枠の座標とサイズが決まります。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。9年前[枠]コンストラクタ(番号)・・・0,1,2の番号で枠の座標とサイズが決まります。英語でも、どちらでも可です。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。