AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Memory-Spiel: Ideen

Ein Thema von XardasLP · begonnen am 14. Jan 2016 · letzter Beitrag vom 6. Apr 2016
Antwort Antwort
Seite 4 von 13   « Erste     234 56     Letzte » 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#31

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 19:45
Zitat:
In diesem Thread geht es um das Memory Spiel und nicht um das Speichern von Benutzername und Passwort.
Ich mache doch nicht mehrere Threads für ein Komplexprogramm
Doch genau das sollst du! Oder wie stellst du dir vor, wie man mit der Suche je was wieder finden soll, wenn drei vier Probleme in einem Thread besprochen werden? Davon mal abgesehen, dass es dann im Thread drunter und drüber geht.

Also mache bitte für dein Login Problem einen neuen Thread auf.

Zitat:
am Ende muss das ja alles eine Verbindung haben.
Aber es sind nun mal unabhängige Probleme die einzeln nichts miteinander zu tun haben. Also gilt, laut der Forenregeln, dass man für jedes eigenständige Problem einen separaten Thread auf macht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
XardasLP
(Gast)

n/a Beiträge
 
#32

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 19:58
Ja kann ich ja dann machen. Also in der Prüfung sind beim Klassen-programmieren dann immer diese schon als Klassendiagramm vorgegeben.

Deshalb weiß ich jetzt 0 womit ich anfangen soll, weil ich nur weiß das wir mit set, get und so gearbeitet haben. Aber was da im konkreten dann möglich und umsetzbar ist weiß ich auch nicht.

TSpieler

Zeitmessung dort mit rein oder doch bei TSpiel?


Die Karten werden mit create benutzt und mit .free gelöscht?
Wie mache ich das gefundene Karten nicht im Speicher rumchillen sondern wirklich weg sind.
.Destroy macht ja auch nicht so das was es auf deutsch heißen soll.

Noch dazu fehlt uns der Hilfekatalog bei Betriebssystemen über Windows 7 wird dieser nicht angezeigt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#33

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 20:05
Zitat:
Die Karten werden mit create benutzt und mit .free gelöscht?
Nein. Mit Create wird ein Objekt von einer Klasse angelegt. Danach kann man die Klasse "benutzen". Mit Free wird das Objekt wieder freigegeben.

Zitat:
Wie mache ich das gefundene Karten nicht im Speicher rumchillen sondern wirklich weg sind.
Jeder Karte ist ein Objekt der Klasse TKarte. Verwaltet werden die Kartenobjekte in einer Liste. Brauchst du ein Kartenobjekt nicht mehr gibst du es frei (Free) und löscht es aus der Liste.

Zitat:
Destroy macht ja auch nicht so das was es auf deutsch heißen soll.
to destroy = zerstören. Und warum denkst du jetzt, dass die Methode nicht das macht, was sie vom Namen her vermuten lässt?

Zitat:
Noch dazu fehlt uns der Hilfekatalog bei Betriebssystemen über Windows 7 wird dieser nicht angezeigt
Neues Thema, neuer Thread!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
XardasLP
(Gast)

n/a Beiträge
 
#34

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 20:18
Zitat:
Jeder Karte ist ein Objekt der Klasse TKarte. Verwaltet werden die Kartenobjekte in einer Liste. Brauchst du ein Kartenobjekt nicht mehr gibst du es frei (Free) und löscht es aus der Liste.
Sollten die Karten nicht auf einem Spielfeld, also einem Panel beispielsweise liegen. Was für eine Liste meinst du?

ListBox oder die im Quelltext erstellte liste mit der man auch extern was abspeichern kann?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#35

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 20:23
Jedes Kartenobjekt hat zum Beispiel die Eigenschaften: Grafik, Position. Verwaltet werden die mit einer Klasse TObjectList (Stellt Delphi schon zur Verfügung).

Die Klasse TSpielfeld geht jetzt die Objektliste durch und zeichnet die Grafik der Karte an die Position aus dem Karten Objekt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
XardasLP
(Gast)

n/a Beiträge
 
#36

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 20:34
Delphi-Quellcode:
var
  FormSpiel: TFormSpiel;
  ObjektListe: TObjectList;
Wo schreibt man denn die ObjectList hin, wenn sie angeblich bekannt ist?


Also nicht mit einem Panel Feld machen?
https://gyazo.com/7ec9edf38b5e4696cd6bb1c12b748472


Klassen in eine extra Unit?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#37

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 20:39
Die KartenListe kann eine Eigenschaft von der Klasse TSpielfeld sein.

