www.pudn.com > goodchessGame.zip > Floor.cpp
#include "StdAfx.h"
#include "Floor.h"
#include "FloorDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CFloor::CFloor()
{
}
CFloor::~CFloor()
{
POSITION pos = m_CardList.GetHeadPosition();
while (pos != NULL)
{
CCard *pCard = m_CardList.GetNext(pos);
pCard->DestroyWindow();
delete pCard;
}
m_CardList.RemoveAll();
}
void CFloor::Initialization()
{
POSITION pos = m_CardList.GetHeadPosition();
while (pos != NULL)
{
CCard *pCard = m_CardList.GetNext(pos);
pCard->DestroyWindow();
delete pCard;
}
m_CardList.RemoveAll();
}
void CFloor::AcceptCard(CPlayer *pSourcePlayer, CCard *pCard, CWnd *pParentWnd)
{
CCard *Card;
CPoint Point(0,22);
Card = new CCard;
Card->SetStartingPoint(Point);
Card->SetBitmapIndex(pCard->GetBitmapIndex());
CFloorDialog *pDialog = (CFloorDialog*)pParentWnd;
pDialog->AddThrownCard(pSourcePlayer, Card->GetBitmapIndex());
//Card->Creation(pParentWnd, Card->GetBitmapIndex(), TRUE);
//Card->CenterWindow();
//Card->MoveWindow(0, 22, 71, 96);
if(!m_CardList.IsEmpty())
{
CCard* pInCard = m_CardList.RemoveHead();
pInCard->DestroyWindow();
delete pInCard;
}
m_CardList.AddHead(Card);
}
int CFloor::PickCard(CPlayer *pPlayer, BOOL FrontView, CWnd *pParentWnd)
{
if(m_CardList.IsEmpty())
return -1;
else
{
CCard *pCard;
pCard = m_CardList.RemoveHead();
CCard *Card = new CCard;
Card->SetStartingPoint(CPoint(0,22));
Card->SetBitmapIndex(pCard->GetBitmapIndex());
pCard->DestroyWindow();
delete pCard;
Card->Creation(pParentWnd, Card->GetBitmapIndex(), FrontView, TRUE);
return pPlayer->m_CardArray.Add(Card);
}
}