Skip to content

Commit

Permalink
Como dijo 🌻 , son muchos archivos, pero calma, solamente
Browse files Browse the repository at this point in the history
anado el yaml al server

Signed-off-by: Tomas Fabrizio Orsi <[email protected]>
  • Loading branch information
lima-limon-inc committed Dec 5, 2023
1 parent 0a0b98e commit 70367d4
Show file tree
Hide file tree
Showing 13 changed files with 88 additions and 93 deletions.
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ add_executable(server
#Thread safe queue
"${COMMONDIR}/queue.h"

#Armas
# Server
"${SERVERDIR}/configServer.cpp"
)
## Macros para pasarle al server
target_compile_definitions(server PUBLIC
Expand Down
8 changes: 4 additions & 4 deletions build/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,17 @@ Viento:

Metros sin danio: 5.0
Degtorad: 0.0174532925199432957
Ancho viga: 0.8
# Ancho viga: 0.8

Velocidad movimiento: 5.0
Masa cuerpo estatico: 0.0
Distancia entre vigas: 7

Tamanio gusano: 20
# Tamanio gusano: 20
Potencia salto: 3.0
Vida gusano: 100

Tiempo espera dinamita: 99
TIempo espera provision: 45
Tiempo espera provision: 45
Tiempo espera viento: 25


Expand All @@ -31,6 +30,7 @@ Viento maximo:
Tiempo turno: 60
Tiempo changui: 3


# # Cliente # #
Dimensiones pantalla:
ancho: 640
Expand Down
2 changes: 1 addition & 1 deletion src/client/configuracionCliente.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "yaml-cpp/yaml.h"

ConfiguracionCliente::ConfiguracionCliente() {
std::ifstream fin("../src/common/config.yaml");
std::ifstream fin("config.yaml");
YAML::Node config = YAML::Load(fin);

this->dimensionesIniciales.enX = config["Dimensiones pantalla"]["ancho"].as<int>();
Expand Down
3 changes: 1 addition & 2 deletions src/common/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,14 @@ Degtorad: 0.0174532925199432957
# Ancho viga: 0.8

Velocidad movimiento: 5.0
Masa cuerpo estatico: 0.0
Distancia entre vigas: 7

# Tamanio gusano: 20
Potencia salto: 3.0
Vida gusano: 100

Tiempo espera dinamita: 99
TIempo espera provision: 45
Tiempo espera provision: 45
Tiempo espera viento: 25


Expand Down
58 changes: 15 additions & 43 deletions src/server/box2dDefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,40 +8,23 @@
class Gusano;
class Provision;

/*
*Coordenadas en Box2d:
*Arranca abajo a la izquierda.
*X:
* >: +1
* <: -1
*Y:
* ^: +1
* v: -1
*/

// Constantes de gravedad.
// WARNING: Originalmente valia 10 no 100. Ver que onda.
#define FUERZAGRAVITARIAX 0.0f
#define FUERZAGRAVITARIAY -20.0f

#define FUERZAVIENTOX 0
#define FUERZAVIENTOY 0

#define MAXALTURA 60
#define MAXANCHO 40

#define METROS_SIN_DANIO 5.0f
/*
*Coordenadas en Box2d:
*Arranca abajo a la izquierda.
*X:
* >: +1
* <: -1
*Y:
* ^: +1
* v: -1
*/

#define DEGTORAD 0.0174532925199432957f

#define ANCHOVIGA 0.8f

#define VELOCIDADMOVIMIENTO 5.0f

#define MASACUERPOESTATICO 0.0f

#define TAMANOGUSANO 20

#define NOT !

typedef b2Vec2 inicioCaja;
Expand All @@ -50,10 +33,6 @@ typedef b2Vec2 finCaja;
#define inicio first
#define fin second

#define POTENCIASALTO 3.0f

#define CANTGUSANOS 3

[[nodiscard]] inline std::pair<coordX, coordY> deb2VecACoord(b2Vec2 vec) {
std::pair<coordX, coordY> representacionCoord;
representacionCoord.enX = vec.x;
Expand Down Expand Up @@ -105,20 +84,13 @@ struct Proyectil {

struct Entidad {
TipoEntidad tipo;
// union {
Gusano *gusano;
// Viga *viga;
// Arma *arma;
ProyectilAsociado proyectil;

//Aca queriamos hacer un union pero, por algun std::pair no nos
//deja. Gracias por nada C++ >:(
Gusano *gusano;
ProyectilAsociado proyectil;
Proyectil *proyectilReal;
Provision *provision;
// };
};

#define TIEMPOESPERADINAMITA 99

#define TIEMPOESPERAPROVISION 45

#define TIEMPOESPERAVIENTO 25

#endif
36 changes: 22 additions & 14 deletions src/server/configServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,28 @@
#include "yaml-cpp/yaml.h"

ConfiguracionServer::ConfiguracionServer() {
std::ifstream fin("../src/common/config.yaml");
std::ifstream fin("config.yaml");
YAML::Node config = YAML::Load(fin);

this->dimensionesIniciales.enX = config["Dimensiones pantalla"]["ancho"].as<int>();
this->dimensionesIniciales.enY = config["Dimensiones pantalla"]["alto"].as<int>();
this->volumenInicial = config["Volumen inicial"].as<int>();

int cantJugadores = config["Cantidad maxima jugadores"].as<int>();
for (int i = 1; i <= cantJugadores; i++) {
std::stringstream jugador;
jugador << "Jugador " << i;
colorJugador colores = config["Color jugadores"][jugador.str()].as<colorJugador>();
this->coloresJugadores.push_back(colores);
}
this->pixelsPorMetro = config["Pixels por metro"].as<int>();
this->gravedad.enX = config["Gravedad"]["X"].as<float>();
this->gravedad.enY = config["Gravedad"]["Y"].as<float>();

this->viento.enX = config["Viento"]["X"].as<int>();
this->viento.enY = config["Viento"]["Y"].as<int>();

this->metrosSinDanio = config["Metros sin danio"].as<float>();

this->velocidadMovimiento = config["Velocidad movimiento"].as<float>();

this->potenciaSalto = config["Potencia salto"].as<float>();

this->vidaGusano = config["Vida gusano"].as<int>();

this->esperaDinamita = config["Tiempo espera dinamita"].as<int>();

this->esperaProvision = config["Tiempo espera provision"].as<int>();

this->esperaViento = config["Tiempo espera viento"].as<int>();

fin.close();
}
}
6 changes: 1 addition & 5 deletions src/server/configServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,11 @@ class ConfiguracionServer {
public:
std::pair<float, float> gravedad;
std::pair<int, int> viento;

float metrosSinDanio;
float degtorad;
float anchoViga;

float velocidadMovimiento;
float masaCuerpoEstatico;
int distanciaEntreVigas;

int tamanioGusano;
float potenciaSalto;
int vidaGusano;

Expand Down
24 changes: 12 additions & 12 deletions src/server/gusano.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <math.h> /* sin */
#include <time.h>


Gusano::Gusano() {
Gusano::Gusano(Mapa& mapa):
mapa(mapa){
this->direccion = DERECHA;
this->vida = 100;
this->armaEquipada = NADA_P;
Expand Down Expand Up @@ -179,14 +179,14 @@ void Gusano::realizarMovimiento(Direccion direccionDeseada) {
std::pair<coordX, coordY> direccion;
switch (direccionDeseada) {
case INICIO_DER:
direccion.enX = VELOCIDADMOVIMIENTO;
direccion.enX = config.velocidadMovimiento;
direccion.enY = 0.0f;
this->setEstado(CAMINANDO);
this->setDireccion(DERECHA);
this->cuerpo->SetLinearVelocity(deCoordAb2Vec(direccion));
break;
case INICIO_IZQ:
direccion.enX = -VELOCIDADMOVIMIENTO;
direccion.enX = -config.velocidadMovimiento;
direccion.enY = 0.0f;
this->setEstado(CAMINANDO);
this->setDireccion(IZQUIERDA);
Expand All @@ -211,8 +211,8 @@ void Gusano::realizarMovimiento(Direccion direccionDeseada) {
if (this->estado == SALTANDO) {
break;
}
direccion.enX = (this->direccion == DERECHA) ? POTENCIASALTO : -POTENCIASALTO;
direccion.enY = POTENCIASALTO*3;
direccion.enX = (this->direccion == DERECHA) ? config.potenciaSalto : -config.potenciaSalto;
direccion.enY = config.potenciaSalto*3;
b2Vec2 saltoHorizontal = deCoordAb2Vec(direccion);
this->cuerpo->ApplyLinearImpulseToCenter(saltoHorizontal,true);
this->setEstado(SALTANDO);
Expand All @@ -223,8 +223,8 @@ void Gusano::realizarMovimiento(Direccion direccionDeseada) {
if (this->estado == HACE_PIRUETA) {
break;
}
direccion.enX = (this->direccion == DERECHA) ? -POTENCIASALTO : POTENCIASALTO;
direccion.enY = POTENCIASALTO*3.5;
direccion.enX = (this->direccion == DERECHA) ? -config.potenciaSalto : config.potenciaSalto;
direccion.enY = config.potenciaSalto*3.5;
b2Vec2 saltoHorizontal = deCoordAb2Vec(direccion);
this->cuerpo->ApplyLinearImpulseToCenter(saltoHorizontal,true);
this->setEstado(HACE_PIRUETA);
Expand Down Expand Up @@ -460,9 +460,9 @@ Ataque Gusano::ejecutar(Accion accion) {
if (armaEquipada == ATAQUE_AEREO_P) {
std::pair<coordX, coordY> ataquePos;
ataquePos = this->armaSeleccionada->getCoordenadasTeletransporte();
ataquePos.enY = MAXALTURA - 20;
ataquePos.enY = this->mapa.dimensiones.enY - 20;
posicion = deCoordAb2Vec(ataquePos);
ataqueARealizar.impulsoInicial = b2Vec2(FUERZAGRAVITARIAX, FUERZAGRAVITARIAY);
ataqueARealizar.impulsoInicial = b2Vec2(config.gravedad.enX, config.gravedad.enY);
}

ataqueARealizar.posicion = posicion;
Expand Down Expand Up @@ -634,9 +634,9 @@ bool Gusano::estaQuieto() {
}

void Gusano::recibirDanioCaida(b2Vec2 velocidad) {
int distanciaQueCae = -std::pow(velocidad.y, 2) / (2.0f*FUERZAGRAVITARIAY);
int distanciaQueCae = -std::pow(velocidad.y, 2) / (2.0f*config.gravedad.enY);

if (distanciaQueCae < METROS_SIN_DANIO) {
if (distanciaQueCae < config.metrosSinDanio) {
this->setEstado(QUIETO);
return;
}
Expand Down
16 changes: 12 additions & 4 deletions src/server/gusano.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,20 @@
#define GUSANO_HEADER

#include <box2d/box2d.h>
#include "defs.h"
#include "arma.h"
#include "box2dDefs.h"

#include <ctime>
#include <atomic>

#include "box2dDefs.h"
#include "defs.h"
#include "arma.h"
#include "configServer.h"
#include "mapa.h"
//Arma que el gusano quiere crear
#define ArmaDeseada ArmaProtocolo

extern ConfiguracionServer config;

struct Ataque {
b2Vec2 posicion;
int potencia;
Expand Down Expand Up @@ -54,11 +60,13 @@ class Gusano {
//TODO Cambiar nombre
void realizarMovimiento(Direccion direccionDeseada);

Mapa& mapa;

public:

std::atomic<bool> golpeado;

Gusano();
Gusano(Mapa &mapa);

Accion getUltimaAccion();

Expand Down
5 changes: 5 additions & 0 deletions src/server/main.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
#include <cstring>
#include <iostream>
#include "server.h"
#include "configServer.h"

#define BINARIO "./server"

#define ERROR_M 1
#define SUCCESS_M 0

ConfiguracionServer config;

int main(int argc, char* argv[]) {
srand(time(NULL));
try {
Expand All @@ -22,6 +25,8 @@ int main(int argc, char* argv[]) {
<< std::endl;
}

ConfiguracionServer config = ConfiguracionServer();

Server server(argv[1]);
server.esperarQueSeCierre();
return SUCCESS_M;
Expand Down
Loading

0 comments on commit 70367d4

Please sign in to comment.