0% encontró este documento útil (0 votos)
4 vistas9 páginas

Implementación de Juego de Cartas en Java

El documento presenta un programa en Java que simula un juego de cartas utilizando una baraja de cartas de naipes. Incluye clases para representar cartas, barajas, puntuaciones y el tablero del juego, así como la lógica para jugar y calcular puntuaciones. Los jugadores pueden robar cartas y colocarlas en un tablero, y el juego calcula la puntuación final basada en las cartas jugadas.

Cargado por

akathspotify
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas9 páginas

Implementación de Juego de Cartas en Java

El documento presenta un programa en Java que simula un juego de cartas utilizando una baraja de cartas de naipes. Incluye clases para representar cartas, barajas, puntuaciones y el tablero del juego, así como la lógica para jugar y calcular puntuaciones. Los jugadores pueden robar cartas y colocarlas en un tablero, y el juego calcula la puntuación final basada en las cartas jugadas.

Cargado por

akathspotify
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

import [Link].

*;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

class Carta
{
private int codePoint;

public Carta(int cp)


{
[Link] = cp;
}
public int valor()
{
int resul = 0;

if (codePoint < 0x1F0AF && codePoint > 0x1F0A0) // picas


resul = codePoint - 0x1F0A0;
else if (codePoint < 0x1F0BF && codePoint > 0x1F0B0) // corazones
resul = codePoint - 0x1F0B0;
else if (codePoint < 0x1F0CF && codePoint > 0x1F0C0) // diamantes
resul = codePoint - 0x1F0C0;
else if (codePoint < 0x1F0DF && codePoint > 0x1F0D0) // tréboles
resul = codePoint - 0x1F0D0;

return resul;
}

public String palo()


{
String resul = "";

if (codePoint >= 0x1F0A1 && codePoint < 0x1F0AF)


resul = "picas";
else if (codePoint >= 0x1F0B1 && codePoint < 0x1F0BF)
resul = "corazones";
else if (codePoint >= 0x1F0C1 && codePoint < 0x1F0CF)
resul = "diamantes";
else if (codePoint >= 0x1F0D1 && codePoint < 0x1F0DF)
resul = "tréboles";

return resul;
}

public String color()


{
String resul = "";

if ((codePoint >= 0x1F0A1 && codePoint < 0x1F0AF) || (codePoint >= 0x1F0D1
&& codePoint < 0x1F0DF))
resul = "negro";
else
resul = "rojo";

return resul;
}
public int getCodePoint()
{
return codePoint;
}

public void setCodePoint(int codePoint)


{
[Link] = codePoint;
}

public void mostrar()


{
[Link]([Link](codePoint));
}

}
class Baraja
{
private Carta mazo[];

Baraja()
{
[Link]();

private void crearBarajaMinima()


{
List<Carta> baraja = new ArrayList<>();

for (int i = 0x1F0A1; i <= 0x1F0DE; i++)


{
if (esCartaDeseada(i))
{
Carta carta = new Carta(i);
[Link](carta);
}
}

[Link] = [Link](new Carta[[Link]()]);


}

private boolean esCartaDeseada(int valor)


{
int[] valoresNoDeseados = {
0x1F0A0, 0x1F0AC, 0x1F0AF,
0x1F0B0, 0x1F0BC, 0x1F0BF,
0x1F0C0, 0x1F0CC, 0x1F0CF,
0x1F0D0, 0x1F0DC, 0x1F0AF
};

for (int valorNoDeseado : valoresNoDeseados)


{
if (valor == valorNoDeseado)
{
return false;
}
}

return true;
}

public int restantes()


{
return [Link];
}

public void barajar()


{
for (int i = 0; i < 1000; i++)
{
int pos1 = (int) ([Link]() * [Link]);
int pos2 = (int) ([Link]() * [Link]);
Carta temp = [Link][pos1];
[Link][pos1] = [Link][pos2];
[Link][pos2] = temp;
}
}

public void mezclar()


{
[Link]();
}

public Carta robar()


{
Carta resul = null;
if ([Link] > 0)
{
int pos = (int) ([Link]() * [Link]);
resul = [Link][pos];
[Link][pos] = [Link][[Link] - 1];
[Link] = [Link]([Link], [Link] - 1);
}
return resul;
}

public void reinicializar()


{
[Link]();
[Link]();
}

public Carta[] getMazo()


{
return mazo;
}

public void setMazo(Carta[] mazo)


{
[Link] = mazo;
}
public void mostrarMazo()
{
for (Carta carta : [Link])
{
//[Link]([Link]());
//[Link]([Link]([Link]()) + " ");
[Link]();
}
}

}
class Puntuaciones
{
private Map<String, Integer> puntuaciones;

public Puntuaciones()
{
[Link] = new HashMap<>();
[Link]("RF", 2800);// Escalera real (Royal Flush)
[Link]("SF", 2400);// Escalera de color (straight flush)
[Link]("4K", 2000);// Póquer (four of a kind)
[Link]("FH", 1800);// Full house
[Link]("FL", 1400);// Color (flush)
[Link]("STR", 1000);// Escalera (Strait)
[Link]("3K", 800); // Trío (three of a kind)
[Link]("2PR", 400);// Dobles parejas
[Link]("1PR", 200);// Pareja
}

public int getPuntuacion(String mano)


{
return [Link](mano, 0);
}

public void setPuntuaciones(Map<String, Integer> puntuaciones)


{
[Link] = puntuaciones;
}

public Map<String, Integer> getPuntuaciones()


{
return puntuaciones;
}

class Tablero
{
private Carta[][] tablero;
private Puntuaciones puntuaciones;

public Tablero()
{
[Link] = new Carta[5][5];
[Link] = new Puntuaciones();
}
public boolean agregarCarta(Carta carta1, int columna)
{
for (int fila = 4; fila >= 0; fila--)
{
if (tablero[fila][columna] == null)
{
tablero[fila][columna] = carta1;
return true;
}

}
return false;
}
private String obtenerMano()
{
String mano = "";

// Obtener las cartas en cada columna


for (int columna = 0; columna < 5; columna++)
{
for (int fila = 0; fila < 5; fila++)
{
Carta carta = tablero[fila][columna];
if (carta != null)
{
mano += [Link]();
}
else
{
mano += "0"; // Utilizar 0 para representar una posición vacía
}
}
}

return mano;
}

public int calcularPuntuacionFinal()


{
String mano = obtenerMano();
return [Link](mano);
}

public Carta[][] getTablero()


{
return tablero;
}
public void setTablero(Carta[][] tablero)
{
[Link] = tablero;
}
public Puntuaciones getPuntuaciones()
{
return puntuaciones;
}
public void setPuntuaciones(Puntuaciones puntuaciones)
{
[Link] = puntuaciones;
}

public void mostrarTablero()


{
for (int fila = 0; fila < 5 ; fila++)
{

for (int columna = 0; columna < 5; columna++)


{
Carta carta = tablero[fila][columna];

if(carta!= null)
{
[Link]();

}
else
{
[Link]("- ");
}
[Link]("\t");// Agrega una tabulacion
}
[Link]();

}
String mano = obtenerMano();
int puntuacion = [Link](mano);
[Link]("");
[Link]("Puntuación: " + puntuacion);

}
class Juego
{
private Tablero tablero;
private Baraja baraja;
private List<Carta> cartasIniciales;
static Scanner sc = new Scanner([Link]);
public Juego()
{
this .tablero = new Tablero();
this. baraja = new Baraja();
[Link] = new ArrayList<>();
}

public void jugar()


{
[Link]();
[Link]();

while ([Link]() < 4)


{
Carta carta = [Link]();
[Link](carta);
if (carta != null)
{
[Link]();
}
}

[Link]();
int contador = 0;
while (contador < 25 && ([Link]() != null || !
[Link]()))
{
[Link]();
[Link]();
[Link]("Cartas Iniciales");
for (Carta carta : cartasIniciales)
{
[Link]();
}

[Link]();
[Link]();
[Link]();

[Link]("Ingrese el número de carta que desea colocar (1-4):


");
int numeroCarta = [Link]();

if (numeroCarta < 1 || numeroCarta > 4)


{
[Link]("No existe el número de carta.");
continue;
}

[Link]("Ingrese la columna donde desea colocar una carta:


");
int columna = [Link]();
columna--;
[Link]();

if (columna < 0 || columna > 4)


{
[Link]("Error: no existe la columna.");
continue;
}

// Se obtiene la carta seleccionada por el jugador


Carta cartaSeleccionada = [Link](numeroCarta - 1);
[Link](numeroCarta - 1, [Link]());

if (cartaSeleccionada == null) {
[Link]("No quedan cartas en la baraja.");
break;
}

if (![Link](cartaSeleccionada, columna))
{
[Link]("La columna está llena.");
continue;
}

[Link]();
[Link]();
contador++;

int puntuacionFinal = [Link]();


[Link]("Puntuación final: " + puntuacionFinal);

public Tablero getTablero()


{
return tablero;
}

public void setTablero(Tablero tablero)


{
[Link] = tablero;
}

public Baraja getBaraja()


{
return baraja;
}

public void setBaraja(Baraja baraja)


{
[Link] = baraja;
}

public List<Carta> getCartasIniciales()


{
return cartasIniciales;
}

public void setCartasIniciales(List<Carta> cartasIniciales)


{
[Link] = cartasIniciales;
}

}
public class ryukyu
{ static Scanner sc = new Scanner([Link]);
public static void main(String[] args)
{

Juego juego = new Juego();


Tablero puntuaciones = new Tablero();
boolean salir = false;

do {
[Link]("1. Jugar");
[Link]("2. Puntuacion");
[Link]("3. Salir");
[Link]("Ingrese la opción: ");
int opcion = [Link]();

switch (opcion)
{
case 1:
[Link]();
break;
case 2:
[Link]();
break;
case 3:
salir = true;
break;
default:
[Link]("Inténtalo de nuevo");
}

[Link]();
} while (!salir);

También podría gustarte