AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kartenspiel Algorithmus

Ein Thema von Ömmel · begonnen am 3. Feb 2004 · letzter Beitrag vom 5. Feb 2004
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Ömmel
Ömmel

Registriert seit: 1. Okt 2003
10 Beiträge
 
Delphi 4 Standard
 
#1

Kartenspiel Algorithmus

  Alt 3. Feb 2004, 17:47
Tag!
Ich habe ein ziemliches Problem einen Algorithmus zum sortieren eines Kartenspiel zu entwerfen! Es geht in dem Programm darum, dass 10 zufällige Zahlen aus einem Kartenstapel (54 Karten) gezogen werden. Diese Karten müssen nun in der hand des Spielers sortiert werden. Frage: Wie sieht der Algorithmus aus, wenn ich ein Arrayfeld von 54 habe???
MFG Ömmel
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 17:50
Hi!

Geht es dir drum, die 54 Karten zu sortieren, oder nur die 10 gezogenen?
Willst du das Ganze mit Delphi machen? (Wenn ja ==> Falsche Kategorie).

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 17:50
Delphi-Quellcode:
randomize;

...

for i := 1 to 10 do
  Karte := array[random(54)+1];
Sortieralgos gibt's in der CodeLib.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 17:56
Du könntest jeder Karte eine Art ID verpassen (Vielleicht mit einem Type und dann eine Eigenschaft "ID" und damit ein Array). Dann könntest du anhand dieser ID die Karten sortieren.

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Michael Leyhe

Registriert seit: 1. Dez 2003
Ort: Sprockhövel
101 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 18:12
HI

Ich würde es so machen wie Stanley Hanks es beschrieben hat.
Alle Karten bekommen eine Nummer wobei die niedrigste Karte die niedrigste Nummer bekommt und die höchste Karte die höchste Nummer.
Wenn du nun die Nummern sortierst(Sortierverfahren stehen in der Cod.lib.), dann sind die Karten in aufsteigender Reihenfolge sortiert.
Michael
Wer weis vll. ist das Leben ja ein Integer, wenn man negativ genug denkt wird es irgendwann positiv.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 18:47
Zitat von Matze:
Delphi-Quellcode:
randomize;

...

for i := 1 to 10 do
  Karte := array[random(54)+1];
Bedenke aber noch bei dem Code keine Karten doppelt zu ziehen, sonst hast du plötzlich 5 Asse

Gruß,
Tom
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#7

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 19:24
Zitat von Jelly:
Bedenke aber noch bei dem Code keine Karten doppelt zu ziehen, sonst hast du plötzlich 5 Asse
Und dazu nimmst du am besten Sets, das beste an Pascal überhaupt.

Delphi-Quellcode:
function PickCards(): String;
var
  Picked, i: Integer;
  Cards: set of 1..54;
  s: String;
begin
  Cards := [];
  for i := 1 to 10 do begin
    Picked := Randomize(54) + 1;
    if (not (Picked in Cards)) then
      Cards := Cards + [Picked];
  end;

  Result := '';
  for i := 1 to 54
    if (i in Cards) then begin
      case (i div 13) of
        0: Result := 'Kreuz ';
        1: Result := 'Pik ';
        2: Result := 'Herz ';
        3: Result := 'Karo ';
      end;
      case (i mod 13) of
        1: Result := Result + 'As';
        2..10: Result := Result + IntToStr(i mod 13);
        11: Result := Result + 'Bube';
        12: Result := Result + 'Dame';
        0: Result := Result + 'König';
      end;
    end;
end;
[edit]Zum Sortieren kannst du das Sortier-Tutorial hier aus dem Forum zu Rate ziehen.[/edit]
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 19:26
Zitat von Jelly:
Bedenke aber noch bei dem Code keine Karten doppelt zu ziehen, sonst hast du plötzlich 5 Asse
Jo, neue Spielregeln


[Edit]Cool, ich bin ja Gold-Member [/Edit]
  Mit Zitat antworten Zitat
Nico1
(Gast)

n/a Beiträge
 
#9

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 19:51
Hallo ich will ja jetzt nicht als altklug klingen aber

Picked := Randomize(54) + 1; --> sollte nach meiner meinungnach random(54) heißen oder täusche ich mich
// edit
Aja : for i := 1 to 54 --> sollte for i := 1 to 54 do
// edit
noch was : das s : String kannste auch weglassen

mfg Nico
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#10

Re: Kartenspiel Algorithmus

  Alt 3. Feb 2004, 19:54
Zitat von Nico1:
Picked := Randomize(54) + 1; --> sollte nach meiner meinungnach random(54) heißen oder täusche ich mich
Ich bin von einem Pascal-Programmierer ausgegangen, der mit 1 zu zählen beginnt (obwohl 0 oft sinnvoller ist). Random(54) gibt einen Wert zwischen 0 und 53 zurück.
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 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