//////////////////////////////////////////
// LifeGame.h
// Copyright (c) 06/20/2020 by BCCSkelton
//////////////////////////////////////////
//BCCSkeltonのヘッダー−これに必要なヘッダーが入っている
#include	"BCCSkelton.h"
//リソースIDのヘッダー
#include	"ResLifeGame.h"
//Lifeクラスのヘッダー
#include	"LifeClass.h"

/////////////////////////////////////////////////////////////////////
//CMyWndクラスをCSDIクラスから派生させ、メッセージ用の関数を宣言する
/////////////////////////////////////////////////////////////////////
class CMyWnd : public CSDI
{
public:	//以下はコールバック関数マクロと関連している
	//２重起動防止用のMutex用ID名称
	CMyWnd(char* UName) : CSDI(UName) {}
	//メニュー項目、ダイアログコントロール関連
	bool OnBegin();
	bool OnStop();
	bool OnExit();
	bool OnVersion();
	//ウィンドウメッセージ関連
	bool OnCreate(WPARAM, LPARAM);
	bool OnTimer(WPARAM, LPARAM);
	bool OnSize(WPARAM, LPARAM);
	bool OnPaint(WPARAM, LPARAM);
	bool OnClose(WPARAM, LPARAM);
};

////////////////////////////////////////////////////////////////////////
//派生させたCMyWndクラスのインスタンスとコールバック関数(マクロ）の作成
//主ウィンドウはダイアログと違い、コールバック関数は一つしか作れない
////////////////////////////////////////////////////////////////////////
CMyWnd LifeGame("LifeGame");	//ウィンドウクラスインスタンスの生成

BEGIN_SDIMSG(LifeGame)	//ダイアログと違い、コールバック関数名を特定しない
	//メニュー項目、ダイアログコントロール関連
	ON_COMMAND(LifeGame, IDM_BEGIN, OnBegin())
	ON_COMMAND(LifeGame, IDM_STOP, OnStop())
	ON_COMMAND(LifeGame, IDM_EXIT, OnExit())
	ON_COMMAND(LifeGame, IDM_VERSION, OnVersion())
	//ウィンドウメッセージ関連
	ON_CREATE(LifeGame)
	ON_TIMER(LifeGame)
	ON_SIZE(LifeGame)
	ON_PAINT(LifeGame)
	ON_CLOSE(LifeGame)
END_WNDMSG

///////////////////////
//ステータスバーの作成
///////////////////////
CSBAR SBar;

///////////////////////
//仮想ウィンドウの作成
///////////////////////
CANVAS cvs;

///////////////////////
//Life世界の作成(25x25)
///////////////////////
Life life(25, 25);
int Generation = 0;
CSTR str = "世代表示";

///////////////////////
//画像保存用CBMP変数
///////////////////////
CBMP Flower;
int Unit = 32;	//32x32 Bitmap

///////////////////////
//タイマ−関連
///////////////////////
#define		ID_TIMER 1000
bool Timer_On = FALSE;
