Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

216
Visualizações
Alternar entre el turno del usuario y el de la computadora (juego de cartas react.js)

Dados 4 jugadores en un juego de cartas de corazones donde los jugadores juegan en sentido contrario a las agujas del reloj: p1 -> p2 -> p3 -> p4.

Si p3 tiene que jugar primero, seleccione la tarjeta para p3 y p4, luego espere a que el usuario seleccione la tarjeta, luego reanude a p2 para seleccionar la tarjeta.
Si p4 comienza, seleccione p4, espere p1 y reanude p2 y p3...

Esta es la alternancia que estoy tratando de averiguar.

Ejemplo: la computadora elige

 {p2: ['A', '♣'], p3:['2', '♣'], p4:['J', '♣'] }

y el jugador elige

 p1:['Q', '♣']

En este turno, p3 comienza, luego p4, luego espera a p1 (usuario) y finalmente reanuda para p2

Intenté tener dos estados:

 const [playerCard, setplayerCard] = useState(null) const [compCards, setCompCard] = useState(null)

pero estoy teniendo dificultades para cambiar entre los dos. También probé generadores pero soy nuevo en ese tema. Se agradecerá cualquier código o pseudocódigo que pueda ser de orientación.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Tendrás que definir un montón de funciones (como cualquier juego), si se alcanza o no el objetivo, el estado actual y la función para actualizar el estado actual, el turno actual y una lista de acciones que se pueden completar según sobre el estado actual del juego.

 const enum PLAYER_TYPES { COMPUTER, HUMAN, } const gameConfig = [ PLAYER_TYPES.HUMAN, PLAYER_TYPES.COMPUTER, PLAYER_TYPES.COMPUTER, PLAYER_TYPES.COMPUTER, ]; const nextTurn = (turn) => { return (turn % gameConfig.length) + 1; }; const Game = () => { const [turn, setTurn] = useState(1); // Define actions that can happen based on the state of the game const actions = (turn) => { if (gameIsOver()) { return; } const type = gameConfig[turn - 1]; let choice; switch(type) { case PLAYER_TYPES.HUMAN: { choice = await userChoice(turn); break; } case PLAYER_TYPES.COMPUTER: { choice = aiChoice(turn); break; } } setCards(turn, choice); setTurn(nextTurn(turn)); }; // Run the action for this turn useEffect(() => { actions(turn); }, [turn]); };
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda