AGB  ·  Datenschutz  ·  Impressum  







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

Memory Spiel

Ein Thema von Daniel 1337 · begonnen am 4. Mai 2006 · letzter Beitrag vom 18. Mai 2006
Antwort Antwort
Daniel 1337

Registriert seit: 4. Mai 2006
1 Beiträge
 
#1

Memory Spiel

  Alt 4. Mai 2006, 07:55
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Memory Spiel

  Alt 4. Mai 2006, 07:59
Zitat:
wie können wir überprüfen ob 2 Images gleich sind
Ich würde die eigentlichen Karten-Imgaes in eine ImageList speichern und in den Karten nur den Index in der Liste hinterlegen.
Am Start einer Runde würde ich durch Zufall die Werte in den einzelnen Karten setzen.
Markus Kinzler
  Mit Zitat antworten Zitat
ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Memory Spiel

  Alt 17. Mai 2006, 16:12
Hallo erstmal!
Bei mir is die selbe situation wie beim ersteller des threads ^^.
Zitat:
Ich würde die eigentlichen Karten-Imgaes in eine ImageList speichern und in den Karten nur den Index in der Liste hinterlegen.
Am Start einer Runde würde ich durch Zufall die Werte in den einzelnen Karten setzen.
Wie kann ich auf die einzelnen Bilder in der imagelist zugreifen?
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
Billy Gerwitz
  Mit Zitat antworten Zitat
18. Mai 2006, 06:30
Dieses Thema wurde von "Sharky" von "Datenbanken" nach "Sonstige Fragen zu Delphi" verschoben.
Das ist ja eigentlich keine Datenbankfrage.
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: Memory Spiel

  Alt 18. Mai 2006, 06:48
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:
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;
3. Dynamisch die TImages erstellen. (Je nach Grösse)
Dem Hint könntet Ihr den Pfad zuweisen. Dann kann man einfach überprüfen, ob 2 Bilder gleich sind.
Thomas
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Memory Spiel

  Alt 18. Mai 2006, 06:57
So kannst Du ein Bild (hier Icon)aus einer ImageList in einer
Imagekomponente darstellen.

Imagelist1.GetIcon(0,Image1.picture.Icon); Um den Index (hier 0) zufällig zu wählen
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: http://www.delphipraxis.net/internal...=findcomponent

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]
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:34 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