AGB  ·  Datenschutz  ·  Impressum  







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

Memory Programm

Offene Frage von "abisch"
Ein Thema von KillerMary · begonnen am 10. Mär 2015 · letzter Beitrag vom 14. Jun 2015
Antwort Antwort
Seite 2 von 8     12 34     Letzte »    
KillerMary

Registriert seit: 10. Mär 2015
19 Beiträge
 
#11

AW: Memory Programm

  Alt 16. Mär 2015, 15:52
okay Freundin hat mir den Quelltext jetzt gesendet.
sie hat folgendes gemacht.

Code:
var
  FormAL: TFormAL;
  zaehler: integer;
implementation
uses UnitStart;
{$R *.dfm}
procedure TFormAL.Button2Click(Sender: TObject);
begin
formstart.show;
end;
procedure TFormAL.Image15Click(Sender: TObject);
begin
image15.visible:= false;
end;
.
. {die restlichen karten}
.
procedure TFormAL.FormCreate(Sender: TObject);
begin
If zaehler > 1 then
Zaehler := 0;
end;
end.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#12

AW: Memory Programm

  Alt 16. Mär 2015, 16:00
Die Images beim Click verschwinden zu lassen, halte ich nicht für geschickt. Wenn es 16 Karten sind, braucht Ihr insgesamt 9 Bilder, nämlich 8 für die Paare und 1 für die Kartenrückseite. Beim Spielstart müssen dann alle Images natürlich die Rückseite anzeigen und erst beim Click werden sie "umgedreht", d.h. sie zeigen eins der anderen 8 Bilder an. Diese müssen ihnen erst einmal verteilt werden, und zwar so, dass alle 8 Bilder genau 2 Karten zugewiesen sind. Das wäre meiner Meinung nach der erste Schritt, den es umzusetzen gilt.
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
KillerMary

Registriert seit: 10. Mär 2015
19 Beiträge
 
#13

AW: Memory Programm

  Alt 16. Mär 2015, 17:33
Also wir haben uns das so gedacht. Man sucht sich ein Thema aus und eine Schwierigkeit.
So und dann öffnet sich ein Formular Mit den Karten. 8 Paare und über jeden Ist das "Deckblatt".
Und wenn man das anklickt ist das weg. So aber es muss ja wieder erscheinen wenn das Pärchen nicht passt.
Und das bekommen wir mit unserem Delphi wissen was wir in der schule erlernt haben nicht wirklich hin. .. deswegen dachte ich Wir bekommen hier ein wenig hilfe. Weil ansonsten ist das Programm fertig.
Nur das bereitet uns Kopfzerbrechen.
Wir wissen zu wenig über Delphi.
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#14

AW: Memory Programm

  Alt 16. Mär 2015, 17:37
Weil ansonsten ist das Programm fertig.
Dann zeig uns doch das Programm und nicht nur einen Schnipsel.

Dann können wir uns dort einlesen und exakt beantworten, was noch fehlt und wo es hingehört.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#15

AW: Memory Programm

  Alt 16. Mär 2015, 17:52
Und man wechselt die Darstellung eines TImage am Einfachsten, indem man eine andere Grafik hineinlädt.
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 Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: Memory Programm

  Alt 16. Mär 2015, 18:09
Also wir haben uns das so gedacht. Man sucht sich ein Thema aus und eine Schwierigkeit.
So und dann öffnet sich ein Formular Mit den Karten. 8 Paare und über jeden Ist das "Deckblatt".
Und wenn man das anklickt ist das weg. So aber es muss ja wieder erscheinen wenn das Pärchen nicht passt.
Und das bekommen wir mit unserem Delphi wissen was wir in der schule erlernt haben nicht wirklich hin. .. deswegen dachte ich Wir bekommen hier ein wenig hilfe. Weil ansonsten ist das Programm fertig.
Nur das bereitet uns Kopfzerbrechen.
Wir wissen zu wenig über Delphi.
Dann lassen wir doch mal Delphi komplett vor der Tür stehen und überlegen uns, was da eigentlich passiert:

Da gibt es 8 Paare von irgendwas. Aber wie erkenne ich ein Paar, bzw. wie erkenne ich, wenn ich zwei Irgendwas habe, dass es ein Paar ist, diese also zusammengehören?

Nun, ich merke mir das am besten durch eine Zahl. Jedes Irgendwas bekommt eine Zahl. Jede Zahl wird genau zweimal vergeben. Da ich anhand dieser Zahl ein Paar identifizieren kann lege ich mal fest, dass das die PaarID ist.

Jedes Irgendwas kann entweder verdeckt (0), aufgedeckt (1) oder weg (2) sein. Das ist wohl der Status, also lege ich auch mal fest, dass das der Status ist.
idxPaarIDStatus
010
110
220
320
......
1480
1580
Mit so einer Liste könnte man ja allerhand anfangen.

