Autor Beitrag
Schweini31
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mo 17.12.07 21:45 
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).

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Mo 17.12.07 22:05 
1-10

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



J,Q,K,A

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 22



BeitragVerfasst: Mo 17.12.07 22:11 
Ich würde das etwa so machen:
ausblenden 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:
ausblenden Delphi-Quelltext
1:
 Karte := Karten[random(9)];					

Bei welchem Kartenspiel hat man Karten von 1-10? :gruebel:
Schweini31 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Di 18.12.07 18:57 
user profile iconTGLDX hat folgendes geschrieben:
Ich würde das etwa so machen:
ausblenden 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:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Di 18.12.07 19:52 
Habe noch eine Frage: Warum steht bei:

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


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

?

Schweini
TProgger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148

XP
D6, D2007 prof
BeitragVerfasst: Di 18.12.07 20:02 
weil Karten ein Array ist ;)

_________________
Wir haben für jede Lösung das richtige Problem ;)
.#R4id
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 90

Windows XP Prof.
CodeGear Delphi 2007
BeitragVerfasst: Di 18.12.07 22:41 
In diesem ist es wie bei einer ListBox ListBox1.Items[0].Caption := 'Text'

_________________
ausblenden Delphi-Quelltext
1:
if CopyAndPaste not avaible then Developer := Helpless;