Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   brauche ne kleine Hilfe zu Kniffel :) (https://www.delphipraxis.net/39950-brauche-ne-kleine-hilfe-zu-kniffel.html)

dragi 9. Feb 2005 13:12


brauche ne kleine Hilfe zu Kniffel :)
 
Hallo,

ich möchte gerne ein Kniffel Spiel programmieren. Nun habe ich auf meinem Formular 5 Image Felder und 5 Integer Variabeln die jeweils ein Würfel repräsentieren. Die Integer Variabeln bekommen nun per Random einen Wert zwischen 1-6 zugewiesen. Jetzt Frage ich den Wert einer Jeden Variablen ab und setze dann das entsprechende Bild in das Image Feld.

PseudoCode:
Code:
if wuerfel1 = 1 then
  Image = 1.jpg;
if wuerfel1 = 2 then
  Image = 2.jpg;
if wuerfel1 = 3 then
  Image = 3.jpg;
...
Das ganze jetzt natürlich für 5 Würfel! Das ist jetzt ein riesiger haufen If-Abfragen. Kann man das auch intelligenter lösen?
Ich komm nicht drauf :(

Gruss

Dragi

Chegga 9. Feb 2005 13:15

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Hi,

Delphi-Referenz durchsuchenCase

MfG Marc

SubData 9. Feb 2005 13:19

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Delphi-Quellcode:
const
  Wuerfel : Array[0..6] of String = ('', '1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg');
begin
  Image = Wuerfel[wurfel1];
end;

PierreB 9. Feb 2005 13:22

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Moin,

hier mal ein kleines Beispiel:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
wuerfel : integer;
begin
case Wuerfel of
1 : Image1.visible := true;
2 : Image1.visible := true;
3 : Image1.visible := true;
4 : Image1.visible := true;
5 : Image1.visible := true;
6 : Image1.visible := true;
end
end;
Hoffe das ist das was du meinst. ;)

Chegga 9. Feb 2005 13:31

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Zitat:

Zitat von delphman
Moin,

hier mal ein kleines Beispiel:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
wuerfel : integer;
begin
case Wuerfel of
1 : Image1.visible := true;
2 : Image1.visible := true;
3 : Image1.visible := true;
4 : Image1.visible := true;
5 : Image1.visible := true;
6 : Image1.visible := true;
end
end;
Hoffe das ist das was du meinst. ;)

Was habe ich gepostet? :gruebel:
:duck:

MfG Marc

P.S.: Tolles Beispiel...
Ich glaube kaum, dass bei jedem Würfel das gleiche Bild angezeigt werden soll.
(Image1) :zwinker:

PierreB 9. Feb 2005 13:35

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Zitat:

Zitat von Chegga
Hi,

Delphi-Referenz durchsuchenCase

MfG Marc

Hast du gepostet. Ich dachte ja nur das er die Case vielleicht noch nicht kennt, und habe ihm deshalb ein sehr simples Beispiel dazu gegeben. :roll:
Zitat:

Ich glaube kaum, dass bei jedem Würfel das gleiche Bild angezeigt werden soll.
(Image1)
Ups, hab ich in der Eile wohl übersehen. :oops:

dragi 9. Feb 2005 13:50

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Danke, habs verstanden :) Jetzt kann ich das direkt mal ganz schnell umbauen...ist ja peinlich das mir das nicht selbst eingefallen ist *rotwerd*

Gruss

Dragi

SubData 9. Feb 2005 14:01

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Ohne die Case Anweisung schlecht machen zu wollen, möchte ich darauf aufmerksam machen, dass meine Methode noch ein wenig mehr Arbeit spart:

Delphi-Quellcode:
const
  Wuerfel : Array[0..6] of String = ('', '1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg');
begin
  Image1 = Wuerfel[wuerfel1];
  Image2 = Wuerfel[wuerfel2];
  Image3 = Wuerfel[wuerfel3];
  Image4 = Wuerfel[wuerfel4];
  Image5 = Wuerfel[wuerfel5];
end;
Damit haste dann schon alle Bilder für alle 5 Würfel ...

Binärbaum 10. Feb 2005 00:24

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Zitat:

Zitat von SubData
Ohne die Case Anweisung schlecht machen zu wollen, möchte ich darauf aufmerksam machen, dass meine Methode noch ein wenig mehr Arbeit spart:
Delphi-Quellcode:
const
  Wuerfel : Array[0..6] of String = ('', '1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg');
begin
  Image1 = Wuerfel[wuerfel1];
  Image2 = Wuerfel[wuerfel2];
  Image3 = Wuerfel[wuerfel3];
  Image4 = Wuerfel[wuerfel4];
  Image5 = Wuerfel[wuerfel5];
end;
Damit haste dann schon alle Bilder für alle 5 Würfel ...

Das dürfte so wohl kaum funktionieren, da man einem Image nicht einfach einen String-Typ zuweisen kann. Folgendes ist besser:
Delphi-Quellcode:
const
  Bilder : Array[1..6] of String = ('1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg');
var i: Byte;
    Augenzahl: array[1..5] of Byte;//Augenanzahl der Würfel
begin
  Randomize;
  for i:= 1 to 5 do
    Augenzahl[i]:= Random(6)+1;//Würfeln
  Image1.Picture.LoadFromFile(Bilder[Augenzahl[1]]);
  Image2.Picture.LoadFromFile(Bilder[Augenzahl[2]]);
  Image3.Picture.LoadFromFile(Bilder[Augenzahl[3]]);
  Image4.Picture.LoadFromFile(Bilder[Augenzahl[4]]);
  Image5.Picture.LoadFromFile(Bilder[Augenzahl[5]]);
end;
MfG
Binärbaum

SubData 10. Feb 2005 08:14

Re: brauche ne kleine Hilfe zu Kniffel :)
 
Das man einem Image keinen String zuweisen kann ist mir klar, allerdings hat er dann eine Variable in der der Dateiname steht, welches Bild er denn anzeigen möchte.

Deine Methode wäre dann halt das Endergebniss ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.
Seite 1 von 2  1 2      

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