![]() |
Re: Kartenspiel Algorithmus
Zitat:
Delphi-Quellcode:
Immerhin braucht jetzt nicht mehr hinterher sortiert zu werden.
type
TStrArray = array[1..10] of String; function PickCards(): TStrArray; var Picked, i, count: Integer; Cards: set of 1..54; s: String; begin Cards := []; for i := 1 to 10 do begin Picked := Random(54) + 1; if (not (Picked in Cards)) then Cards := Cards + [Picked]; end; Result := ''; count := 1; for i := 1 to 54 do begin if (i in Cards) then begin if (i - 1 >= 13 * 4) then Result[count] := 'Joker' else case ((i - 1) div 13) of 0: Result[count] := 'Kreuz '; 1: Result[count] := 'Pik '; 2: Result[count] := 'Herz '; 3: Result[count] := 'Karo '; end; case ((i - 1) mod 13) of 0..8: Result[count] := Result[count] + IntToStr((i + 1) mod 13); 9: Result[count] := Result[count] + 'Bube'; 10: Result[count] := Result[count] + 'Dame'; 11: Result[count] := Result[count] + 'König'; 12: Result[count] := Result[count] + 'As'; end; count := count + 1; end; end; [edit]Das war der Fehler, den ich meinte, the_master.[/quote] [edit]Und schon wieder so ein dummer In-Pascal-fängt-man-mit-1-an-zu-zählen-nicht-konsequent-durchgeführt-Fehler[/edit] |
Re: Kartenspiel Algorithmus
Eure Beiträge sind echt genial!! Besten Dank, Problem gelöst, Mission erfüllt!!! :dancer:
MFG Ömmel :hi: |
Re: Kartenspiel Algorithmus
Hallo zusammen,
ich glaube da ist noch ein Fehler in dem Code von d3g. Soweit ich das richtig sehe passiert folgendes: Der Computer zieht 10 mal hintereinander eine Karte. Wenn er sie noch nicht hat, dann nimmt er sie dazu, ansonsten nicht. Was passiert nun, wenn er zweimal die gleiche Karte zieht? Dann müsste er doch eigentlich hinterher nur 9 Karten auf der Hand haben. Oder sehe ich das falsch? Deswegen würde ich eher eine Repeat-Until-Schleife statt einer for-Schleife einbauen. Grüße Seniman |
Re: Kartenspiel Algorithmus
Du siehst das richtig. Ich sollte als Strafe aufhören müssen zu programmieren und bis zum Ende meines Lebens dazu verdammt sein, meine Wachphasen im Kunstunterricht zu verfristen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz