// Game.h: interface for the CGame class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GAME_H__687221F3_ACFF_4D66_97DB_88AB70E0CA59__INCLUDED_)
#define AFX_GAME_H__687221F3_ACFF_4D66_97DB_88AB70E0CA59__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <d3dx8.h>
#include <stdio.h>
#include "Helper.h"
#include "Cuboid.h"


class CGame  
{
public:
	void EnableLogging();
	bool Initialise(HWND hWnd, UINT nWidth, UINT nHeight);
	void GameLoop();
	LPDIRECT3DDEVICE8 GetDevice();
	CGame();
	virtual ~CGame();
	bool PushUp;
	bool PushDown;
	bool PushLeft;
	bool PushRight;

	
private:
	bool m_fEnableLogging;
	D3DFORMAT CheckDisplayMode(UINT nWidth, UINT nHeight, UINT nDepth);
	bool InitialiseGame();
	HRESULT InitialiseD3D(HWND hWnd, UINT nWidth, UINT nHeight);
	void Render();
//	void Render_2();
	LPDIRECT3D8 m_pD3D;
	LPDIRECT3DDEVICE8 m_pD3DDevice;
	void SetupCamera();
	void WriteToLog(char *lpszText, ...);
	DWORD m_dwFrames;
	DWORD m_dwStartTime;
	DWORD m_dwEndTime;

	CCuboid* m_pCube1;
	CCuboid* m_pCube2;
	CCuboid* m_pCube3;
	CCuboid* m_pCube4;
	CCuboid* m_pCube5;

	D3DXMATRIX matView;

	float C_UP, C_ACCEL, C_WORK;
	int aa,bb;
	BOOL WORK_VAL;
	float C_LEFT, C_ACCELX;

	float C_X, C_Z;
};

#endif // !defined(AFX_GAME_H__687221F3_ACFF_4D66_97DB_88AB70E0CA59__INCLUDED_)
