Delphi-PRAXiS
Seite 10 von 13   « Erste     8910 1112     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Memory-Spiel: Ideen (https://www.delphipraxis.net/187916-memory-spiel-ideen.html)

XardasLP 23. Mär 2016 23:22

AW: Memory-Spiel: Ideen
 
Der Lehrer ist ein dummy, wenn er die Dokumentation dann nachvollziehen kann, dann ist es ok.

Dem Anwender bleibt der Quelltext ja verborgen. Die Lehrer sagen uns immer das wir trz. noch Schüler sind und keine angestellten Software- Entwickler :P

Luckie 24. Mär 2016 00:16

AW: Memory-Spiel: Ideen
 
Es geht nicht um den Anwender. Es geht um dich.

Und warum soll man es als Schüler nicht gescheit lernen? Es geht ja nicht um hochkomplxe Software die du programmieren sollst. Ein einfaches Memory Spiel, sauber programmiert.

Und glaub mir, eine saubere Programmierung beugt Fehler vor und hilft Fehler zu finden.

Aber wo waren wir jetzt bei deinem Problem stehen geblieben?

XardasLP 24. Mär 2016 00:39

AW: Memory-Spiel: Ideen
 
Was muss man noch alles := nil setzen?

Auch die Variablen, Timer, Label, Edit usw.?

Delphi-Quellcode:
FormSpiel.Image1.Picture := Nil;
FormSpiel.Image1_1.Picture := Nil;
FormSpiel.Image2.Picture := Nil;
FormSpiel.Image2_1.Picture := Nil;
FormSpiel.Image3.Picture := Nil;
FormSpiel.Image3_1.Picture := Nil;
FormSpiel.Image4.Picture := Nil;
FormSpiel.Image4_1.Picture := Nil;
FormSpiel.Image5.Picture := Nil;
FormSpiel.Image5_1.Picture := Nil;
FormSpiel.Image6.Picture := Nil;
FormSpiel.Image6_1.Picture := Nil;
FormSpiel.Image7.Picture := Nil;
FormSpiel.Image7_1.Picture := Nil;
FormSpiel.Image8.Picture := Nil;
FormSpiel.Image8_1.Picture := Nil;
FormSpiel.Image9.Picture := Nil;
FormSpiel.Image10.Picture := Nil;
Wenn man es so hat und vorher durchgespielt hat treten 1000 Fehler auf.

nahpets 24. Mär 2016 00:50

AW: Memory-Spiel: Ideen
 
Du muss überhauptnichts auf Nil setzen.

Einfach überall die Werte zuweisen, die für den Beginn eines Spieles erforderlich sind und gut is.

Ggfls. weist Du die Werte zu, die Du im Objektinspektor zugewiesen hast, sofern Du dort andere Werte vorgegeben hast, als die von Delphi vergebenen Vorgaben.

XardasLP 24. Mär 2016 01:11

AW: Memory-Spiel: Ideen
 
Delphi-Quellcode:
FormSpiel.Image1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image1_1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image2.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image2_1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image3.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image3_1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image4.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image4_1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image5.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image5_1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image6.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image6_1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image7.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image7_1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image8.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image8_1.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image9.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Image10.Picture.LoadFromFile('\Spielkarten\Rueckseite.jpg');
FormSpiel.Label_Information.Caption := '';
FormSpiel.ProgressBar_Spielfortschritt.Position := 0;
FormSpiel.Label_Paare_Gefunden.Caption := '0 / 8';
FormSpiel.Label_PKZ_1.Caption := '0 von 16';
FormSpiel.Label_PKZ_2.Caption := '';
FormSpiel.Image1.Enabled := True;
FormSpiel.Image1_1.Enabled := True;
FormSpiel.Image2.Enabled := True;
FormSpiel.Image2_1.Enabled := True;
FormSpiel.Image3.Enabled := True;
FormSpiel.Image3_1.Enabled := True;
FormSpiel.Image4.Enabled := True;
FormSpiel.Image4_1.Enabled := True;
FormSpiel.Image5.Enabled := True;
FormSpiel.Image5_1.Enabled := True;
FormSpiel.Image6.Enabled := True;
FormSpiel.Image6_1.Enabled := True;
FormSpiel.Image7.Enabled := True;
FormSpiel.Image7_1.Enabled := True;
FormSpiel.Image8.Enabled := True;
FormSpiel.Image8_1.Enabled := True;
FormSpiel.Timer_FALSCH.Enabled := False;
FormSpiel.Timer_UNAUFGEDECKT.Enabled := False;
FormSpiel.Timer_LOESCHEN.Enabled := False;
end;
Habe ja alle auf Standard zurückgesetzt.
Treten aber dann solche Fehler auf:
https://gyazo.com/70112159a8422face04d14a14d36aff2

Die Timer setzen eigentlich alle Variablen zurück. Weiß net woran das liegen soll.

Luckie 24. Mär 2016 01:24

AW: Memory-Spiel: Ideen
 
Wo sind da jetzt die Fehler? ich sehe da nur ein Rumgeklicke.

Und die Pfade sind auch sehr bedenklich. Das sind absolute Pfade vom aktuellen Arbeitsverzeichnis. Nur was das Arbeitsverzeichnis ist, ist so ziemlich ein Glücksspiel, dass es das Verzeichnis von deiner Anwendung ist.

Luckie 24. Mär 2016 01:26

AW: Memory-Spiel: Ideen
 
Nachtrag. Man könnte auch alle Grafiken zur Entwicklungszeit in eine Imageliste packen. Dann werden sie in die Exe als Ressource einkompiliert.

Mavarik 24. Mär 2016 01:29

AW: Memory-Spiel: Ideen
 
Zitat:

Zitat von XardasLP (Beitrag 1333697)
Ja stimmt, habe das eine mal schon von 14.000 auf 7000 runtergekürzt :) ^^