Über die PaarID kann ich auf Gleichheit prüfen, über den Status kann ich prüfen ob die Karte gezogen werden kann und über den Status und PaarID kann ich das anzuzeigende Bild bestimmen.

Das ist doch schon die halbe Miete.

Jetzt wieder zurück zu Delphi, wie kann ich das abbilden?
Delphi-Quellcode:
type
  TCard = record
    PaarID: Integer;
    Status: Integer;
  end;

  TCardArray = array[0..15] of TCard;

const
  CARD_SHOWBACK = 0;
  CARD_SHOWFRONT = 1;
  CARD_INVISIBLE = 2;
Das mal so als Starthilfe
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#17

AW: Memory Programm

  Alt 16. Mär 2015, 18:57
Hi,

geht mal auf www.catbytes.de und zieht euch "Merk's Dir". Ist in Delphi 7 geschrieben (einfach aus Jux und Dollerei). Da gibt es ungefähr das, was ihr wollt (Schwierigkeitsgrade, verschiedene Motive etc.).

Ich gebe euch kein fertiges Programm, da ihr ja was lernen wollt Aber kleine Codeschnipsel, wie ich dies und jenes umgesetzt habe, kann ich gerne geben.

Nicht wundern: Seite wurde das letzte mal 2008 oder so aktualisiert, da ich z.Z. nicht mehr wirklich zum programmieren komme.

Apropo: Das Programm keinesfalls "Memory" nennen. "Memory" ist ein geschützter Begriff und der Rechteinhaber klagt da gerne mal
Catbytes
  Mit Zitat antworten Zitat
KillerMary

Registriert seit: 10. Mär 2015
19 Beiträge
 
#18

AW: Memory Programm

  Alt 16. Mär 2015, 20:00
Hey, danke erstmal an alle.


erstmal zu dir Badenpower.
ich kann dir das leider nicht komplett zeigen da es aus insgesamt aus viel zu vielen Formularen besteht.
und es geht mir nicht drum das ihr mir meine Aufgaben erledigt.
Ich versuche nur ne Lösung zu finden für das umdrehen von 2 karten. bei gleichem Bild bleiben sie offen bei verschiedenen Bildern müssen sie sich wieder umdrehen.

Sir Rufo, den Sinn so als Hintergrund ist uns mittlerweile plausibel.
der umsatz fällt und schwer, da ich persönlich sagen muss, unsere Lehrerin selbst nicht wirklich versteht was sie uns erklärt.. was schade ist. Nunja... da es ein einfach Informatikkurs ist, haben wir da nicht alles von Delphi erfahren.. und uns ist jetzt erst bewusst das das doch nicht so einfach ist wie wir dachten. Aber wir lernen ja auch daraus. Aber wir versuchen deine Starthilfe zu nutzen und fortzusetzen. Danke )))

Catbytes. Ich muss sagen dein Programm ist schon nice & ahnung habt ihr alle. & wir wären überaus glücklich und zu tiefst dankebar wenn du uns ein paar schnipsel geben würdest vll auch mit erklärung damit wir wissen was wir gerade genau schreiben.
Wichtig ist uns jetzt erstmal das öffnen von 2 karten und das vergleichen & umdrehen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Memory Programm

  Alt 17. Mär 2015, 01:23
Also wenn es nur um das Prinzip geht, dann sind Schaltflächen mit Zahlen am einfachsten. Dann fallen die ganzen grafischen Probleme weg. Auf meiner Webseite http://michael-puff.de/Programmierung/Delphi/Programme/ findet sich ein einfaches Memory. Die ganze Logik steckt in einer eigenen Klasse: MemoryCls.pas.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#20

AW: Memory Programm

  Alt 17. Mär 2015, 08:54
procedure TFormAL.Image15Click(Sender: TObject);
begin
image15.visible:= false;
end;
So und dann öffnet sich ein Formular Mit den Karten. 8 Paare und über jeden Ist das "Deckblatt".
Und wenn man das anklickt ist das weg. So aber es muss ja wieder erscheinen wenn das Pärchen nicht passt.
Und das bekommen wir mit unserem Delphi wissen was wir in der schule erlernt haben nicht wirklich hin. ..
Wenn ich das richtig verstehe, habt ihr für jeden Kartenzustand (verdeckt, aufgedeckt) ein eigenes TImage, was dann immer auf visible:=false gesetzt wird, wenn es nicht gebraucht wird.

Ich würde nur ein TImage pro Karte nehmen und da immer das benötigte Bild reinladen. Die Nummer des Bildes könnte man in der Eigenschaft Tag des TImage speichern. Diese Nummer wäre dann gleichzeitig der Dateiname des Bildes.

aufdecken:
Image.Picture.LoadFromFile(IntToStr(Image.Tag)+'.bmp');
verdecken:
Image.Picture.LoadFromFile('deckblatt.bmp');

Erst, wenn ein Pärchen gefunden wurde, werden die beiden Images auf visible:=false gesetzt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 8     12 34     Letzte »    

 

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 05:53 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