Adivina el Número
Éste pequeño proyecto muestra un juego de adivinar el número.
Se parte con el principio básico de obtener los datos de usuario. para esto ejemplificamos con un programa de calculadora simple.
Juego de Calculadora Simple
with Ada.Text_IO, Ada.Integer_Text_IO;
procedure Guess is
primero, segundo : Integer;
begin
Ada.Text_IO.Put ("Ingresa dos números: ");
Ada.Integer_Text_IO.Get (primero);
Ada.Integer_Text_IO.Get (segundo);
Ada.Text_IO.Put ("La suma es:");
Ada.Integer_Text_IO.Put (primero + segundo);
Ada.Text_IO.New_Line;
end Guess;
Luego se puede crear un juego de adivinar el número un poco más complejo.
Juego de Adivinar el Número
with Ada.Text_IO;
with Ada.Integer_Text_IO;
with Ada.Numerics.Discrete_Random;
with Ada.IO_Exceptions;
procedure Guess is
subtype Guess_Type is Positive range 1..100;
guess : Guess_Type;
package Random_Guess is new Ada.Numerics.Discrete_Random(Result_Subtype => Guess_Type);
gen : Random_Guess.Generator;
secret_number : Guess_Type;
begin
Ada.Text_IO.Put_Line("¡Adivina el número!");
Random_Guess.Reset(gen);
secret_number := Random_Guess.Random(gen);
loop
begin
Ada.Text_IO.Put_Line("Ingresa el número que piensas que es el correcto");
Ada.Integer_Text_IO.Get(Item => guess);
Ada.Text_IO.Put("Tu selección: ");
Ada.Integer_Text_IO.Put(guess);
Ada.Text_IO.New_Line;
if guess < secret_number then
Ada.Text_IO.Put_Line("¡Muy pequeño!");
elsif guess > secret_number then
Ada.Text_IO.Put_Line("¡Muy grande!");
else
Ada.Text_IO.Put_Line("¡Excelente, Adivinaste!");
end if;
exit when guess = secret_number;
exception
when Error : Ada.IO_Exceptions.Data_Error => Ada.Text_IO.Skip_Line;
end;
end loop;
end Guess;