龍神録のC++verのソースをDLして見てみたのですが・・自分には難易度が高いみたいで理解に苦しみましたのでここで質問を。
※添付コード内に質問文も書いてあります。(質問用に作った円を動かすプログラムです)
以下コード
/*header*/
//test draw circle
class Circle
{
public:
Circle(void);
~Circle(void);
void calc(void);
void draw(void);
private:
int x , y;
int cnt;
int color;
};
//---------------------------------------------------
#include "test.h"
#include //DXライブラリ
Circle::Circle(void)
{
x = 100;
y = 100;
cnt = 0;
color = GetColor( 0 , 0 , 255 );
}
Circle::~Circle(void)
{
}
void Circle::calc(void)
{
x = cnt;
y = (cnt/2);
cnt++;
}
void Circle::draw(void)
{
DrawCircle(x , y , 100 , color , TRUE);
}
/*Header*/
#include"test.h"
class mainWindow
{
public:
mainWindow(void);
~mainWindow(void);
void mainLoop(void);
void calc(void);
void draw(void);
private:
Circle *cir;//円
};
//-----------------------------------
#include "main.h"
#include //DXライブラリ
//test
mainWindow::mainWindow(void)
{
/*DxLib_Initはどこに書く?*/
cir = new Circle();
}
mainWindow::~mainWindow(void)
{
/*DxLib_Endはここ?*/
}
void mainWindow::mainLoop(void)
{
//ここの書き方がわからない(以下のコード(骨格)はどこに書く?)
/*
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode(TRUE);//ウィンドウモード
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
//↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない
//ココ!!
ScreenFlip();
}
DxLib_End();
return 0;
}
*/
//上の「ココ!!」の部分に以下の2行を書けばいいのはわかるのですが、上のコードをどこにどのように書くのかわからないです。
calc();
draw();
}
void mainWindow::calc(void)
{
cir->calc();
}
void mainWindow::draw(void)
{
cir->draw();
}
自分なりに書いたのですが・・・。お願いします。
できれば、コードも書いて頂ければ嬉しいです。