📄 drinkmachine.cpp
字号:
#include "stdafx.h"
#include "DrinkMachine.h"
#include <iostream>
using namespace std;
CDrinkMachine::CDrinkMachine()
{
m_dNumberCoin = 0;
m_blance =0;
m_state = m_soldOutState;
m_haveCoinState = new CHaveCoinState(this);
m_noCoinState = new CNoCoinState(this);
m_soldState = new CSoldState(this);
m_soldOutState = new CSoldOutState(this);
InitDrinkStorage(); //新机器,初始化装箱
SetSellOverLights();
}
void CDrinkMachine::InitDrinkStorage()
{
m_drinkStorage[0] = new CDrinkStorage("CocaCola",3,2.5);
m_drinkStorage[1] = new CDrinkStorage("Sprite",0,2.5);
m_drinkStorage[2] = new CDrinkStorage("Water",4,1.0);
m_drinkStorage[3] = new CDrinkStorage("GreenTea",2,3.0);
m_drinkStorage[4] = new CDrinkStorage("Orangeade",6,3.5);
if ( m_drinkStorage[0]->GetDrinkCount() >0
||m_drinkStorage[0]->GetDrinkCount() >0
||m_drinkStorage[0]->GetDrinkCount() >0
||m_drinkStorage[0]->GetDrinkCount() >0
||m_drinkStorage[0]->GetDrinkCount() >0
||m_drinkStorage[0]->GetDrinkCount() >0)
{
m_state = m_noCoinState;
}
}
void CDrinkMachine::InsertCoin(double dCoinValue)
{
//m_dNumberCoin += dCoinValue;
m_state->InsertCoin(dCoinValue);
}
double CDrinkMachine::EjectCoin()
{
return m_state->EjectCoin();
}
void CDrinkMachine::SelectDrinkButton(int nkindNum)
{
m_state->SelectDrinkButton(nkindNum);
}
void CDrinkMachine::DispenseDrink(int nkindNum)
{
m_state->DispenseDrink(nkindNum);
}
void CDrinkMachine::SetState(CState* state)
{
m_state = state;
}
void CDrinkMachine::SetSelectLights()
{
for (int i = 0;i < NUMBER;i++)
{
if ((m_dNumberCoin - m_drinkStorage[i]->GetDrinkPrice()) >= 0)
{
m_bSelectLight[i] = true;
}
else
{
m_bSelectLight[i] = false;
}
}
}
void CDrinkMachine::SetSellOverLights()
{
for (int i = 0;i < NUMBER;i++)
{
if (m_drinkStorage[i]->GetDrinkCount() > 0)
{
m_bSellOverLight[i] = false;
}
else
{
m_bSellOverLight[i] = true;
}
}
}
CState* CDrinkMachine::GetNotEnoughCoinState()
{
return m_noCoinState;
}
CState* CDrinkMachine::GetHaveEnoughCoinState()
{
return m_haveCoinState;
}
CState* CDrinkMachine::GetSoldOutState()
{
return m_soldOutState;
}
CState* CDrinkMachine::GetSoldState()
{
return m_soldState;
}
CString CDrinkMachine::GetInfoLED()
{
return m_infoLED;
}
void CDrinkMachine::SetInfoLED(CString strInfo)
{
m_infoLED = strInfo;
}
double CDrinkMachine::GetTotalCoin()
{
return m_dNumberCoin;
}
void CDrinkMachine::SetBuyedDrinkName(CString strBuyedDrinkName)
{
m_BuyedDrinkName = strBuyedDrinkName;
}
CString CDrinkMachine::GetSetBuyedDrinkName()
{
return m_BuyedDrinkName;
}
void CDrinkMachine::SetBlance(double blance)
{
m_blance = blance;
}
double CDrinkMachine::GetBlnce()
{
return m_blance;
}
void CDrinkMachine::GetBackBlnce()
{
m_blance = 0.00;
}
void CDrinkMachine::GetBackBuyedName()
{
m_BuyedDrinkName = "";
}
void CDrinkMachine::TurnoffSellOverLights()
{
for (int i = 0;i < NUMBER;i++)
{
m_bSellOverLight[i] = false;
}
}
void CDrinkMachine::TurnOffAllSelectLights()
{
for (int i = 0;i < NUMBER;i++)
{
m_bSelectLight[i] = false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -