Visual C++ .NET - Necesito ayuda con un programa .....

 
Vista:

Necesito ayuda con un programa .....

Publicado por RRP (3 intervenciones) el 18/01/2013 06:27:45
Me estan mandando en mi segunda clase de C++ a hacer un programa (rapidito en la primera semana) que juegue el juego 23. Un juego que empieza con 23 palillos. Jugadores toman turnos donde cogen 1,2 o 3 palitos al mismo tiempo. El jugador que tome el ultimo palito pierde el juego.
En el juego el humano debe tener el primer turno y la computadora jugadora siguiendo las siguientes reglas .....
Si quedan 4 o mas palillos disponibles entonces la computadora tomara 4-x palillos, donde x es el numero de palillos que el humano tomo en el turno anterior.
Si quedan de 2 a 4 palillos, entonces la computadora debe tomar palillos suficientes asta que quede uno.
Si queda uno entonces la computadora perderia.
Cuando el humano entre el numero the palillos a tomar el programa debe hacer validacion del input.
Tienes que asegurarte que el numero entrado sea de 1 a 3 y el jugador no esta tratando de tomar mas palillos de los que quedan en la pila.

Ayuda!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Implementación del juego de los 23 palillos con jugador humano y computadora

Publicado por Alejandro (265 intervenciones) el 13/02/2024 17:48:22
¡Claro! Aquí tienes un ejemplo sencillo en C++ que implementa el juego de los 23 palillos con las reglas especificadas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
 
using namespace std;
 
int main() {
    int palillos = 23;
    int turno = 1; // 1 para humano, 2 para computadora
    int palillosTomados;
 
    while (palillos > 0) {
        cout << "Palillos restantes: " << palillos << endl;
 
        if (turno == 1) {
            // Turno del humano
            do {
                cout << "Tu turno. Ingresa el número de palillos a tomar (1-3): ";
                cin >> palillosTomados;
 
                if (palillosTomados < 1 || palillosTomados > 3 || palillosTomados > palillos) {
                    cout << "Entrada no válida. Intenta de nuevo." << endl;
                }
            } while (palillosTomados < 1 || palillosTomados > 3 || palillosTomados > palillos);
        } else {
            // Turno de la computadora
            if (palillos >= 4) {
                palillosTomados = 4 - palillosTomados; // Computadora toma 4 - x palillos
            } else {
                palillosTomados = palillos - 1; // Deja 1 palillo
            }
            cout << "La computadora toma " << palillosTomados << " palillos." << endl;
        }
 
        palillos -= palillosTomados;
        turno = 3 - turno; // Cambia el turno entre 1 y 2
    }
 
    // Determina el ganador
    if (turno == 1) {
        cout << "¡Felicidades! Has ganado." << endl;
    } else {
        cout << "La computadora gana. Mejor suerte la próxima vez." << endl;
    }
 
    return 0;
}

Este código utiliza un bucle `while` para continuar el juego hasta que no haya más palillos. Se implementa una validación de entrada para asegurarse de que el usuario ingrese un número válido de palillos para tomar. El turno cambia entre humano y computadora, y las reglas especificadas para la computadora se aplican según la cantidad de palillos restantes. Al final del juego, se imprime el resultado. ¡Espero que esto te ayude a comenzar, RRP!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar