![]() |
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:
Viel Glück weiterhin... 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; |
AW: Ein Spiel mit Delphi programmieren
Ich hab noch einen Fehler gefunden, aber den soll der TE selbst beheben ;)
|
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?! |
AW: Ein Spiel mit Delphi programmieren
...und läuft´s ? :stupid:
|
AW: Ein Spiel mit Delphi programmieren
Setz mal einen der Würfe zum Testen fix auf 6.
|
AW: Ein Spiel mit Delphi programmieren
Zitat:
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:
Noedel
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 |
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:
|
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. |
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 :?
|
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 22:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz