Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

220
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!