OMG... Mein 3D Memory inkl. Bildeditor hat 800 Zeilen... Davon wahrscheinlich 350 Zeilen von Compiler generiert...

Du solltest Dich echt mal mit Array's und Schleifen beschäftigen...

Luckie 24. Mär 2016 02:31

AW: Memory-Spiel: Ideen
 
Ich glaube selbst mein NonVCL Memory hat weniger.

Neutral General 24. Mär 2016 09:37

AW: Memory-Spiel: Ideen
 
Das hat jetzt noch niemand vorgeschlagen soweit ich gelesen habe, aber man kann sich das ganze neu Erzeugen/Zuweisen der Images doch größtenteils sparen wenn man einfach das alte Spielformular freigibt und neuerstellt. Dann hat man ein komplett frisches Spielformular das genauso funktioniert wie beim ersten Spiel.

Zitat:

Zitat von XardasLP (Beitrag 1333693)
Wie schon mal erwähnt kann ich mit Klassen persönlich nicht's anfangen. Und ich habe lieber einen längeren Quelltext und ein funktionierendes Programm als ihn zu kürzen und am Ende geht dann gar nichts mehr.

Programmoptimierung kommt am Schluss und nicht mitten drinne.

Wenn man gut mit Klassen umgehen kann, dann ist klar das man es kürzen kann, ich kann es nicht ;) ^^

Zitat:

Zitat von XardasLP (Beitrag 1333700)
Der Lehrer ist ein dummy, wenn er die Dokumentation dann nachvollziehen kann, dann ist es ok.

Dem Anwender bleibt der Quelltext ja verborgen. Die Lehrer sagen uns immer das wir trz. noch Schüler sind und keine angestellten Software- Entwickler :P

Solltest du in Zukunft entweder hobbymäßig oder beruflich weiter Programmieren wirst du wenn du dann mehr Erfahrung hast dein heutiges ich als "dummy" bezeichnen ;) :P
Ich hatte damals als ich angefangen habe mit Delphi ähnliche Ansichten, aber heute schäme ich mich fast für meinen alten Quelltext :mrgreen:
Aufgeräumter und übersichtlicher Quelltext ist einer der wichtigsten Dinge beim Programmieren. Und das hat nichts mit Anwendern oder Kunden zu tun sondern sowas gönnt man sich selbst.
Es ist so viel einfacher sich im Quelltext zurechtzufinden und er ist auch deutlich lesbarer. Dadurch (wie schon von anderen erwähnt) macht man weniger Fehler und es ist auch deutlich einfacher Fehler zu finden und zu beheben wenn sich doch mal einer eingeschlichen hat.
Und was Klassen angehen: Du willst Klassen verstehen und benutzen, du weißt es scheinbar nur noch nicht ;)
Es macht den Code so viel übersichtlicher und schöner zu lesen (s.o.) und es macht es deutlich einfach später irgendein Feature hinzuzufügen oder etwas zu ändern und je nach Anwendungsfall wirst du hunderte/tausende Zeilen Code sparen können gegenüber reiner prozeduraler Programmierung.
Dass du mit Klassen nichts anfangen kannst liegt nur daran, dass du sie nicht verstanden hast bzw. es dir zu anstrengend war Objektorientierung (Klassen) zu lernen ;)
Als Programmierer hat man nie ausgelernt. Man kann und muss/sollte immer was Neues lernen, egal wie erfahren man bereits ist. Das gilt gerade dann wenn man so wie du noch am Anfang steht :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Seite 10 von 13   « Erste     8910 1112     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz