AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Memory für "Anfänger"
Thema durchsuchen
Ansicht
Themen-Optionen

Memory für "Anfänger"

Ein Thema von Saul · begonnen am 27. Dez 2007 · letzter Beitrag vom 30. Dez 2007
 
Saul
(Gast)

n/a Beiträge
 
#1

Memory für "Anfänger"

  Alt 27. Dez 2007, 14:52
Hallo,
ich soll demnächst ein Memory-Spiel mit sechs Karten programmieren. Die Karten sollen als Image dargestellt werden. Dazu habe ich ein paar Hilfestellungen bekommen (Im Anhang). Aber irgenwie verwirrt mich das alles. So eine Aufgabenstellung für Anfänger finde ich persönlich ziemlich übertrieben...

Hier erstmal mein bisheriger Quellcode:
1. Bei dem Spiel muss ich zuerst die Karten festlegen
Code:
var
  Form1: TForm1;
  Bild0, Bild1, Bild2, Anzahl, zufall, Nummer, i, k: Integer;
  Bild: Array[0..2] of String;                                 //Bildernamen
  Platz: Array[0..5] of Integer;                               //Bildnummer
  Name0, Name1, Name2: String;                                 //Imagename für Deckblatt

procedure TForm1.FormCreate(Sender: TObject);
  begin
    // verdeckt
    Image1.Picture.LoadFromFile('Bilder/Deckblatt.bmp');
    Image2.Picture.LoadFromFile('Bilder/Deckblatt.bmp');
    Image3.Picture.LoadFromFile('Bilder/Deckblatt.bmp');
    Image4.Picture.LoadFromFile('Bilder/Deckblatt.bmp');
    Image5.Picture.LoadFromFile('Bilder/Deckblatt.bmp');
    Image6.Picture.LoadFromFile('Bilder/Deckblatt.bmp');

    // offen
    Bild[0]:= 'Bilder/Bild1.BMP';
    Bild[1]:= 'Bilder/Bild2.BMP';
    Bild[2]:= 'Bilder/Bild3.BMP';
...
2. Die Karten kontrollieren
Code:
...
    Platz[0]:= 0;
    Platz[1]:= 1;
    Platz[2]:= 2;
    Platz[3]:= 0;
    Platz[4]:= 1;
    Platz[5]:= 2;
end;
3. Die Karten mischen > "auslegen"
Code:
randomize;                                            // Zufallszahlengenerator aktivieren
  while Anzahl > 0 do               { Die Karten mischen }
  begin
    zufall := random(Anzahl)+1;        // eine Karte aus dem Stapel ziehen
    Nummer[Anzahl] := Platz[zufall]; // und auf letzten freien Platz auslegen
   for k := zufall to Anzahl-1 do        // restliche Karten einen Platz nach vorn
    begin
      Platz[k] := Platz[k+1];
    end;
    Anzahl := Anzahl - 1;        // Der Stapel ist nun kleiner geworden
  end;
4. Spielen (Gewünschte Karten umdrehen und danach auswerten [OK/Karten wieder umdrehen])



Komme ich nun zur Hilfestellungen:
  • Wie verwende ich z.B. den Image.Tag wie auf Seite 4 gefordert?
  • Was bedeutet das "i:= StrToInt(TImage(sender).Name[6]);"?
    "Name" ist doch überhaupt nicht definiert, sondern nur "Name1, Name2: String;" auf Seite 2

Gibt es auch eine einfachere verständlichere Variante oder könnt ihr es mir besser erklären, was die Hilfestellung mir sagen soll?
Gruß Saul
  Mit Zitat antworten Zitat
 


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 22:45 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