Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Memory für "Anfänger" (https://www.delphipraxis.net/105685-memory-fuer-anfaenger.html)

DeddyH 27. Dez 2007 17:23

Re: Memory für "Anfänger"
 
Ich finde die "Lösung" auch nicht gerade elegant, außerdem ist der Source viel zu lang, das kann man auch ganz anders machen.

Saul 27. Dez 2007 17:24

Re: Memory für "Anfänger"
 
tja jetzt weiß ich nur nicht wie ich es programmieren soll. entweder im Turbo Pascal style oder in der eleganten aber für ihn unverständlichen Form :(

DeddyH 27. Dez 2007 17:25

Re: Memory für "Anfänger"
 
Wenn ihm die Form unverständlich ist, sollte er kein Delphi lehren.

Saul 28. Dez 2007 13:10

Re: Memory für "Anfänger"
 
Ich habe mir die PDF von Michael Puff mal zu Gemüte geführt. Aber irgendwie begreife ich deine Implementierung nicht so ganz. Dafür besitze ich sicher noch nicht das Grundwissen. Da muss ich mich wohl noch ein bisschen mit befassen...

Nun habe ich mir versichern lassen, das ich mein Memory Spiel leider mit TImage's entwickeln soll. Kann man das mit TList verknüpfen oder bleibt mir da nichts andres übrig als so einen uralter Turbo-Pascal Code zu entwickeln?

Könnte man das so in der Art programmieren? es erschlägt einen nur, weil der Quellcode ziemlich lang ist :(
http://www.softwareacademy.de/Kylix/...ory-Spiel.aspx

DeddyH 28. Dez 2007 14:39

Re: Memory für "Anfänger"
 
Ich habe mir eben den Spaß gemacht und das Spiel auch mal programmiert (mit 6 TImages): 119 Zeilen inkl. dem letzten "end.", und das ließe sich bestimmt auch noch kürzen ;)

Saul 28. Dez 2007 16:10

Re: Memory für "Anfänger"
 
Ich muss nochmal auf meine Frage zurück kommen.
Wie verwende ich z.B. den Image.Tag wie auf Seite 4 gefordert?

DeddyH 28. Dez 2007 16:20

Re: Memory für "Anfänger"
 
Die Tag-Eigenschaft steht Dir zur freien Verfügung (ist eine Integer). Du könntest nun also, wenn Du ein Image aufdeckst, dessen Tag z.B. auf 1 setzen und beim Verdecken wieder auf 0. Nun prüfst du, welchen Tag das angeklickte Image hat (bei 1 ist es bereits aufgedeckt). Allerdings ist das eigentlich gar nicht nötig.

Saul 28. Dez 2007 17:04

Re: Memory für "Anfänger"
 
Zitat:

Zitat von DeddyH
Die Tag-Eigenschaft steht Dir zur freien Verfügung (ist eine Integer). Du könntest nun also, wenn Du ein Image aufdeckst, dessen Tag z.B. auf 1 setzen und beim Verdecken wieder auf 0. Nun prüfst du, welchen Tag das angeklickte Image hat (bei 1 ist es bereits aufgedeckt). Allerdings ist das eigentlich gar nicht nötig.

Wie kann man das denn sonst noch prüfen?
Angenommen man verwendet den tag, muss ich es sicher mit einer if-anweisung erledigen. Wie implementiere ich denn sowas? ich kann ja schlecht schreiben "if image.tag=0 then...".

DeddyH 28. Dez 2007 17:06

Re: Memory für "Anfänger"
 
Zitat:

Zitat von Saul
ich kann ja schlecht schreiben "if image.tag=0 then...".

Wieso denn nicht? Genauso geht das.

Saul 30. Dez 2007 15:00

Re: Memory für "Anfänger"
 
hm irgendwie haut das mit dem mischen nicht so ganz hin :( der legt manchen karten einfach dreimal aus und nicht nur zweimal.
Code:
  Bild: Array[1..3] of String;                                 //Bildernamen
  Platz: Array[1..6] of Integer;                               //Bildnummer
  Nummer: Array[1..6] of Integer;
  Zufall: Integer;
Nummer muss doch ein Array sein, definiere ich ihn richtig?
Code:
  Anzahl:=6;

  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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.
Seite 2 von 3     12 3      

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