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

crea un juego para cartas en js

原文地址: https://www.cveoy.top/t/topic/iVN4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录