Ir ao conteúdo

Posts recomendados

Postado

Olá eu não estou conseguindo fazer com que as mensagens apareçam na tela... se alguém quiser dar uma dica?

OBS: só aparece em  empate.

unit Unit1;
{$mode objfpc}{$H+}
interface
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type
  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
  maquina: array [1..3] of string;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
  edit1.Text := 'Pedra';

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  edit1.Text := 'Papel';

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  edit1.Text := 'Tesoura';

end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Edit2.Text := maquina[Random(3) + 1];
  if (Edit1.Text = Edit2.Text) then
  begin
    ShowMessage('Empate');
    exit;
  end;

  if (Edit2.Text = 'pedra') and (Edit1.Text = 'papel') then
  begin
    ShowMessage('você perdeu');
  end;
  if (Edit2.Text = 'papel') and (Edit1.Text = 'pedra') then
  begin
    ShowMessage('você ganhou');
  end;

  if (Edit1.Text = 'papel') and (Edit2.Text = 'tesoura') then
  begin
    ShowMessage('você perdeu');
  end;
  if (Edit1.Text = 'tesoura') and (Edit2.Text = 'papel') then
  begin
    ShowMessage('você ganhou');
  end;

  if (Edit1.Text = 'tesoura') and (Edit2.Text = 'pedra') then
  begin
    ShowMessage('você perdeu');
  end;
  if (Edit1.Text = 'pedra') and (Edit2.Text = 'tesoura') then
  begin
    ShowMessage('você ganhou');
  end;

end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
  edit2.Text := maquina[Random(3) + 1];
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
  maquina[1] := 'Pedra';
  maquina[2] := 'Papel';
  maquina[3] := 'Tesoura';
end;

end.

 

  • Membro VIP
Postado

Olá.

 

1#

Esse código está em Pascal ou em Delphi? qual compilador ou IDE está utilizando?

 

 

 

2#

Essa é a unit, correto? poste também o código que está utilizando ela.

 

obs.: para postar um código, clique antes no botão <> e coloque o texto lá.

 

 

 

3#

As condições das verificações são mutuamente excludentes, ou seja, tem que usar else nesses if.

 

 

 

4#

Ora você está usando as iniciais das opções em maiúsculo, ora está usando minúsculo, mas o Pascal/Delphi é case-sensitive, ou seja, use o mesmo padrão (ou só com maiúsculo, ou só com minúsculo).

 

"Pedra" é diferente de "pedra".

 

 

***

 

No aguardo.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!