sábado, 17 de noviembre de 2012

Un programa sencillo con Lazarus Pascal



Se trata de una aplicación que pide genera dos números aleatorios y pide al usuario introducir la suma de esos dos números, y cuenta el número de intentos, aciertos y fallos.

El código.

unit Unit1;
{$mode objfpc}{$H+}
interface
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
  Elementos=record
    aciertos:integer;
    fallos:integer;
    intentos:integer;
    end;
  { TForm1 }
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
var
  Form1: TForm1;
  elemento:Elementos;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
elemento.aciertos:=0;
elemento.fallos:=0;
elemento.intentos:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  alea1,alea2:integer;
begin
    randomize;
    alea1:=random(102)-25;
    alea2:=random(102)-22;
    Edit1.Text:=inttostr(alea1);
    Edit2.Text:=inttostr(alea2);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
  numero,suma:integer;
begin
    numero:=strtoint(InputBox('Introduce resultado','Aqui:',''));
    {ShowMessage('Introduciste: '+ inttostr(numero));  }
    suma:=strtoint(Edit1.Text)+strtoint(Edit2.Text);
  if suma = numero then
    begin
{aqui deberia incrementarse el valor}
    elemento.aciertos:=elemento.aciertos+1;
    elemento.intentos:=elemento.intentos+1;
    Edit4.Text:=inttostr(elemento.aciertos);
   Edit5.Text:=inttostr(elemento.fallos);
   Edit6.Text:=inttostr(elemento.intentos);
    end
  else
     begin
{aqui deberia incrementarse el valor}
     elemento.fallos:=elemento.fallos+1;
    elemento.intentos:=elemento.intentos+1;
     Edit4.Text:=inttostr(elemento.aciertos);
   Edit5.Text:=inttostr(elemento.fallos);
   Edit6.Text:=inttostr(elemento.intentos);
     end
end;
end.


2 comentarios:

  1. Tengo una duda sobre pascal. Con las funciones chr y ord puedo pasar de un código ascii al carácter y viceversa. Que funciones uso para obtener códigos utf-8?

    ResponderEliminar
  2. Tal vez revisando la documentación de FreePascal tengas más alternativas http://www.freepascal.org/docs-html/

    ResponderEliminar

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog