Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

521

15.10.2011, 22:16

:D
Naja, zu allen Depri-Faden zu sagen... Hmmm....
Man müsste sich umgewöhnen. :lol:

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

522

15.10.2011, 22:34

Niedergeschlagenheitsfaden wäre noch DEUTSCHER! xD

Das mit dem gegenseitigen includes lässt sich ganz einfach verhindern, indem du nur includes in Headerdatein schreibst wenn es unbedingt nötig ist(vererbung z.b.) sonst benutzt du Vorwärtsdeklaration, Zeiger aufs Objekt und erzeugst es mit new im Konstruktor. Problem gelöst.

Zur Übersichtlichkeit: Ich hab früher immer alles ganz normal einprogrammiert(in die entsprechende Klasse oder Funktion, wenn nötig direkt in die Mainfunktion) und es in einer Klasse gekapselt sobald es funktioniert hat. Wenn du sofort ne Klasse schreibst, aber nicht wirklich ne Ahnung davon hast, wie du es implementieren sollst UND wie eine solche Klasse im allgemeinen aussieht hast du zwei große Probleme auf einmal zu lösen. Machs du es wie ich, löst du die Probleme nacheinander und hast eine wesentlich einfachere Fehlersuche.

Ich glaub auch du schreibst einfach zu viele Kommentare. Das lenkt dich eher ab. Versuchs mal ganz ohne. Dann übst du vielleicht auch den Code selbst besser zu lesen. Wenn du dich bei der Fehlersuche zu sehr auf die Kommentare verlässt wirst du kaum welche finden. Du schreibst ja in die Kommentare was du gerne hättest, im Code steht aber was eigentlich passiert. Es wird dir jedenfalls nicht schaden. Denn du wirst den Code vermutlich sowieso nicht wieder verwenden und unkommentierter, fehlerfreier, übersichtlicher Code ist besser als kommentierter aber schlechter Code. Du brauchst auch keine Angst haben, dass du ihn später nie wieder verwendest. Wenn er funktioniert und du die Variablen und Funktionsnamen ausschreibst wirst du ihn auch in ein paar Jahren noch lesen können.(auch wenns vielleicht etwas länger dauert^^)
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

523

15.10.2011, 22:43

Das ist mal ein Beispiel.
Hierbei habe ich wenig Kommentare verwendet. Insgesamt ist das Ergebnis... ;(
Im Allgemeinen sind die Inkludierungsprobleme auch mit Vorwärtsdeklaration vorhanden, wenn ich zum Beispiel einen Zeiger in A von B und C haben will, von B aber auch einen von A und von C einen von B. Als Extrembeispiel. :D

Nja, ... :S
»Checkmateing« hat folgende Datei angehängt:
  • Pong.zip (13,2 kB - 77 mal heruntergeladen - zuletzt: Heute, 17:53)

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

524

15.10.2011, 22:51

Im Allgemeinen sind die Inkludierungsprobleme auch mit Vorwärtsdeklaration vorhanden, wenn ich zum Beispiel einen Zeiger in A von B und C haben will, von B aber auch einen von A und von C einen von B. Als Extrembeispiel. :D

Dann machst du aber etwas falsch!

Projekt geladen:
Ich öffne die main.cpp und seh sofor den ersten Grundlagenfehler xD
Game wird nicht wieder freigeben.
Ansonsten:
Ponger.h muss nicht in Game.h eingebunden werden, deklaration reicht.
Ball.h muss nicht in Ponger.h eingebunden werden, deklaration reicht.
Hasts schonmal mit sf::Shape:Rectangle(statische Methode) versucht?

Das sind jetzt die Dinge die mir ins Auge gesprungen sind. Ich geh jetzt pennen! Nachti^^
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

525

15.10.2011, 22:54

Naja, mir ist übel.

526

15.10.2011, 23:00

Oh man. :D
Typisch für meine Flüchtigkeitsfehler....
Naja danke, und gute Nacht!

MfG
Check

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

527

15.10.2011, 23:14

Es ist meistens sinnvoll, am Anfang ein Grundgerüst aufzubauen. Das heißt, alle Datein bzw. Units anlegen, die man grundlegend für den Anfang braucht, diese mit (anfangs leeren) Klassendefinitionen, die man später erweitert und dem Einstiegspunkt der Anwendung zu füllen und die Projekt-/Linkereinstellungen anzupassen. Ich lege meistens eine Datei MeinProjekt.h an, die alle Includeanweisungen für jegliche eingebundene Datei enthält. Diese MeinProjekt.h binde ich in allen anderen Units ein. So habe ich eine ziemlich übersichtliche Struktur. Du darfst nicht vergessen, jede Headerdatei mit einem "#pragma once" zu beginnen.

528

15.10.2011, 23:19

Ich bin deprimiert weil ich Quellcode runterladen soll, der in Textform vorliegt. Warum postest du den hier nicht einfach im code Tag?
Wenn du Hilfe willst, bau doch keine zusätzlichen Hürden ein.

Sonst hätte ich den Wunsch, das ein Mod das hier mal abspaltet. Wir sind sehr weit entfernt vom Thema.

529

16.10.2011, 01:41

Ich hab den Wunsch schon, einen Themawechsel habe ich ja schon versucht.
Ich möchte euch ernsthaft danken für eure Hilfe Leute, aber wenn ich wirkliche Probleme damit haben werde, die mich extrem Stören auf lange Zeit, dann werde ich das nicht im Off-Topic beschreiben.
Also hier im Off-Topic möchte ich nicht Code posten, zumal ich gefragt wurde, um mir zu helfen, ob ich einen Beispielcode offenlegen könnte.
//Eine Anmerkung zum Code: Denkt euch mal die Destruktoren und das delete etc.pp. dazu
Ich möchte euch nochmals ernsthaft danken, aber Môr hat zumal Recht, dass das, was hier besprochen wird, einfach nicht hier hineingehört.

So! :)
Ich bin depri weil ich müde bin und nicht einschlafen kann und ich bin depri weil ich zu Philosophieren beginne, und das lässt mich noch weniger schlafen. :thumbsup:

EDIT: Wie sollte er sonst vorliegen? Nur so als Nachfrage? xD

530

16.10.2011, 02:16

Wieso benutzt du eigl. so viel new?
Das ist in keinem Fall nötig. Beutzt doch einfach RAII, welches eines der größten Vorteile von C++ ist, da man den Speicher nicht selbst freigeben muss...

Werbeanzeige