ADA - ayuda con la elboracion del programa

 
Vista:

ayuda con la elboracion del programa

Publicado por maritza mejia (1 intervención) el 08/10/2007 23:56:21
Necesito ayuda para la elaboracion del programa del AHORCADO o EL X-O les AGRADECERE mucho su colaboracion
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 del ahorcado en Ada

Publicado por Alejandro (155 intervenciones) el 30/06/2023 19:58:55
Por supuesto, Maritza, puedo ayudarte con la elaboración del juego del ahorcado. Aquí tienes una posible implementación en Ada:

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
with Ada.Text_IO; -- Para entrada/salida de texto
with Ada.Integer_Text_IO; -- Para entrada/salida de enteros aleatorios
with Ada.Strings.Unbounded; -- Para manipulación de cadenas
 
procedure Ahorcado is
   package IO renames Ada.Text_IO;
   package Rand renames Ada.Integer_Text_IO;
   package Strings renames Ada.Strings.Unbounded;
 
   type Palabra is new Strings.Unbounded.Unbounded_String;
 
   MaxIntentos : constant := 7;
   Palabras : constant array(1 .. 5) of Palabra := ("GATO", "PERRO", "CASA", "ARBOL", "AUTO");
 
   function LeerLetra return Character is
      Letra : Character;
   begin
      IO.Put("Introduce una letra: ");
      IO.Get(Letra);
      return Letra;
   exception
      when others =>
         return LeerLetra;
   end LeerLetra;
 
   function EscogerPalabra return Palabra is
      Indice : Integer := Rand.Random(Max => Palabras'Length') + 1;
   begin
      return Palabras(Indice);
   end EscogerPalabra;
 
   procedure JuegoAhorcado(PalabraSecreta : in Palabra) is
      type LetrasAdivinadas is array(Character) of Boolean;
      Adivinadas : LetrasAdivinadas := (others => False);
      Intentos : Integer := 0;
   begin
      loop
         IO.Put_Line("Palabra: " & PalabraSecreta.To_String);
 
         declare
            Letra : Character := LeerLetra;
         begin
            if not Adivinadas(Letra) then
               Adivinadas(Letra) := True;
 
               if not PalabraSecreta.Contains(Letra) then
                  Intentos := Intentos + 1;
               end if;
            end if;
         end;
 
         exit when Intentos = MaxIntentos or else PalabraSecreta'Length' = PalabraSecreta'Length' - PalabraSecreta'Length' + (PalabraSecreta'Length' * Integer'Image'(Adivinadas'Length'));
 
         IO.Put_Line("Intentos restantes: " & Integer'Image'(MaxIntentos - Intentos));
      end loop;
 
      if Intentos = MaxIntentos then
         IO.Put_Line("¡Perdiste! La palabra secreta era: " & PalabraSecreta.To_String);
      else
         IO.Put_Line("¡Ganaste! Has adivinado la palabra: " & PalabraSecreta.To_String);
      end if;
   end JuegoAhorcado;
 
begin
   IO.Put_Line("¡Bienvenido al juego del ahorcado!");
 
   loop
      declare
         Respuesta : Character;
      begin
         JuegoAhorcado(EscogerPalabra);
 
         IO.Put("¿Deseas jugar de nuevo? (S/N): ");
         IO.Get(Respuesta);
         exit when Respuesta in "Nn";
      end;
   end loop;
 
   IO.Put_Line("¡Gracias por jugar!");
end Ahorcado;

Este programa permite jugar al ahorcado. Cada vez que se inicia un juego, se selecciona una palabra aleatoria de la lista de palabras y el jugador debe adivinarla. Se tiene un límite de intentos (en este caso, 7) y el jugador debe ingresar letras para intentar adivinar la palabra. El programa muestra la palabra oculta con las letras adivinadas y los intentos restantes. Al finalizar el juego, se pregunta si se desea jugar de nuevo.

Espero que esta implementación te sea útil. ¡Diviértete jugando al ahorcado!
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