Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Random-Ausgabe von Char UND Integer


Schweini31 - Mo 17.12.07 21:45
Titel: Random-Ausgabe von Char UND Integer
Hallo; hab ein Problem:

Ich möchte mit der RandomFunktion zufällig einen Wert von 1-10 und J,Q,K,A (also ein Kartenspiel).


Delphi-Quelltext
1:
  lbKarten.Items.Text:=Char(random(10)+65);                    


so habe ich es probiert(erstmal nur mit A und den Zahlen)

Problem 1: Wie kann ich sozusagen Char und Integer zufällig auswählen lassen?
Problem 2: Wie kann ich es machen sodass die 0 nicht mit angezeigt wird?

Schweini31

Bitte helft mir :)


Jann1k - Mo 17.12.07 22:05

1-10


Delphi-Quelltext
1:
random(10)+1;                    



J,Q,K,A


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
I:=random(4);
case I of
 0:'J';
 1:'Q';
 2:'K';
 3:'A';
 end;


TGLDX - Mo 17.12.07 22:11

Ich würde das etwa so machen:

Delphi-Quelltext
1:
2:
const
  Karten: array[0..8of String = ('6','7','8','9','10','J','Q','K','A');

Eine zufällige Karte bekommt man dann z.B. mit:

Delphi-Quelltext
1:
 Karte := Karten[random(9)];                    

Bei welchem Kartenspiel hat man Karten von 1-10? :gruebel:


Schweini31 - Di 18.12.07 18:57

user profile iconTGLDX hat folgendes geschrieben:
Ich würde das etwa so machen:

Delphi-Quelltext
1:
2:
const
  Karten: array[0..8of String = ('6','7','8','9','10','J','Q','K','A');

Eine zufällige Karte bekommt man dann z.B. mit:

Delphi-Quelltext
1:
 Karte := Karten[random(9)];                    

Bei welchem Kartenspiel hat man Karten von 1-10? :gruebel:


Sorry kenne mich mit den Codes der Arrays noch net so aus und mit ihnen selbst auch nur vom lesen und schlussfolgern. Verstehe es jetzt so das ein Array eine "Zusammenfassung" von z.b. Strings ist, die dann später mit durch den Namen aufgreufen werden kann. Hoffe ees war so richtig; wenn nicht berichtigt mich bitte. :)
Danke an euch!

Achso ja! Alle Kartenspiele mit 52 Kartenblättern wie z.B.: Rommee, Blackjack , Poker. Aber ich möchte auf eine Empfehlung hin zum lernen ein Blackjackspiel entwickeln, da man dabei wohl viele Sachen lernen und verinnerlichen kann.

Danke!

EDIT://Ohje, die 1 gibt's natürlich nicht; entschuldigt. :D So wie ich mich kenne hät ichs so gemacht :D.


Schweini31 - Di 18.12.07 19:52

Habe noch eine Frage: Warum steht bei:


Delphi-Quelltext
1:
 lbKarten.items.text:=Karten[random(13)];                    


[random(13)] in eckigen Klammern? sonst benutz man doch auch doppelt "(XXX(YYY))"

?

Schweini


TProgger - Di 18.12.07 20:02

weil Karten ein Array ist ;)


.#R4id - Di 18.12.07 22:41

In diesem ist es wie bei einer ListBox ListBox1.Items[0].Caption := 'Text'