Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#100

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:31
So jetzt sind die gröbsten (Schreib-)Fehler raus (und auch mal vernünftig formatiert)
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ImgList, ExtCtrls;

type
  TForm1 = class( TForm )
    EinsatzLbl : TLabel;
    EndeBtn : TButton;
    ImageList1 : TImageList;
    GuthabenLbl : TLabel;
    EinsatzCbB : TComboBox;
    Label1 : TLabel;
    Button1 {TButton} : TButton; // Eine Instanz NIE wie die Klasse benennen!
    Image1 : TImage;
    Image2 : TImage;
    procedure EndeBtnClick( Sender : TObject );
    procedure TButtonClick( Sender : TObject );

  private
    { Private-Deklarationen}
  public
    { Public-Deklarationen}
  end;

var
  Form1 : TForm1;

implementation

{$R *.DFM}

procedure TForm1.EndeBtnClick( Sender : TObject );
  begin
    close;
  end;

procedure TForm1.Button1Click( Sender : TObject );
  var
    einsatz, guthaben, wurf1, wurf2, augensumme : byte;
  begin
    randomize; // Das sollte nur EINMAL in der Anwendung aufgerufen werden
    // end; // <- Das muss weg
    Image1.Visible := false;
    Image2.Visible := false;
    Image3.Visible := false;
    Image4.Visible := false;
    Image5.Visible := false;
    Image6.Visible := false;
    Image7.Visible := false;
    Image8.Visible := false;
    Image9.Visible := false;
    Image10.Visible := false;
    Image11.Visible := false;
    Image12.Visible := false;

    einsatz := strtoint( EinsatzCbB.text );
    wurf1 := random( 6 ) + 1;
    wurf2 := random( 6 ) + 1;
    augensumme := wurf1 + wurf2;

    case augensumme of
      2 .. 6 :
        begin
          ErgebnisPanel.Caption := 'Einsatz verloren';
          faktor := 0;
        end;

      7, 8, 9 :
        begin
          ErgebnisPanel.Caption := 'Einsatz zurück';
          faktor := 1;
        end;

      10 :
        {=} begin // Das = muss weg!
          ErgebnisPanel.Caption := 'Einsatz verdoppelt '; // Ein ' fehlte
          faktor := 2;
        end;

      11 :
        {=} begin // Das = muss weg!
          ErgebnisPanel.Caption := 'Einsatz verdreifacht';
          faktor := 3;
        end;

      12 :
        {=} begin
          ErgebnisPanel.Caption := 'Einsatz vervierfacht';
          faktor := 4;
        end;

    else
      ErgebnisPanel.Caption := 'Würfel auf Kippe ';
    end; // Das fehlte hier

    case wurf1 of
      1 :
        begin
          Image1.Visible := true;
          Image1.width := 80;
        end;
      2 :
        begin
          Image2.Visible := true;
          Image2.width := 80;
        end;
      3 :
        begin
          Image3.Visible := true;
          Image3.width := 80;
        end;
      4 :
        begin
          Image4.Visible := true;
          Image4.width := 80;
        end;
      5 :
        begin
          Image5.Visible := true;
          Image5.width := 80;
        end;
      6 :
        begin
          Image6.Visible := true;
          Image6.width := 80;
        end;
    end;

    case wurf2 of
      1 :
        begin
          Image7.Visible := true;
          Image7.width := 80;
        end;
      // . durch : ersetzt
      2 :
        begin
          Image8.Visible := true;
          Image8.width := 80;
        end;
      3 :
        begin
          Image9.Visible := true;
          Image9.width := 80;
        end;
      4 :
        begin
          Image10.Visible := true;
          Image10.width := 80;
        end;
      5 :
        begin
          Image11.Visible := true;
          Image11.width := 80;
        end;
      6 :
        begin
          Image12.Visible := true;
          Image12.width := 80;
        end;
    end;
    // end;
    // of case // Da ist das End, was oben fehlte ... hier ist es zu viel

    Ergebnis2Panel.Caption := inttostr( faktor * einsatz );
  end;

end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (20. Jun 2010 um 10:46 Uhr)