From 2794f21093b9abbe17bb2a5799f07d0711c33859 Mon Sep 17 00:00:00 2001 From: Anselme Date: Mon, 5 Oct 2015 17:00:26 +0200 Subject: [PATCH] cleaned useless or buggy modules --- app/app.pro | 11 +--- app/main.cpp | 6 +- app/packet.h | 35 ----------- app/regismodule.cpp | 15 ++--- app/regismodule.h | 1 - app/server.cpp | 147 ------------------------------------------- app/server.h | 63 ------------------- app/servermodule.cpp | 49 --------------- app/servermodule.h | 18 ------ app/simulation.cpp | 87 ------------------------- app/simulation.h | 20 ------ 11 files changed, 9 insertions(+), 443 deletions(-) delete mode 100644 app/packet.h delete mode 100644 app/server.cpp delete mode 100644 app/server.h delete mode 100644 app/servermodule.cpp delete mode 100644 app/servermodule.h delete mode 100644 app/simulation.cpp delete mode 100644 app/simulation.h diff --git a/app/app.pro b/app/app.pro index 1c853fe..433edfa 100644 --- a/app/app.pro +++ b/app/app.pro @@ -16,10 +16,7 @@ SOURCES = main.cpp \ poilaumodule.cpp \ fourasmodule.cpp \ riddles.cpp \ - todomodule.cpp \ - server.cpp \ - servermodule.cpp \ - simulation.cpp + todomodule.cpp HEADERS += \ regismodule.h \ @@ -28,8 +25,4 @@ HEADERS += \ poilaumodule.h \ fourasmodule.h \ riddles.h \ - todomodule.h \ - packet.h \ - server.h \ - servermodule.h \ - simulation.h + todomodule.h diff --git a/app/main.cpp b/app/main.cpp index 00b6552..1ff4c98 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -7,7 +7,6 @@ #include "poilaumodule.h" #include "fourasmodule.h" #include "todomodule.h" -#include "servermodule.h" class HelloWorldModule : public Module { @@ -33,12 +32,11 @@ public : int main(int argc, char *argv[]) { BotApp app = BotApp(argc, argv); - app.addModule(new HelloWorldModule()); + //app.addModule(new HelloWorldModule()); app.addModule(new RegisModule()); app.addModule(new SparrowModule()); app.addModule(new PoilAuModule()); app.addModule(new FourasModule()); - app.addModule(new TodoModule()); - app.addModule(new ServerModule()); + //app.addModule(new TodoModule()); return app.exec(); } diff --git a/app/packet.h b/app/packet.h deleted file mode 100644 index dd7545b..0000000 --- a/app/packet.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef PACKET_H -#define PACKET_H - -enum PacketType -{ - INIT_CLIENT, - DELTA_CLIENT, - INIT_SERVER -}; - -struct InitClientPacket -{ - float x; - float y; - float angle; - float vforward; - float vangle; -}; - -struct DeltaClientPacket -{ - float acceleration; - float turning; -}; - -struct InitServerPacket -{ - unsigned int nbClients; - unsigned int idClient; - // InitClientPacket list = sizeof(InitClientPacket)*nbClients - // map ? -}; - -#endif // PACKET_H - diff --git a/app/regismodule.cpp b/app/regismodule.cpp index 5a9b7fa..29864a2 100644 --- a/app/regismodule.cpp +++ b/app/regismodule.cpp @@ -1,11 +1,14 @@ #include "regismodule.h" #include "message.h" -RegisModule::RegisModule() : regisEnable(false) {} +RegisModule::RegisModule() : regisEnable(false) +{ + voc.load("../../res/vocab.txt"); +} bool RegisModule::messageHandler(Message msg) { - if(msg.args.contains("régis ?") && regisEnable) + if(msg.args.contains("régis")) { answer = say(voc.getRandNom() + " " + voc.getRandAdjectif() + " " @@ -13,14 +16,6 @@ bool RegisModule::messageHandler(Message msg) + voc.getRandNom() + "."); return true; } - else if(msg.args.compare("!initrégis") == 0) - { - regisEnable = true; - voc.load("../../res/vocab.txt"); - setNick("il_est_con_Regis"); - answer = QString("NICK %1\r\n").arg(getNick()); - return true; - } return false; } diff --git a/app/regismodule.h b/app/regismodule.h index 105a020..8546b6a 100644 --- a/app/regismodule.h +++ b/app/regismodule.h @@ -8,7 +8,6 @@ class RegisModule : public Module { - bool regisEnable; Vocab voc; public: RegisModule(); diff --git a/app/server.cpp b/app/server.cpp deleted file mode 100644 index 4fffcce..0000000 --- a/app/server.cpp +++ /dev/null @@ -1,147 +0,0 @@ -#include "server.h" -#include -#include -#include - -Server::Server(unsigned short port, QObject *parent) : QObject(parent) -{ - worldData = simulation.getWorldData(); - server = new QTcpServer(); - timer = new QTimer(); - - connect(server, SIGNAL(newConnection()), this, SLOT(on_newConnection())); - connect(timer, SIGNAL(timeout()), this, SLOT(update())); - if(server->listen(QHostAddress::Any, port)) - { - emit outMessage(QString("Listening on port %1").arg(port)); - timer->start(25); - } - else - emit errMessage(QString("Can't listen on port %1 : %2").arg(port).arg(server->errorString())); -} - -void Server::update() -{ - // check if some clients are disconnected or invalid - for(unsigned int i=0; iisOk()) - { - delete clients[i]; - clients[i] = clients.back(); - clients.pop_back(); - simulation.removeClient(i--); - } - } - // update the simulation - simulation.update(); - // send wold data to clients - for(unsigned int i=0; isendFull(*worldData, i); -} - -Server::~Server() -{ - timer->stop(); - delete timer; - for(ServerClient *c : clients) - delete c; - if(server->isListening()) - server->close(); - server->deleteLater(); -} - -void Server::on_newConnection() -{ - QTcpSocket* socket = server->nextPendingConnection(); - ServerClient* client = new ServerClient(clients.size(), socket); - if(client->isOk()) - { - simulation.addClient(); - clients.push_back(client); - connect(client, SIGNAL(receivedDelta(int,DeltaClientPacket*)), this, SLOT(onClientDelta(int,DeltaClientPacket*))); - connect(client, SIGNAL(outMessage(QString)), this, SIGNAL(outMessage(QString))); - connect(client, SIGNAL(errMessage(QString)), this, SIGNAL(errMessage(QString))); - } - else - delete client; -} - -void Server::onClientDelta(int id, DeltaClientPacket* delta) -{ - simulation.clientInput(id, *delta); -} - -ServerClient::ServerClient(int id, QTcpSocket* mySocket) : - ok(false), - myId(id), - socket(mySocket) -{ - if(socket->state() == QTcpSocket::ConnectedState) - { - ok = true; - emit outMessage(QString("New player connected : %1").arg(socket->peerAddress().toString())); - } - connect(socket, SIGNAL(disconnected()), this, SLOT(on_disconnected())); - connect(socket, SIGNAL(readyRead()), this, SLOT(on_readyRead())); -} - -ServerClient::~ServerClient() -{ - if(socket != NULL) - { - if(socket->isOpen()) - socket->close(); - socket->deleteLater(); - } -} - -void ServerClient::on_readyRead() -{ - while(socket->bytesAvailable()) - { - int type; - socket->read((char*)&type, sizeof(int)); - switch(type) - { - case DELTA_CLIENT: - { - DeltaClientPacket* delta = new DeltaClientPacket(); - socket->read((char*)delta, sizeof(DeltaClientPacket)); - emit receivedDelta(myId, delta); - } - break; - default: - emit errMessage(QString("Incorrect packet received")); - socket->close(); - break; - } - } -} - -void ServerClient::on_disconnected() -{ - emit outMessage(QString("Player disconnected")); - disconnect(socket, SIGNAL(disconnected())); - disconnect(socket, SIGNAL(readyRead())); - ok = false; -} - -void ServerClient::sendDelta() -{ - // TODO -} - -void ServerClient::sendFull(const std::vector &worldData, int id) -{ - myId = id; - InitServerPacket packet; - packet.idClient = id; - packet.nbClients = worldData.size(); - int type = INIT_SERVER; - socket->write((char*)&type, sizeof(int)); - socket->write((char*)&packet, sizeof(InitServerPacket)); - for(const InitClientPacket &info : worldData) - socket->write((const char*)&info, sizeof(InitClientPacket)); - socket->flush(); -} diff --git a/app/server.h b/app/server.h deleted file mode 100644 index 4afc796..0000000 --- a/app/server.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef SERVER_H -#define SERVER_H - -#include -#include -#include "packet.h" -#include "simulation.h" - -class QTimer; -class QTcpServer; -class QTcpSocket; -class ServerClient; - -class Server : public QObject -{ - Q_OBJECT -public: - explicit Server(unsigned short port = 20202, QObject *parent = 0); - ~Server(); - QTcpServer* server; - QTimer* timer; - Simulation simulation; - std::vector* worldData; - std::vector clients; - int currentClient; - -signals: - void outMessage(QString); - void errMessage(QString); - -public slots: - void update(); - void on_newConnection(); - void onClientDelta(int, DeltaClientPacket*); -}; - -class ServerClient : public QObject -{ - Q_OBJECT - -public: - ServerClient(int id, QTcpSocket* mySocket); - ~ServerClient(); - bool isOk() {return ok;} - void sendDelta(); - void sendFull(const std::vector &clients, int id); - -private: - bool ok; - int myId; - QTcpSocket* socket; - -public slots: - void on_disconnected(); - void on_readyRead(); - -signals: - void receivedDelta(int, DeltaClientPacket*); - void outMessage(QString); - void errMessage(QString); -}; - -#endif // SERVER_H diff --git a/app/servermodule.cpp b/app/servermodule.cpp deleted file mode 100644 index 9fb7dc0..0000000 --- a/app/servermodule.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "servermodule.h" -#include "message.h" -#include "server.h" - -ServerModule::ServerModule() : - server(NULL) -{ - -} - -bool ServerModule::messageHandler(Message msg) -{ - if(msg.command.compare(QString("PRIVMSG"), Qt::CaseInsensitive) == 0) - { - if(msg.args.compare("!server start") == 0) - { - if(server == NULL) - { - server = new Server(); - answer = QString("server started"); - return true; - } - } - else if(msg.args.compare("!server stop") == 0) - { - if(server != NULL) - { - delete server; - server = NULL; - answer = QString("server stopped"); - return true; - } - } - else if(msg.args.compare("!server") == 0) - { - if(server == NULL) - answer = QString("server is not running"); - else - answer = QString("server is running"); - return true; - } - } - return false; -} - -QString ServerModule::getName() -{ - return "server"; -} diff --git a/app/servermodule.h b/app/servermodule.h deleted file mode 100644 index 7520f0b..0000000 --- a/app/servermodule.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef SERVERMODULE_H -#define SERVERMODULE_H - -#include "module.h" - -class Server; - -class ServerModule : public Module -{ - Server* server; - -public: - ServerModule(); - virtual bool messageHandler(Message msg); - virtual QString getName(); -}; - -#endif // SERVERMODULE_H diff --git a/app/simulation.cpp b/app/simulation.cpp deleted file mode 100644 index 1502eef..0000000 --- a/app/simulation.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include "simulation.h" -#include -#include -#include - -#define PI 3.1416f -#define MAX_ANGULAR_SPEED 0.05f -#define MAX_FORWARD_SPEED 1.f -#define MAX_REVERSE_SPEED 0.2f -#define MAX_ACCELERATION 0.02f -#define MAX_DECELERATION (MAX_ACCELERATION*2) - -Simulation::Simulation() -{ - std::srand(std::time(NULL)); -} - -std::vector* Simulation::getWorldData() -{ - return &worldData; -} - -/** - * @brief Simulation::addClient is only called server-side - */ -void Simulation::addClient() -{ - InitClientPacket info; - info.x = std::rand()%30; - info.y = std::rand()%30; - info.angle = ((float)(std::rand()%360))*PI/180.f; - info.vforward = 0; - info.vangle = 0; - worldData.push_back(info); -} - -/** - * @brief Simulation::removeClient is only called server-side - */ -void Simulation::removeClient(int i) -{ - worldData[i] = worldData.back(); - worldData.pop_back(); -} - -void Simulation::clientInput(int i, const DeltaClientPacket &delta) -{ - InitClientPacket *info = &(worldData[i]); - float dvforward; - // handling speed - if(fabs(delta.acceleration) > 0.01f) // if accelerating - { - float max = delta.acceleration * info->vforward > 0 ? MAX_ACCELERATION : MAX_DECELERATION; - if(fabs(delta.acceleration) < 1) - dvforward = delta.acceleration*max; - else - dvforward = delta.acceleration > 0 ? max : -max; - } - else // not accelerating - dvforward = -info->vforward/8; - info->vforward += dvforward; - if(info->vforward>MAX_FORWARD_SPEED) - info->vforward = MAX_FORWARD_SPEED; - if(info->vforward<-MAX_REVERSE_SPEED) - info->vforward = -MAX_REVERSE_SPEED; - // handling angle - info->vangle = delta.turning; - if(abs(info->vangle) > 0.01f) - { - float x = 2*PI*fabs(info->vforward)/MAX_FORWARD_SPEED; - float maxAngularSpeed = (x/5 + 1 + cos(PI + x))*MAX_ANGULAR_SPEED; - if(info->vangle > maxAngularSpeed) - info->vangle = maxAngularSpeed; - if(info->vangle < -maxAngularSpeed) - info->vangle = -maxAngularSpeed; - } -} - -void Simulation::update() -{ - for(InitClientPacket &info : worldData) - { - info.angle += info.vangle; - info.x += std::cos(info.angle)*info.vforward; - info.y += std::sin(info.angle)*info.vforward; - } -} diff --git a/app/simulation.h b/app/simulation.h deleted file mode 100644 index 990f905..0000000 --- a/app/simulation.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef SIMULATION_H -#define SIMULATION_H - -#include "packet.h" -#include -#include - -class Simulation -{ - std::vector worldData; -public: - Simulation(); - std::vector* getWorldData(); - void addClient(); - void removeClient(int i); - void clientInput(int i, const DeltaClientPacket &delta); - void update(); -}; - -#endif // SIMULATION_H