![]() |
Memory Spiel
Hallo erstmal!
In der Schule machen wir gerade Projektarbeit. Wir ( ich und mein kollege ) haben uns entschieden ein Memory Spiel zu programmieren. Dabei haben wir uns überlegt mit Images zu arbeiten. Die Bilder sollen am Anfang zufällig in diese Images geladen werden , d.h bei jeden Spielstart sollen sie an einer anderen Stelle sitzen. Wir haben die Bilder schon in die Images geladen uns wollen jetzt einfach nur , das diese beim Programmstart sotiert werden. Wie machen wir das? Und wie können wir überprüfen ob 2 Images gleich sind(Memory Prinzip). Danke im vorraus. |
Re: Memory Spiel
Zitat:
Am Start einer Runde würde ich durch Zufall die Werte in den einzelnen Karten setzen. |
Re: Memory Spiel
Hallo erstmal!
Bei mir is die selbe situation wie beim ersteller des threads ^^. Zitat:
Kannst du das mal bitte in code formulieren? Achso und wie mach ich dass das die Bilder immer zufällig geordnet werden aber nicht den selben platz belegen? Thx & MfG |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Datenbanken" nach "Sonstige Fragen zu Delphi" verschoben.
Das ist ja eigentlich keine Datenbankfrage. |
Re: Memory Spiel
Hallo
Ich würde keine TImageList verwenden sondern die Bilder direkt aus einzelnen Bild Dateien laden. Dann kann jeder noch eigene Bilder hinzufügen und z.B neue Sets erstellen. Ihr könntet so vorgehen: 1. Die Pfade zu den Bilden zuerst in eine TStringList laden (jeweils 2 Mal den gleichen Pfad da Paare) 2. Dann TStringList mischeln.
Delphi-Quellcode:
3. Dynamisch die TImages erstellen. (Je nach Grösse)
procedure ShuffleList(L: TStrings);
var i, j: integer; begin Randomize; for i := 0 to L.Count - 1 do begin j := Random(L.Count); if i <> j then L.Exchange(i, j); end; end; Dem Hint könntet Ihr den Pfad zuweisen. Dann kann man einfach überprüfen, ob 2 Bilder gleich sind. |
Re: Memory Spiel
So kannst Du ein Bild (hier Icon)aus einer ImageList in einer
Imagekomponente darstellen.
Delphi-Quellcode:
Um den Index (hier 0) zufällig zu wählen
Imagelist1.GetIcon(0,Image1.picture.Icon);
solltest Du etwas mit random machen. Wenn Dein Spielfeld mit images ausgelegt ist hilf Dir findComponent richtig auf ein Imagex zuzugreifen. Wie damit zu arbeiten ist, ist hier beschrieben: ![]() In einem Array (spielfeldgröße) kannst Du hinterlegen welcher Bildindex auf welchem Spielfeld liegt. Grüße Klaus [edit] oder so wie toms geschrieben hat [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 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