📄 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()
{
//设置假想的敌人数
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()
{
//得到当前的敌人人数
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()
{
//得到当前的敌人人数
int iEmptyCount = m_pArmy->GetEmptyCount();
//敌人数目为零的时候可以休息
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()
{
//设置假想的敌人数
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()
{
//设置假想的敌人数,呵呵,庆典期间遇到敌人,也的动手啊
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 + -