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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
針山

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

#1

投稿記事 by 針山 » 14年前

どうも初めまして。針山と申します。
今イライラ棒のゲームを作成しようとしていますが、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;
   }



アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#2

投稿記事 by softya(ソフト屋) » 14年前

一気に完成させようとしても無理がありますので、1つづ片付けて行きましょう。
あとインデント(字下げ)が適当なようなので、バグの原因になるのでしっかりとインデントしてくださいね。

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

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

ところで本当にC++で良いのでしょうか?
C言語では使わないクラスなども提案させていただくことになると思いますが。
分からないことは聞いてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る