Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Algorthymus um Memory-Karten zumischen
xxx2 - Do 03.04.08 12:57
Titel: Algorthymus um Memory-Karten zumischen
Hoi hoi,
ich möchte ein Memory-Spiel in C# programmieren.
Doch leider bin ich noch ziemlich am Anfang von C#.
Deshalb weiß ich leider nicht wie ich bei meinem Memory Spiel die Karten mischen kann
und das so das bei jedem Spielstart die Karten an einer anderen Stelle liegen.
Mfg xxx2
Delete - Do 03.04.08 14:15
Aus meinem Delphi Memory Spiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TMemoryField.Shuffle; var i, i2 : Integer;
procedure Swap(i1, i2: Integer); var Help : Integer; begin Help := TCard(FCards.Items[i1]).Value; TCard(FCards.Items[i1]).Value := TCard(FCards.Items[i2]).Value; TCard(FCards.Items[i2]).Value := Help; end;
begin for i := 0 to FCards.Count - 1 do begin i2 := Random(FCards.Count - 1); Swap(i, i2); end; end; |
Th69 - Do 03.04.08 14:29
Für C# (bzw. .NET) brauchst du dann die System.Random-Klasse.
Du erstellst dir also erst ein Array deiner Memorykarten und vertauschst dann zufällig jede Karte einmal mit einer anderen (dies ist zufällig genug).
BenBE - So 06.04.08 15:52
Alternativ kann man auch Fisher-Yates nutzen ...Gibt's nen DelphiLib-Eintrag zu.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!