Delphi-PRAXiS
Seite 11 von 15   « Erste     91011 1213     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ein Spiel mit Delphi programmieren (https://www.delphipraxis.net/152246-ein-spiel-mit-delphi-programmieren.html)

Sfaizst 20. Jun 2010 10:51

AW: Ein Spiel mit Delphi programmieren
 
Damit das auch mit der ImageList funktioniert würde ich das mal so machen: (Mach ich grad deine Hausaufgaben!?)
(hab das jetz im Notepad schnell hingeklatscht, Funktion also nicht getested, deine Image3-12 hab ich einfach mal rausgeschmissen (waren ja sowieso nich auf der Form)....)

Delphi-Quellcode:

...

procedure TForm1.Create( Sender : TObject );
  begin
    Randomize; // <-- Randomize wird im Oncreate aufgerufen...
  end;

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

procedure TForm1.TButtonClick( Sender : TObject );
  var
    einsatz, guthaben, wurf1, wurf2, augensumme : byte;
  begin
  {  Image1.Visible := false;    <-- Brauch ich nich....
    Image2.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

    ImageList1.GetBitmap(Wurf1,Image1.Picture.Bitmap); //<-- Wenn Bitmaps in der Liste sind...
    ImageList1.GetBitmap(Wurf2,Image2.Picture.Bitmap); //<-- Natürlich auch für das 2. Image
    //Ich denke mal, größe der Images und der Imagelist wurde bereits im Objektinspektor eingestellt....

    Ergebnis2Panel.Caption := inttostr( faktor * einsatz );
  end;
Viel Glück weiterhin

DeddyH 20. Jun 2010 10:53

AW: Ein Spiel mit Delphi programmieren
 
Ich hab noch einen Fehler gefunden, aber den soll der TE selbst beheben ;)

danielZ 20. Jun 2010 11:02

AW: Ein Spiel mit Delphi programmieren
 
Wenn ich auf die Form mit einem Doppelklick die FormCreate hinzufügen will, klappt das nicht
es steht so da:
Der Quelltext konnte nicht gefunden werden, um die Methode FormCrate hinzuzufügen. "END." oder INITIALIZATION wurde im Quelltext der Unit nicht gefunden.

was bedeudet das, wer kann mir da helfen, weil wenn es da so steht, kann ich ja randomize in OnCreate nicht hinschreiben?!

haentschman 20. Jun 2010 11:05

AW: Ein Spiel mit Delphi programmieren
 
...und läuft´s ? :stupid:

DeddyH 20. Jun 2010 11:06

AW: Ein Spiel mit Delphi programmieren
 
Setz mal einen der Würfe zum Testen fix auf 6.

Noedel 20. Jun 2010 11:09

AW: Ein Spiel mit Delphi programmieren
 
Zitat:

Zitat von DeddyH (Beitrag 1030244)
Ich hab noch einen Fehler gefunden, aber den soll der TE selbst beheben ;)


denkst du denn, der TE weiß, dass die ImageList bei 0 anfängt zu nummerieren?

es muss (für den TE) so lauten:
Delphi-Quellcode:
    ImageList1.GetBitmap(Wurf1-1,Image1.Picture.Bitmap); //<-- Wenn Bitmaps in der Liste sind...
    ImageList1.GetBitmap(Wurf2-1,Image2.Picture.Bitmap); //<-- Natürlich auch für das 2. Image
Noedel

haentschman 20. Jun 2010 11:12

AW: Ein Spiel mit Delphi programmieren
 
Spielverderber... wir quälen uns seit Stunden (bald Tagen) dem TE auf die Sprünge zu helfen, damit er auch versteht was er treibt. :roll:

danielZ 20. Jun 2010 11:14

AW: Ein Spiel mit Delphi programmieren :warn:
 
Also ich habe noch immer nur diese Formeln, denn ich habe euch das Problem mit der OnCreate geschildert, da musste ich ja das randomize hinmachen, also wie kann ich das Prolbem beheben wenn ich mit einem DOppelklick auf die Form klicke?
Hier meine FOrmeln bis zu diesem Zeitpunkt.






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;
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';
 end;


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;

// of case //

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





end.

DeddyH 20. Jun 2010 11:16

AW: Ein Spiel mit Delphi programmieren
 
Sag mal, ignorierst Du andere Posts absichtlich? Du hast immer noch keine Delphi-Tags benutzt, die ganzen Images sind plötzlich wieder da usw. usf. Ich verliere echt die Lust :?

haentschman 20. Jun 2010 11:17

AW: Ein Spiel mit Delphi programmieren
 
benutze bitte die Delphi Tags. Markieren den Quelltext und drücke auf den Helm in der erweiterten Ansicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr.
Seite 11 von 15   « Erste     91011 1213     Letzte »    

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