Skip to content

Commit

Permalink
Avance en la IA del jugador virtual (Issue #3)
Browse files Browse the repository at this point in the history
  • Loading branch information
igna-angel committed Nov 27, 2015
1 parent f374f54 commit 1b3b5db
Show file tree
Hide file tree
Showing 31 changed files with 74 additions and 7 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified Truco/bin/com/modelo/CircularList.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/ComparadorCartas.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/Jugador.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/JugadorVirtual.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/ManejadorDeRonda.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/Mano.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/Partido.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/Ronda.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/TrucoMain.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/Vuelta.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/acciones/envido/Envido.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/acciones/envido/FaltaEnvido.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified Truco/bin/com/modelo/acciones/envido/RealEnvido.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/acciones/truco/NoQuiero.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/acciones/truco/Quiero.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/acciones/truco/Truco.class
Binary file not shown.
Binary file modified Truco/bin/com/modelo/acciones/truco/ValeCuatro.class
Binary file not shown.
22 changes: 15 additions & 7 deletions Truco/src/com/modelo/ComparadorCartas.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,24 @@ public Carta compararCartas (Carta... cartas) {

int cantidadDeCartas = cartas.length;

this.verificarNumeroCartasCorrecto(cantidadDeCartas);
// Me parece innecesaria esta validacion, en que cambia comparar 1 o 300 cartas?
// this.verificarNumeroCartasCorrecto(cantidadDeCartas);

return compararCartas(cantidadDeCartas,cartas);
}

private void verificarNumeroCartasCorrecto(int cantidadDeCartas) {
/*private void verificarNumeroCartasCorrecto(int cantidadDeCartas) {
if (cantidadDeCartasCorrecto(cantidadDeCartas)){
return;
} else {
throw new NumeroCartasACompararIncorrectoException();
}
}
}*/

private boolean cantidadDeCartasCorrecto(int cantidad){
/*private boolean cantidadDeCartasCorrecto(int cantidad){
return (cantidad == 2 || cantidad == 4 || cantidad == 6);
}
}*/

private Carta compararCartas(int cantidadDeCartas,Carta... cartas){

Expand All @@ -55,7 +56,14 @@ public List<Carta> getCartasMasAltasQueUnaDada(Carta masAltaJugada, List<Carta>
}

public Carta getCartaMasBaja(Carta... cartas) {
// Tengo que ver como armar esto
return null;
// Comparo 1 a 1 las cartas recibidas y me quedo con la más baja
Carta masBaja = cartas[0];
Carta auxiliar = null;
for (int i=1; i < cartas.length ; i++){
auxiliar = masBaja.ganador(cartas[i]);
masBaja = (auxiliar == masBaja) ? cartas[i] : masBaja;
}

return masBaja;
}
}
21 changes: 21 additions & 0 deletions Truco/src/com/modelo/JugadorVirtual.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,25 @@ public void elegirCartaABajarYBajarla (Vuelta vuelta) {

this.bajarCarta(vuelta, cartaAJugar);
}

public void cantarTantoOFlorSiCorresponde (Ronda ronda) {
int tantoEnMano = this._mano.getTantoEnMano();
if (this._mano.florEnMano()) {
ronda.seCantoFlor();
}

else if (tantoEnMano >= MIN_TANTO_FALTA_ENVIDO) {
ronda.seCantoFaltaEnvido();
}

else if (tantoEnMano >= MIN_TANTO_REAL_ENVIDO) {
ronda.seCantoRealEnvido();
}

else if (tantoEnMano >= MIN_TANTO_ENVIDO) {
ronda.seCantoEnvido();
}
}

// VER COMO HACER PARA ACEPTAR EL TANTO
}
34 changes: 34 additions & 0 deletions Truco/src/com/modelo/Mano.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.modelo;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Stack;

Expand Down Expand Up @@ -57,5 +59,37 @@ public Carta buscarCartaQueGane(Stack<Carta> cartasYaJugadas) {

return comparador.getCartaMasBaja(cartasQueGananALaMasAlta.toArray(new Carta[this._cartas.size()]));
}

public int getTantoEnMano() {
int tantoCarta1 = this._cartas.get(0).getNumero();
int tantoCarta2 = this._cartas.get(1).getNumero();
int tantoCarta3 = this._cartas.get(2).getNumero();
int tantoParcial = 0;
if (this._cartas.get(0).getPalo() == this._cartas.get(1).getPalo()) {
tantoParcial += 20 + tantoCarta1 + tantoCarta2;
}

else if (this._cartas.get(0).getPalo() == this._cartas.get(2).getPalo()) {
tantoParcial += 20 + tantoCarta1 + tantoCarta3;
}

else if (this._cartas.get(1).getPalo() == this._cartas.get(2).getPalo()) {
tantoParcial += 20 + tantoCarta2 + tantoCarta3;
}

else if (this._cartas.get(0).getPalo() == this._cartas.get(1).getPalo() && this._cartas.get(1).getPalo() == this._cartas.get(2).getPalo()) {
tantoParcial += 20 + tantoCarta1 + tantoCarta2 + tantoCarta3;
}

else {
tantoParcial = Collections.max(Arrays.asList(tantoCarta1, tantoCarta2, tantoCarta3));
}

return tantoParcial;
}

public boolean florEnMano() {
return this._cartas.get(0).getPalo() == this._cartas.get(1).getPalo() && this._cartas.get(1).getPalo() == this._cartas.get(2).getPalo();
}

}
4 changes: 4 additions & 0 deletions Truco/src/com/modelo/Ronda.java
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,10 @@ private void agregarPuntajeDeEnvidoEspecial() {

this._partido.agregarPuntos(puntajeFinal, puntajeNulo);
}

public void seCantoFlor() {
// GENERAR
}

// public void finalizarRonda(){
// }
Expand Down

0 comments on commit 1b3b5db

Please sign in to comment.