AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Memory

Ein Thema von Informatik_Doppelstundler · begonnen am 28. Feb 2006 · letzter Beitrag vom 1. Mär 2006
Antwort Antwort
Informatik_Doppelstundler

Registriert seit: 6. Dez 2005
11 Beiträge
 
#1

Memory

  Alt 28. Feb 2006, 14:33
Hi! Ich möchte gerne ein Memory-Spiel programmieren. Ich hatte mir überlegt, die bilder halt mit random auf beispielsweise 8 felder zu verteilen, nu hab ich aber das problem, dass ja jedes bild nur 2 mal vorkommen darf und ich habe keine ahnung und auch keinen ansatz, wie man das programmieren könnte.
Könnt ihr mir da helfen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Memory

  Alt 28. Feb 2006, 14:37
Z.B. mit einem array in dem du für jede Karte/Bild du vermerkst wie oft sie schon zugeordnet worden ist.
Markus Kinzler
  Mit Zitat antworten Zitat
Informatik_Doppelstundler

Registriert seit: 6. Dez 2005
11 Beiträge
 
#3

Re: Memory

  Alt 1. Mär 2006, 09:38
öhm...danke...aber wie??
  Mit Zitat antworten Zitat
Klaus01

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

Re: Memory

  Alt 1. Mär 2006, 09:45
.. indem Du die Bilder eindeutig kenntlich machst und wenn Du die Bidler verteilst
Du nachschaust ob das Bild schon zweimal vorhanden ist.
Oder Du machst Dir ein Array für jedes Bild ein Feld und in dem Feld vermerkst
Du wenn das Bild in das Memoryfeld verteilt wurde.

Grüße
Kalus
Klaus
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Memory

  Alt 1. Mär 2006, 10:05
Hallo.

Ich würde mir im Abschnitt private der Form eine Liste deklarieren:

Delphi-Quellcode:
uses // ...
  Contnrs;

type
  TGameForm = class(TForm)
    // ...
    procedure FormCreate(Sender: TObject);
  private
    Cards: TObjectList;
  end;
Im Ereignis OnCreate() der Form würde ich alle Image-Komponenten auf der Form einsammeln:

Delphi-Quellcode:
procedure TGameForm.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  Cards := TObjectList.Create;
  for i := 0 to Pred(ControlCount) do
    if Controls[i] is TImage then
      Cards.Add(Controls[i]);
end;
Mit einer Shuffle-Routine (hint) würde ich diese Liste durchmischen. In einer ImageList habe ich 4 Bilder (Index 0 bis 3) für meine 8 Karten und vielleicht ein zusätzliches (index 4) für den Kartenrücken. Der TImage-Komponente mit dem Index i ordne ich dann das Bild mit dem Index i mod 4 zu. Ich höre hier mal auf - du willst das Programm bestimmt selber schreiben...

Grüße vom marabu
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:08 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