116 lines
2.4 KiB
C++
116 lines
2.4 KiB
C++
#include "gameserver.h"
|
|
|
|
GameServer::GameServer() : TcpEquipment()
|
|
{
|
|
|
|
}
|
|
|
|
void GameServer::sendValue(int value)
|
|
{
|
|
|
|
QString tempBuffer=QString::number(value);
|
|
tempBuffer+="|";
|
|
send2All(tempBuffer);
|
|
}
|
|
|
|
bool GameServer::IsReady()
|
|
{
|
|
return isReady;
|
|
}
|
|
|
|
void GameServer::sendLevel(GameLevel level)
|
|
{
|
|
switch (level)
|
|
{
|
|
case GameLevel::GAME_LEVEL_EASY:
|
|
send2All(gameLevelEasy);
|
|
break;
|
|
case GameLevel::GAME_LEVEL_NORMAL:
|
|
send2All(gameLevelMiddle);
|
|
break;
|
|
case GameLevel::GAME_LEVEL_HARD:
|
|
send2All(gameLevelHard);
|
|
break;
|
|
default:
|
|
send2All(gameLevelEasy);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void GameServer::sendLevel(int level)
|
|
{
|
|
sendLevel(static_cast<GameLevel>(level));
|
|
}
|
|
|
|
void GameServer::sendStart()
|
|
{
|
|
sendStatus(GameStatus::GAME_STATUS_START);
|
|
}
|
|
|
|
void GameServer::sendPause()
|
|
{
|
|
sendStatus(GameStatus::GAME_STATUS_PAUSE);
|
|
}
|
|
|
|
void GameServer::sendContinue()
|
|
{
|
|
sendStatus(GameStatus::GAME_STATUS_RESUME);
|
|
}
|
|
|
|
void GameServer::sendStop()
|
|
{
|
|
sendStatus(GameStatus::GAME_STATUS_STOP);
|
|
}
|
|
|
|
|
|
|
|
void GameServer::dealRev(QString strIP, int iPort, QByteArray buffer)
|
|
{
|
|
Q_UNUSED(iPort);
|
|
QString tempBufferString=QString(buffer);
|
|
if(tempBufferString==readyCheckString){
|
|
send2One(readyCheckString,strIP);
|
|
}
|
|
else if(tempBufferString==gameStartString){
|
|
emit gameStartReceived(strIP,iPort);
|
|
}
|
|
else if(tempBufferString==gameStopString){
|
|
emit gameStopReceived(strIP,iPort);
|
|
}
|
|
else if(tempBufferString==gameLevelEasy){
|
|
emit gameLevelSet(0);
|
|
}
|
|
else if(tempBufferString==gameLevelMiddle){
|
|
emit gameLevelSet(1);
|
|
}
|
|
else if(tempBufferString==gameLevelHard){
|
|
emit gameLevelSet(2);
|
|
}
|
|
else if(tempBufferString.contains(gameScore)){
|
|
QStringList tempList = tempBufferString.split('|');
|
|
if(tempList.count()==2){
|
|
emit gameScoreReceived(tempList.at(1).toInt());
|
|
}
|
|
}
|
|
}
|
|
|
|
void GameServer::sendStatus(GameStatus status)
|
|
{
|
|
switch (status)
|
|
{
|
|
case GameStatus::GAME_STATUS_STOP:
|
|
send2All(gameStopString);
|
|
break;
|
|
case GameStatus::GAME_STATUS_PAUSE:
|
|
send2All(gamePauseString);
|
|
break;
|
|
case GameStatus::GAME_STATUS_START:
|
|
send2All(gameStartString);
|
|
break;
|
|
case GameStatus::GAME_STATUS_RESUME:
|
|
send2All(gameContinueString);
|
|
break;
|
|
}
|
|
}
|
|
|