Wo und wie du die Karten anzeigst ist dir überlassen. Das können Images auf der Form sein. Das können einzelne Panels für jede Karte sein.

Ob du für jede Klasse eine Unit nimmst, bleibt dir überlassen. Ich würde es aber empfehlen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
XardasLP
(Gast)

n/a Beiträge
 
#38

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 20:51
Wegen dem Memory was es von diesem Michael Puff gibt:

Delphi-Quellcode:
type
  TCardStatus = (csBlind, csRevealed, csFound); //Wieso benötigt das keine Klasse?

type
  TCard = class;

  TOnFlip = procedure(Card: TCard) of object; //Wieso benötigt das keine Klasse? Was macht OnFlip?
  TCard = class(TPanel)
  private
    FValue: Integer; //Bezeichnung der Karte erhalten, warum als Zahl?
    FStatus: TCardStatus; //verdeckt, aufgedeckt, gefunden
    FOnFlip: TOnFlip; //Was macht OnFlip?
    function GetValue: Integer; //Bezeichnung der Karte erhalten, warum als Zahl?
    procedure SetValue(Value: Integer); //Wieso muss der Kartenname geändert werden, warum als Zahl?
    function GetStatus: TCardStatus;
    procedure SetStatus(Value: TCardStatus);
    procedure Click(Sender: TObject); reintroduce; //Wird eine als virtual deklarierte Methode verdeckt (d.h. in einer abgeleiteten Klasse wird eine gleichnamige Methode deklariert, die nicht mit der override-Direktive versehen ist), gibt der Delphi-Compiler Warnungen aus. Um die Warnung zu verhindern, wird die neue Methode, die die virtuelle Methode verdecken soll, mit reintroduce gekennzeichnet.
    property OnFlip: TOnFlip read FOnFlip write FOnFlip; //Was macht "property" auch noch nie verwendet bisher.
  public
    constructor Create(Owner: TComponent); override;
    property Value: Integer read GetValue write SetValue; //Was macht "property" auch noch nie verwendet bisher.
    property Status: TCardStatus read GetStatus write SetStatus; //Was macht "property" auch noch nie verwendet bisher.
  end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#39

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 21:00
Vielleicht hilft das hier weiter: http://downloads.delphi-treff.de/DelphiStarter.pdf
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#40

AW: Memory-Spiel: Ideen

  Alt 27. Jan 2016, 21:05
Boah. Das Programm habe ich vor sieben oder mehr Jahren geschrieben.

Als erstes: Wenn dir Schlüsselwörter nichts sagen, guck bitte in der Hilfe oder nutze das Internet. Und hättest du dir mein Klassen Tutorial mal angeguckt, würden sich schon viele Fragen von selbst beantworten.

TCardStatus = (csBlind, csRevealed, csFound); //Wieso benötigt das keine Klasse? Weil es eine Typ-/Mengendeklaration ist.

TOnFlip = procedure(Card: TCard) of object; //Wieso benötigt das keine Klasse? Was macht OnFlip? Weil es eine Ereignisdeklaration ist. Das Ereignis wird ausgelöst, wenn eine Karte aufgedeckt wird. Da muss ja was passieren: ist es die erste Karte oder die zweite? Sind sie gleich oder ungleich....

FValue: Integer; //Bezeichnung der Karte erhalten, warum als Zahl? Weil ich keine Lust hatte mich mit Grafiken runzuschlagen.

function GetValue: Integer; //Bezeichnung der Karte erhalten, warum als Zahl? Siehe oben. Der Einfachheithalber habe ich Zahlen benutzt anstatt Grafiken.

procedure SetValue(Value: Integer); //Wieso muss der Kartenname geändert werden, warum als Zahl? Die Karte muss ja einen Wert erhalten bzw. eine Grafik.

procedure Click(Sender: TObject); reintroduce; //Wird eine als virtual deklarierte Methode verdeckt (d.h. in einer abgeleiteten Klasse wird eine gleichnamige Methode deklariert, die nicht mit der override-Direktive versehen ist), gibt der Delphi-Compiler Warnungen aus. Um die Warnung zu verhindern, wird die neue Methode, die die virtuelle Methode verdecken soll, mit reintroduce gekennzeichnet. Ist der Kommentar von dir oder von mir? Aber Hilfe lesen hilft.

property Siehe Hilfe oder jedes beliebige Tutorial über Klassen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 22:02 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