/***********************************************************************
*Copyright (c)2012 , 天际边工作室
*All rights reserved.
**
文件名称：	NewGame.cpp
*摘要：		历史时期选择类
**
*修改历史：
*	版本    日期     作者     改动内容和原因
*   ----------------------------------------------------
*	1.0    2012-10-5  wstjb     基本的功能完成
***********************************************************************/

#include "NewGame.h"
#include "PublicFun.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

extern  PAINTSTRUCT ps;
extern 	HDC hdc;
extern 	HBITMAP hbmp; 
extern 	HBITMAP hbmp2; 
extern 	BITMAP bmp;
extern 	HDC hdcMem;
extern 	HDC hdcTmp;
extern 	RECT rect;
extern 	HWND hwnd;
extern int flag;

extern int KeyReturn;
extern int KeyEsc;
extern int KeyHome;
extern int KeySpace;
extern int KeyLeft0;
extern int KeyUp0;
extern int KeyRight0;
extern int KeyDown0;
extern int periodinfo[PERIODMAX][PERIODLINEMAX];
extern int periodsum;
/***********************************************************************
 * 说明:    NewGame类初始化函数
 * 输入参数: 无
 * 返回值  : 无
 * 功能	   : 初始化
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             wstjb          2012-10-5       完成基本功能
***********************************************************************/
void NewGame::Int()
{
	wlogfile(1,__FUNCTION__,"开始",0);
	stata=0;
	GetPeriodInfo();
	//who=new Who();
	
}

/***********************************************************************
 * 说明:    NewGame类按键函数
 * 输入参数: 无
 * 返回值  : 无
 * 功能	   : 处理按键信息
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             wstjb          2012-10-5       完成基本功能
***********************************************************************/
int NewGame::KeyDown(WPARAM KeyCode)
{
	wlogfile(1,__FUNCTION__,"开始",KeyCode);
	if(nga==1)
	{
		int rt =who.KeyDown(KeyCode);
		if(rt==-1)
		{
			nga=0;
			return -1;
		}
	}
	else
	{
	if(KeyCode==KeyDown0)
	{
		stata++;
		if(stata==periodsum)stata=0;
		History();
		return 0;
	}
	else if(KeyCode==KeyUp0)
	{
		stata--;
		if(stata==-1)stata=(periodsum-1);
		History();
		return 0;
	}
	else if(KeyCode==KeyReturn)
	{
		who.InitWho(stata);
		who.Show();
		nga=1;
		flag=3;
	}
	else if(KeyCode==KeyEsc)
	{
		nga=0;
		return -1;
	}
	else
	{
		return 0;
	}
	}
	return 0;

}

/***********************************************************************
 * 说明:    NewGame类显示函数
 * 输入参数: 无
 * 返回值  : 无
 * 功能	   : 显示
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             wstjb          2012-10-5       完成基本功能
***********************************************************************/
void NewGame::History()
{
	wlogfile(1,__FUNCTION__,"开始",0);
	ShowCG(0,"Res\\history.sbp");
	if(stata <= 3)
	{
		
		if (stata==DZNQ	)
		{
			ShowCG(100,"Res\\1dznq.sbp",8,120);
		}
		else if	(stata==CCJQ)		
		{
			
			ShowCG(100,"Res\\2ccjq.sbp",8,305);
		}
		else if	(stata==CBZZ)		
		{
			ShowCG(100,"Res\\3cbzz.sbp",410,120);
		}
		else if	(stata==SGDL)		
		{
			ShowCG(100,"Res\\4sgdl.sbp",410,305);
			
		}
	}
	else
	{
		char name[NORMALSTRLEN];
		sprintf_s(name,"Res\\period%d.sbp",stata+1);
		int t_st = stata - 4;
		ShowCG(100,name,8+(t_st/2)*402,120+(t_st%2)*185);
	}
	InvalidateRect(hwnd,NULL,false);

}