Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi würfelprogramm (https://www.delphipraxis.net/115799-wuerfelprogramm.html)

anni 18. Jun 2008 07:40


würfelprogramm
 
hejhej.
hab ein problem und zwar sollen wir ein einfaches würfelspiel in delphi programmieren,
wobei der würfel in 2D angezeigt werden muss..
kann mir da irgendwer helfen??
bin jetzt soweit,aber es klappt nicht wirklich...
__________________________________________________ __
procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
case zahl of
1: Image1.Picture.Loadfromfile(w1.bmp);
2: Image1.Picture.Loadfromfile(O:\\hermann\home\akauf mann\profile\Eigene Dateien\Eigene Bilder\w2.bmp);
3: Image1.Picture.Loadfromfile(O:\\hermann\home\akauf mann\profile\Eigene Dateien\Eigene Bilder\w3.bmp);
4: Image1.Picture.Loadfromfile(O:\hermann\home\akaufm ann\profile\Eigene Dateien\Eigene Bilder\w4.bmp);
5: Image1.Picture.Loadfromfile(O:\hermann\home\akaufm ann\profile\Eigene Dateien\Eigene Bilder\w5.bmp);
6: Image1.Picture.Loadfromfile(o:\hermann\home\akaufm ann\profile\Eigene Dateien\Eigene Bilder\w6.bmp);
end;
end;

end.
__________________________________________________ ___

wär super wenn ihr mir sagen könntet wie ich die würfelbilder angezeigt bekomme!!

angos 18. Jun 2008 07:47

Re: würfelprogramm
 
Hi und herzlich willkommen in der DP :dp:

das ist doch schonmal ein Anfang den du da hast.

Folgende Tips:
- randomize nur einmal zum start des Programmes aufrufen. Dieser Befehl initialisiert nur die nächsten "Zufallswerte"
- deine Variable zahl musst du auch noch deklarieren ;)
- und dann musst du ja nur deiner zahl einen Zufallswert zuweisen. mit dem Befehl Random. Schau dazu mal in die Onlinehilfe


Gruß
angos

Larsi 18. Jun 2008 07:51

Re: würfelprogramm
 
Hi,

herzlich Willkommen in der Delphi- Praxis :dp:

Wo ist dennd ie Variable Zahl dekliniert?

Also ich würde erstmal einen Bereich machen in dem die Zufallszahlen überhaupt sein können:

Delphi-Quellcode:
function Zufallszahl(Von, Bis: Integer): Integer;
begin
  Result := Random(Succ(Bis - Von)) + Von;
end;

Das Randomize könntest du in FormOnCreate schreiben, dass muss nicht so oft aufgerufen werden.

Dann muss die Variable Zahl dekliniert sein:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Zahl: Integer;
begin
...
end;

Dann musst du die durch die oben genannte Funktion der Variable Zahl einen Wert zwischen 1 und 6 zugeben und es müsste gehen.


Setzte deinen Delphi Code bitte in Tags sodass man ihn einfacher sehn kann.


MFG Lars Wiltfang


Edit: Zu spät :( :)

DeddyH 18. Jun 2008 07:54

Re: würfelprogramm
 
Und Quellcode bitte in Delphi-Tags einschließen ([ delphi] und [ /delphi] ohne die Leerzeichen). Außerdem bitte auch mitteilen, wo es hakt, "funktioniert nicht" ist keine aussagefähige Fehlerbeschreibung.

P.S.: Auch von mir Willkommen in der DP :dp:

@Larsi: deklinieren ist etwas anderes :zwinker:

Corpsman 18. Jun 2008 07:58

Re: würfelprogramm
 
Nachdem man davon ausgehen kann das du sehr heäufog würfelst, und die Würfelbilder ansich klein sind würde ich dir ein Array of TBitmap empfehlen, dann hast du weniger HDD zugriffe.

Delphi-Quellcode:

var Bilder:Array[1..6] of Tbitmap;

Procedure TForm1.create ( .. ) ;
var i:Integer;
begin
  for i := 1 to 6 do begin
    bilder[i] := Tbitmap.create;
    Bilder[i].loadfromfile(Dateimane+inttostr(i));
  end;
  randomize;
end;

procedure TForm1.Button1Click(Sender: TObject);
var Zahl:Integer;
begin
  zahl := Random(6)+1;
  Image1.Picture.assign(Bilder[Zahl]);
 ..
end;

Larsi 18. Jun 2008 07:59

Re: würfelprogramm
 
Zitat:

Zitat von DeddyH
@Larsi: deklinieren ist etwas anderes :zwinker:

[OT] Latein hat eben doch negative Auswirkungen :stupid: [OT]

angos 18. Jun 2008 08:01

Re: würfelprogramm
 
@Larsi,

Delphi-Quellcode:
function Zufallszahl(Von, Bis: Integer): Integer;
begin
  Result := Random(Succ(Bis - Von)) + Von;
end;
dafür gibts schon eine Funktion in Delphi [Edit] ab Delphi 6, danke Corpsman[/Edit] ;) schau mal nach RandomRange

Gruß
angos

Corpsman 18. Jun 2008 08:04

Re: würfelprogramm
 
@angos

in D5 gibts die noch nicht, die ist glaubig erst mit D6 gekommen.

Larsi 18. Jun 2008 08:04

Re: würfelprogramm
 
Ich habe den Beitrag aus der Codelib.

Fussball-Robby 18. Jun 2008 14:40

Re: würfelprogramm
 
Delphi-Quellcode:
Random(6) + 1;
tuts doch genau so gut. Wozu da noch ne Funktion?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 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