From ed2c888e63eab36f656482c78e813773ecc53d1c Mon Sep 17 00:00:00 2001 From: agusgermi Date: Wed, 22 Nov 2023 17:52:27 -0300 Subject: [PATCH] feat: primeras implementaciones de Juego. Co-authored-by: mariagalindez Co-authored-by: Sebakrag --- .../java/edu/fiuba/algo3/modelo/Juego.java | 44 +++++++++++++++++++ .../java/edu/fiuba/algo3/modelo/Jugador.java | 2 +- .../java/edu/fiuba/algo3/modelo/Tablero.java | 15 +++---- .../algo3/entregas/CasosDeUsoSemana1Test.java | 21 ++++----- 4 files changed, 63 insertions(+), 19 deletions(-) diff --git a/src/main/java/edu/fiuba/algo3/modelo/Juego.java b/src/main/java/edu/fiuba/algo3/modelo/Juego.java index e322ca716..67e247f51 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/Juego.java +++ b/src/main/java/edu/fiuba/algo3/modelo/Juego.java @@ -1,4 +1,48 @@ package edu.fiuba.algo3.modelo; +import edu.fiuba.algo3.modelo.celdas.CeldaInicial; + +import java.util.*; + + public class Juego { + private Tablero tablero; + private int cantidadJugadores; // Lo borramos? Podemos pedirlo por interfaz grafica. + private ArrayList jugadores; + + public Juego() { + // Instanciar la interfaz grafica --> se pide la cantidad de jugadores y el ingreso de los nombres.?????? + // VERIFICAR QUE LOS JUGADORES INGRESADOS SEN ENTRE 2 Y 6 + this.jugadores = new ArrayList(); + + CeldaInicial celdaInicial = new CeldaInicial(); + this.tablero = new Tablero(celdaInicial); + } + + public void iniciarJuego(int cantidadCeldas){ + this.tablero.armarMapa(cantidadCeldas); + + //Cantidad de jugadores a jugar -> Lo pedimos por interfaz. + this.crearJugadores(this.cantidadJugadores); + + + } + + public void crearJugadores(int cantidadJugadores) { + for (int i = 0; i < cantidadJugadores; i++) { + Gladiador gladiador = new Gladiador(); + //Jugador jugador = new Jugador(gladiador, this.tablero.getCeldaInicial()); + //this.jugadores.add(jugador); + } + } + + // Este metodo va aca (no en Jugador): + // public boolean chequearTurno(){ + // if (this.turnos != 30) { + // this.turnos ++; + // return true; + // } else { + // return false; + // } + // } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/Jugador.java b/src/main/java/edu/fiuba/algo3/modelo/Jugador.java index 5abc26a03..2590a2568 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/Jugador.java +++ b/src/main/java/edu/fiuba/algo3/modelo/Jugador.java @@ -26,12 +26,12 @@ public boolean jugarTurno() { return aDevolver; } + // Este metodo iria en Juego: public boolean chequearTurno(){ if (this.turnos != 30) { this.turnos ++; return true; } else { - //juego.terminarPartida(); return false; } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/Tablero.java b/src/main/java/edu/fiuba/algo3/modelo/Tablero.java index 0464870fd..99b39bf07 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/Tablero.java +++ b/src/main/java/edu/fiuba/algo3/modelo/Tablero.java @@ -9,32 +9,31 @@ public class Tablero { private Celda celdaInicial; - private int tamanio; // + private int tamanio; //private ArrayList afectantes; - public Tablero(int cantidadCeldas, CeldaInicial celdaInicial) { - this.tamanio = cantidadCeldas; + public Tablero(CeldaInicial celdaInicial) { this.celdaInicial = celdaInicial; //this.afectantes = new ArrayList<>(); } - public void armarMapa(){ + public void armarMapa(int cantidadCeldas){ Afectante afectante = new Vacio(); // Esto deberia ser un RANDOM siguiendo el mapa del JSON. Celda actual = this.celdaInicial; int i = 1; - for (; i < (this.tamanio - 1); i++) { + for (; i < (cantidadCeldas - 1); i++) { Celda celdaComun = new CeldaComun(i, i, afectante); actual.setSiguiente(celdaComun); actual = celdaComun; } - Celda celdaMedio = this.buscarCeldaDelMedio(); + Celda celdaMedio = this.buscarCeldaDelMedio(cantidadCeldas); Celda celdaFinal = new CeldaFinal(celdaMedio, i, i); actual.setSiguiente(celdaFinal); } - private Celda buscarCeldaDelMedio() { + private Celda buscarCeldaDelMedio(int cantidadCeldas) { Celda celdaMedio = this.celdaInicial; - for (int i = 1; i < (tamanio / 2) ; i++) { + for (int i = 1; i < (cantidadCeldas / 2) ; i++) { celdaMedio = celdaMedio.celdaSiguiente(); } return celdaMedio; diff --git a/src/main/test/edu/fiuba/algo3/entregas/CasosDeUsoSemana1Test.java b/src/main/test/edu/fiuba/algo3/entregas/CasosDeUsoSemana1Test.java index f843104cd..011e0bf21 100644 --- a/src/main/test/edu/fiuba/algo3/entregas/CasosDeUsoSemana1Test.java +++ b/src/main/test/edu/fiuba/algo3/entregas/CasosDeUsoSemana1Test.java @@ -16,8 +16,8 @@ public void test01SeInicializaUnJugadorConLaEnergiaYElEquipamientoCorrecto() { CeldaInicial celdaInicial = new CeldaInicial(); int cantidadCeldas = 3; - Tablero tablero = new Tablero(cantidadCeldas, celdaInicial); - tablero.armarMapa(); + Tablero tablero = new Tablero(celdaInicial); + tablero.armarMapa(cantidadCeldas); Gladiador gladiador = new Gladiador(); Jugador jugador = new Jugador(gladiador, celdaInicial); @@ -39,8 +39,8 @@ public void test02JugadorSaleCorrectamenteDeLaCasillaInicial(){ CeldaInicial celdaInicial = new CeldaInicial(); int cantidadCeldas = 6; - Tablero tablero = new Tablero(cantidadCeldas, celdaInicial); - tablero.armarMapa(); + Tablero tablero = new Tablero(celdaInicial); + tablero.armarMapa(cantidadCeldas); Gladiador gladiador = new Gladiador(); Jugador jugador = new Jugador(gladiador, celdaInicial); @@ -141,8 +141,8 @@ public void test07AlHaberUnCombateConFieraSiTieneCascoPierdeQuincePuntosDeEnergi public void test08AlPasarOchoTurnosElGladiadorPasaDeNovatoASemiSenior() { CeldaInicial celdaInicial = new CeldaInicial(); int cantidadCeldas = 20; - Tablero tablero = new Tablero(cantidadCeldas, celdaInicial); - tablero.armarMapa(); + Tablero tablero = new Tablero(celdaInicial); + tablero.armarMapa(cantidadCeldas); Gladiador gladiador = new Gladiador(); Jugador jugador = new Jugador(gladiador, celdaInicial); @@ -162,8 +162,8 @@ public void test09AlLlegarAlaMetaSinLaLlaveRetrocedeAlaMitadDeLasCasillas() { // Hay que hacer la logica de ganar. CeldaInicial celdaInicial = new CeldaInicial(); int cantidadCeldas = 2; - Tablero tablero = new Tablero(cantidadCeldas, celdaInicial); - tablero.armarMapa(); + Tablero tablero = new Tablero(celdaInicial); + tablero.armarMapa(cantidadCeldas); Gladiador gladiador = new Gladiador(); Jugador jugador = new Jugador(gladiador, celdaInicial); int coordenadaXMedio = 0; @@ -176,6 +176,7 @@ public void test09AlLlegarAlaMetaSinLaLlaveRetrocedeAlaMitadDeLasCasillas() { @Test public void test10AlSerAtacadoPorUnaFieraYConTodoElEquipamientoNoPierdeEnergia() { + Celda celdaInicial = new CeldaInicial(); Gladiador gladiador = new Gladiador(); Jugador jugador = new Jugador(gladiador, celdaInicial); @@ -220,8 +221,8 @@ public void test12AlPasarTreintaTurnosYnadieLlegaAlaMetaSeTerminoElJuego() { CeldaInicial celdaInicial = new CeldaInicial(); int cantidadCeldas = 3; - Tablero tablero = new Tablero(cantidadCeldas, celdaInicial); - tablero.armarMapa(); + Tablero tablero = new Tablero(celdaInicial); + tablero.armarMapa(cantidadCeldas); Gladiador gladiador1 = new Gladiador(); Gladiador gladiador2 = new Gladiador();