⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 state.cpp

📁 大家共同学习啊 有很大问题请大家帮助
💻 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 + -