ページ 11

イライラ棒のステージと当たり判定

Posted: 2011年10月17日(月) 14:06
by 針山
どうも初めまして。針山と申します。
今イライラ棒のゲームを作成しようとしていますが、C++初心者なので画像を十字キーで動かすプログラムまでしか出来てないです。
そこからのステージ構成とステージとアイコンの当たり判定のプログラムが分からないので、よろしければ教えて頂ければ幸いです。

コード:

#include "DxLib.h"

int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC)
   {
	   ChangeWindowMode(TRUE);
	   if(DxLib_Init() == -1)return -1;
	
	   int ghandle = LoadGraph("h.png");
	   int x=0,y=0;
	   SetDrawScreen(DX_SCREEN_BACK);
	   while(ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0)
	   {
                ClsDrawScreen();
		   int key = GetJoypadInputState(DX_INPUT_KEY_PAD1);
		   if(key & PAD_INPUT_UP)	y=y-4;//上
		   if(key & PAD_INPUT_DOWN)y=y+4;//下
		   if(key & PAD_INPUT_LEFT)x=x-4;//左
		   if(key & PAD_INPUT_RIGHT)x=x+4;//右
		
		   DrawGraph(x,y,ghandle,TRUE);
                ScreenFlip();
	   }
	   DxLib_End();
	   return 0;
   }



Re: イライラ棒のステージと当たり判定

Posted: 2011年10月17日(月) 14:54
by softya(ソフト屋)
一気に完成させようとしても無理がありますので、1つづ片付けて行きましょう。
あとインデント(字下げ)が適当なようなので、バグの原因になるのでしっかりとインデントしてくださいね。

(1)アイコンの移動を別関数に移動する。出来れば画像のロードともに別ファイル・クラス化する。
(2)ステージデータのロード・描画の関数モジュールあるいはクラスを作成する。ステージ画像の組み立て方の検討が必要。
(3)当たり判定を作成する。形状により四角・円の当たり判定を併用する。ステージとして当たり判定のデータを持つ。
(4)複数のステージに分ける。その開始メニューや終了メニューなどゲームの仕組みを整える。

これらをすすめるに辺り、事前に下記サイトの内容を理解されることをお勧めします。
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/

ところで本当にC++で良いのでしょうか?
C言語では使わないクラスなども提案させていただくことになると思いますが。
分からないことは聞いてください。