crea un juego para cartas en js
Claro, aquí tienes un ejemplo de un juego de cartas simple en JavaScript:
// Crear un mazo de cartas
const mazo = [
{ carta: "As de corazones", valor: 1 },
{ carta: "2 de corazones", valor: 2 },
{ carta: "3 de corazones", valor: 3 },
{ carta: "4 de corazones", valor: 4 },
{ carta: "5 de corazones", valor: 5 },
{ carta: "6 de corazones", valor: 6 },
{ carta: "7 de corazones", valor: 7 },
{ carta: "8 de corazones", valor: 8 },
{ carta: "9 de corazones", valor: 9 },
{ carta: "10 de corazones", valor: 10 },
{ carta: "Jota de corazones", valor: 10 },
{ carta: "Reina de corazones", valor: 10 },
{ carta: "Rey de corazones", valor: 10 },
{ carta: "As de diamantes", valor: 1 },
{ carta: "2 de diamantes", valor: 2 },
{ carta: "3 de diamantes", valor: 3 },
{ carta: "4 de diamantes", valor: 4 },
{ carta: "5 de diamantes", valor: 5 },
{ carta: "6 de diamantes", valor: 6 },
{ carta: "7 de diamantes", valor: 7 },
{ carta: "8 de diamantes", valor: 8 },
{ carta: "9 de diamantes", valor: 9 },
{ carta: "10 de diamantes", valor: 10 },
{ carta: "Jota de diamantes", valor: 10 },
{ carta: "Reina de diamantes", valor: 10 },
{ carta: "Rey de diamantes", valor: 10 },
{ carta: "As de picas", valor: 1 },
{ carta: "2 de picas", valor: 2 },
{ carta: "3 de picas", valor: 3 },
{ carta: "4 de picas", valor: 4 },
{ carta: "5 de picas", valor: 5 },
{ carta: "6 de picas", valor: 6 },
{ carta: "7 de picas", valor: 7 },
{ carta: "8 de picas", valor: 8 },
{ carta: "9 de picas", valor: 9 },
{ carta: "10 de picas", valor: 10 },
{ carta: "Jota de picas", valor: 10 },
{ carta: "Reina de picas", valor: 10 },
{ carta: "Rey de picas", valor: 10 },
{ carta: "As de tréboles", valor: 1 },
{ carta: "2 de tréboles", valor: 2 },
{ carta: "3 de tréboles", valor: 3 },
{ carta: "4 de tréboles", valor: 4 },
{ carta: "5 de tréboles", valor: 5 },
{ carta: "6 de tréboles", valor: 6 },
{ carta: "7 de tréboles", valor: 7 },
{ carta: "8 de tréboles", valor: 8 },
{ carta: "9 de tréboles", valor: 9 },
{ carta: "10 de tréboles", valor: 10 },
{ carta: "Jota de tréboles", valor: 10 },
{ carta: "Reina de tréboles", valor: 10 },
{ carta: "Rey de tréboles", valor: 10 }
];
// Función para mezclar el mazo de cartas
function mezclarCartas() {
for (let i = mazo.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[mazo[i], mazo[j]] = [mazo[j], mazo[i]];
}
}
// Función para jugar una partida
function jugarPartida() {
let jugador = [];
let computadora = [];
// Repartir las primeras dos cartas a cada jugador
jugador.push(mazo.pop());
computadora.push(mazo.pop());
jugador.push(mazo.pop());
computadora.push(mazo.pop());
// Mostrar las cartas del jugador y la carta visible de la computadora
console.log("Cartas del jugador:", jugador);
console.log("Carta visible de la computadora:", computadora[0]);
// Continuar jugando hasta que el jugador se plante o se pase de 21
while (true) {
const respuesta = prompt("¿Quieres otra carta? (s/n)");
if (respuesta.toLowerCase() === "s") {
jugador.push(mazo.pop());
console.log("Cartas del jugador:", jugador);
let total = calcularPuntaje(jugador);
if (total > 21) {
console.log("Te has pasado de 21. ¡Has perdido!");
break;
}
} else {
break;
}
}
// Jugar la mano de la computadora
while (calcularPuntaje(computadora) < 17) {
computadora.push(mazo.pop());
}
console.log("Cartas de la computadora:", computadora);
// Calcular los puntajes finales
const puntajeJugador = calcularPuntaje(jugador);
const puntajeComputadora = calcularPuntaje(computadora);
// Mostrar el resultado del juego
if (puntajeJugador > 21) {
console.log("¡Has perdido!");
} else if (puntajeComputadora > 21) {
console.log("¡Has ganado!");
} else if (puntajeJugador > puntajeComputadora) {
console.log("¡Has ganado!");
} else if (puntajeJugador < puntajeComputadora) {
console.log("¡Has perdido!");
} else {
console.log("¡Es un empate!");
}
}
// Función para calcular el puntaje de una mano
function calcularPuntaje(mano) {
let total = 0;
let tieneAs = false;
for (let i = 0; i < mano.length; i++) {
const carta = mano[i];
total += carta.valor;
if (carta.valor === 1) {
tieneAs = true;
}
}
if (tieneAs && total + 10 <= 21) {
total += 10;
}
return total;
}
// Iniciar el juego
mezclarCartas();
jugarPartida();
Este es un juego simple de blackjack en el que el jugador juega contra la computadora. El jugador y la computadora reciben dos cartas cada uno y el jugador decide si quiere recibir más cartas o plantarse. El objetivo es acercarse lo más posible a 21 sin pasarse. La computadora juega automáticamente y trata de obtener un puntaje mayor que el jugador sin pasarse de 21. Al final, se muestra el resultado del juego
原文地址: https://www.cveoy.top/t/topic/iVN4 著作权归作者所有。请勿转载和采集!