?? state.cpp
字號:
#include "State.h"
#include <iostream>
using namespace std;
AdvanceState::AdvanceState(Army *pArmy):m_pArmy(pArmy){}
void AdvanceState::Advance()
{
cout << "Be in Advancing!" << endl;
}
void AdvanceState::Assault()
{
//設(shè)置假想的敵人數(shù)
m_pArmy->SetEmptyCount(200);
cout << "Ok!Assault!" << endl;
m_pArmy->SetState(m_pArmy->GetAssaultState());
}
void AdvanceState::Rest()
{
cout << "OK!Rest!" << endl;
m_pArmy->SetState(m_pArmy->GetRestState());
}
void AdvanceState::Fiesta()
{
cout << "sorry!can't Fiesta!" << endl;
}
AssaultState::AssaultState(Army *pArmy):m_pArmy(pArmy){}
void AssaultState::Advance()
{
cout << "Sorry! can't Advancing!" << endl;
}
void AssaultState::Assault()
{
//得到當前的敵人人數(shù)
int iEmptyCount = m_pArmy->GetEmptyCount();
//每次攻擊消滅敵人100
if ( iEmptyCount <= 0 )
{
cout << "have kill all the empty!" << endl;
return;
}
iEmptyCount -= 100;
m_pArmy->SetEmptyCount(iEmptyCount);
cout << "Ok!Assault!" << endl;
}
void AssaultState::Rest()
{
//得到當前的敵人人數(shù)
int iEmptyCount = m_pArmy->GetEmptyCount();
//敵人數(shù)目為零的時候可以休息
if ( iEmptyCount == 0 )
{
cout << "OK! Rest!" << endl;
m_pArmy->SetState(m_pArmy->GetRestState());
}
else
cout << "sorry!can't rest" << endl;
}
void AssaultState::Fiesta()
{
cout << "Sorry! can't fiesta!" << endl;
}
RestState::RestState(Army *pArmy):m_pArmy(pArmy){}
void RestState::Advance()
{
cout << "ok!Advance!" << endl;
m_pArmy->SetState(m_pArmy->GetAdvanceState());
}
void RestState::Assault()
{
//設(shè)置假想的敵人數(shù)
m_pArmy->SetEmptyCount(200);
cout << "Ok!Assault!" << endl;
m_pArmy->SetState(m_pArmy->GetAssaultState());
}
void RestState::Rest()
{
cout << "Be in Resting!" << endl;
}
void RestState::Fiesta()
{
cout << "OK!Fiesta!" << endl;
m_pArmy->SetState(m_pArmy->GetFiestaState());
}
FiestaState::FiestaState(Army *pArmy):m_pArmy(pArmy){}
void FiestaState::Advance()
{
cout << "ok!Advance!" << endl;
m_pArmy->SetState(m_pArmy->GetAdvanceState());
}
void FiestaState::Assault()
{
//設(shè)置假想的敵人數(shù),呵呵,慶典期間遇到敵人,也的動手啊
m_pArmy->SetEmptyCount(200);
cout << "Ok!Assault!" << endl;
m_pArmy->SetState(m_pArmy->GetAssaultState());
}
void FiestaState::Rest()
{
cout << "ok!Rest!" << endl;
m_pArmy->SetState(m_pArmy->GetRestState());
}
void FiestaState::Fiesta()
{
cout << "Be in Fiestaing!" << endl;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -