AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ein Spiel mit Delphi programmieren

Ein Thema von danielZ · begonnen am 16. Jun 2010 · letzter Beitrag vom 20. Jun 2010
Thema geschlossen
Seite 10 von 15   « Erste     8910 1112     Letzte »    
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#91

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:07
der nächste Schritt ist wie gesagt, das Projekt anhängen und den Programmablauf auf Papier aufschreiben.
 
danielZ

Registriert seit: 23. Dez 2009
58 Beiträge
 
#92

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:10
habe sie jetzt einfach so hingemacht, nur bei mir zeigen sich noch 14 Fehler an.
Kann mir da jemand bei den proceduren helfen, was ich falsch gemacht habe etc.
Muss bis morgen fertig werden.
Danke schonmal
Hier meine proceduren:
Was haltet ihr davon, was muss ich da verbessern?


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;
    TButton: TButton;
    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.TButtonClick(Sender: TObject);
var einsatz, guthaben, wurf1, wurf2, augensumme: byte;
begin randomize; end;
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
  ErgebnisPanel.Caption:=Einsatz verdoppelt';
faktor:= 2;
end;

11:=BEGIN
ErgebnisPanel.Caption:=
'Einsatz verdreifacht';
faktor:= 3;
end;

12:=BEGIN
ErgebnisPanel.Caption:=
'Einsatz vervierfacht';
faktor:= 4;
end;

else ErgebnisPanel.Caption:=
'Würfel auf Kippe :P';


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;
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 ;-)

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





end.

Geändert von mkinzler (20. Jun 2010 um 11:11 Uhr) Grund: Delphi-Tag eingefügt
 
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:12
habe sie jetzt einfach so hingemacht, nur bei mir zeigen sich noch 14 Fehler an.
Kann mir da jemand bei den proceduren helfen, was ich falsch gemacht habe etc.
Muss bis morgen fertig werden.
Danke schonmal
Hier meine proceduren:
Was haltet ihr davon, was muss ich da verbessern?
Nutze die Delphi-Tags (Das ist der lustige Delphi-Helm - wurde hier auch schon mal gesagt!)
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)
 
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#94

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:15
zu den Fehlern:

Zitat:
begin randomize; end;
- das end dürfte zu viel sein. Daraus resultieren einige Fehler.
- randomize nur einmal aufrufen. Am besten im OnCreate des Formulars.
Zitat:
end;//of case
- noch ein end zu viel
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#95

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:16
Irgendwie passt der Quelltext aber nicht zum geposteten Formular. Hast Du jetzt eine Imageliste oder 12 Einzelimages?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#96

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:18
habe sie jetzt einfach so hingemacht, nur bei mir zeigen sich noch 14 Fehler an.
Kann mir da jemand bei den proceduren helfen, was ich falsch gemacht habe etc.
Muss bis morgen fertig werden.
Danke schonmal
Hier meine proceduren:
Was haltet ihr davon, was muss ich da verbessern?
Du meinst abgesehen davon das du deine "Formeln" einfach nur da rein Kopiert hast ohne irgendwas zu verändern?
Du könntest z.B. schon mal das ganze an nur 2 Images anpassen und nicht in deinen "Formeln" noch munter weiter die 12 Images verwenden wollen.
Dann könntest du bei der Gelegenheit auch gleich die Namen der anderen Knöpfe mit anpassen.

Ich fasse es einfach nicht das du nach 10 Seiten Diskussion was du wie machen sollst immer noch exakt den selben Sorcecode verwendest...
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
 
danielZ

Registriert seit: 23. Dez 2009
58 Beiträge
 
#97

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:21
ich habe eine imageliste und dann habe ich die bilder da von allen sechs möglichkeiten hinzugefügt
was meinte ihr damit:- randomize nur einmal aufrufen. Am besten im OnCreate des Formulars?
 
Sfaizst

Registriert seit: 16. Jun 2008
33 Beiträge
 
#98

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:23
Von einer Imagelist sieht man ein deiner Source gar nichts,
deine Fehler kommen daher, dass du ein end; nach dem randomize im button hast und danach fleißig weiter schreibst, zudem hast du ein else nach einer case anweisung (...) und einige andere nette fehler

*edit: sorry, eine Imagelist sieht man schon, aber nicht deren verwendung....
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#99

AW: Ein Spiel mit Delphi programmieren

  Alt 20. Jun 2010, 10:24
*Nach Luft schnapp* Mach einen Doppelklick auf die Form und pack dann dort in den Quältext das Randomize rein, an der anderen Stelle wieder raus. Herrgott, stell Dich doch nicht so dusselig an.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
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)
 
Thema geschlossen
Seite 10 von 15   « Erste     8910 1112     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz