116 lines
2.4 KiB
C++
Raw Normal View History

2024-11-25 17:15:44 +08:00
#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;
}
}