Zum Inhalt springen

Memory-Game Algorithmus


paule22

Empfohlene Beiträge

Also so komliziert ist das verteilen der Doppeltkarten doch wirklich nicht. Mach halt ein int Feld[x][y] setze alle Inhalte auf 0 für nicht initialisiert -1 = aufgedeckt. Dann verteile die Nummern jeweils zweimal mit Zufallszahlen für x und y (Bereichsüberschreitungen ausklammern). Steht da halt schon was drin nimm das nächstgelegene freie Feld. Ist zum Schluß noch eine 0 drin hast Du halt was falsch gemacht. Werden nun Doppelkarten gleichen Wertes aufgedeckt, dann schreibe deren Inhalte beide auf -1 oder mach von mir aus sowas, daß Du das oberste Bit setzt oder halt die Zahl mit ! negierst, oder ähnliches, Hauptsache man sieht, ob die Karten aufgedeckt sind oder nicht. Sind alle Karten aufgedeckt ist das Spiel beendet. Wird eine falsches Kartenpaar aufgedeckt ist der nächste Spieler dran.

Wird dasselbe Kartenpaar aufgedeckt darf der Spieler nochmal. Jetzt mußt Du den ganzen Spaß halt noch in eine brauchbare Programmstruktur bringen und fertig ist das Spiel.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich wuerde das auch mit einem zweidimensionalen Feld machen. Aber als Datentyp für dieses Feld würde ich mir eine Struktur anlegen mit Typen und Statusinfo:

#pragma pack(1)

struct Karten {

unsigned char TypeOfCard; //Was für eine Art von Karte

unsigned char State; //Ist die Karte aufgedeckt

};

#pragma pack()

Oder was du sonst noch brauchst.

Jetzt brauchst du nur noch eine Routine die immer zweimal einen Typ von Karte zufällig auf die Positionen verteilt.

Und eine die während des Spiels checkt ob bei 1. und 2.Karte Karten.TypeOfCard gleich ist, und in diesem Fall Karten.State auf 1 setzt.

P.S.: Vergiss die pragma's falls dein Compiler nichts damit anfangen kann. ;)

<FONT COLOR="#a62a2a" SIZE="1">[ 05. September 2001 09:36: Beitrag 1 mal editiert, zuletzt von DocNeo ]</font>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...