弾の生成・管理
Posted: 2011年9月13日(火) 20:07
リストを使って弾の管理をしたいのですがさっぱりわかりません。誰かご教授願います。
#include <list>
#include <iostream>
#include "DxLib.h"
using namespace std;
class Hyouteki
{
int x;
public:
Hyouteki(){ x = 500; };
int GetX(){ return x;};
void Move(){ x -= 2;};
};
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int Cr ;
// ウインドウモードに変更
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
Hyouteki *p;
// 白色の値を取得
Cr = GetColor( 255 , 255 , 255 ) ;
SetDrawScreen( DX_SCREEN_BACK ) ;
int point;
list<Hyouteki*> list; // 双方向リスト?
p = new Hyouteki;
list.push_back( p );
list.pop_front();
point = 2;
switch(point){
case 1://初期化
point = 2;
break;
case 2://メインループ
while(CheckHitKey(KEY_INPUT_ESCAPE) == 0){
ClearDrawScreen();
DrawLine(500,50,500,150,GetColor(255,0,0));
DrawLine(100,50,100,150,GetColor(255,0,0));
if( ProcessMessage() == -1 )
{
break; // エラーが起きたらループを抜ける
}
//標的の作成
p->Move();
//キーチェック
//描画
DrawString(p->GetX(),100,"□",GetColor(255,255,255));
if( p->GetX() == 100 ){
delete[]p;
}
ScreenFlip();
}
break;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}