C++ Autodidakt, Grundlagen begriffen, aber was jetzt ?
-
Hallo Leute,
ich habe vor einem halben Jahr LUA und Python Grundlagen gelernt und bringe mir nun autodidaktisch C++ bei. Die Grundlagen dürfte ich größtenteils verstanden haben, aber jetzt weiß ich nicht wo ich weiterlernen soll.Ich würde gerne bis zum Ende des Monats im Stande sein eine simple Version von Pong zu programmieren. Habt ihr einen Rat wo/was ich an weiterlernen könnte, um am Ende mein Zwischenziel zu erreichen ?
-
Du solltest C# nehmen.
-
Wie ist dein Kenntnisstand? Viele Leute überschätzen ihre eigenen Fähigkeiten enorm. Und wenn du Autodidakt sagst, dann muss ich mit Grauen an das viele schlechte Lehrmaterial da draußen denken. Hast du die Grundlagen? Dann guck mal in Bücher wie in Scott Meyers "Effective C++".
Du verstehst bei dessen Inhaltvserzeichnis nicht einmal worum es geht? Dann solltest du doch noch einmal die Grundlagen anschauen (z.B. C++ Primer, Thinking in C++, nichts von Jürgen Wolf!).
Meyers Tipps sind für dich alte Hüte? Du brauchst keine Hilfe mehr, schnapp dir ein Spieleframework und leg los! Im Spieleforum findest du Einstieg.
Für Pong reichen zur Not auch nur kleine Teile der Sprache (aber wenn du mehr kannst, ist es deutlich leichter), aber du solltest mindestens so weit sein, dass die die Benutzung fremder Schnittstellen keine Schwierigkeiten macht, denn für Spiele wirst du auf Bibliotheken zurückgreifen müssen, die über den Sprachstandard hinausgehen und dir Grafik-, Ton- und Eingabeverarbeitung ermöglichen.
-
"Exceptional C++ Style" und "More Exceptional C++ Style" von Herb Sutter sind zwei C++ Bücher, die ich jedem Fortgeschrittenen empfehlen würde, um die C++-Kenntnisse noch ein bisschen aufzupolieren
-
@volkard
Ich muss leider bei C++ bleiben.@Soley
Danke, ich schaue mal, ob ich da schon weit genug bin.@SeppJ
Sagen wir es einmal so, ich habe die Grundlegende Syntax verstanden, komme mit einfachen Schleifen, Arrays und Funktionen zurecht. Von Pointer habe ich auch schon mal was gehört und verstehe was sie machen und wie ich sie im Code einsetzen muss.Ich habe mit zwei Quellen gearbeitet, wobei ich letztere noch nicht abgeschlossen habe:
http://www.youtube.com/user/thenewboston?feature=g-u#p/c/F541C2C1F671AEF6/0/GMx_G05cqYI
und
http://newdata.box.sk/bx/c/index.htmIch bin mir sicher, dass es noch viel zu lernen gibt und ich frühestens in einem Jahr wirklich sagen könnte, dass ich C++ "kann", aber im Augenblick kommt es mir vor allem darauf an voranzukommen. Kannst Du mir ein paar Bereiche sagen, die ich unbedingt bräuchte, um ein wirklich ganz ganz simples Pong zu schreiben ?
-
[quote="Feist"]
Ich bin mir sicher, dass es noch viel zu lernen gibt und ich frühestens in einem Jahr wirklich sagen könnte, dass ich C++ "kann",
Du kannst vielleicht in 5 Jahren sagen, dass du C++ kannst (ich sage nicht von mir, dass ich es kann), in einem Jahr bist du vielleicht brauchbar gut.
aber im Augenblick kommt es mir vor allem darauf an voranzukommen. Kannst Du mir ein paar Bereiche sagen, die ich unbedingt bräuchte, um ein wirklich ganz ganz simples Pong zu schreiben ?
Das Problem ist, Programmierer sagen ungern "Nein". Du kannst ein einfaches Pong auch mit einer einzigen Monsterfunktion und vielen ifs und Gotos schreiben. Ist dann nur entsprechend unangenehm.
Wenn du sagst, dass du "Grundlegende Syntax verstanden, komme mit einfachen Schleifen, Arrays und Funktionen" kannst, dann kannst du praktisch nix, was C++ von C unterscheiden würde, du kannst noch nicht einmal die vollständigen Grundlagen von C. Ich habe mir mal die Inhaltsübersicht deiner beiden Lehrmittel angesehen, die sind, offen gesagt, beide Müll. Ich würde dir ganz stark anraten, ein gutes Buch zu besorgen oder, wenn es weiter autodidaktisch sein soll, direkt in "fortschrittlichere" Tutorials einzusteigen, die dann wenigstens von Leuten geschrieben wurden, die was können. Dir fehlen ganz klar die wichtigsten Klassen der C++-Standardbibliothek. string, vector, die verschiedenen Streams, evtl. auch set und map sollte man kennen und wirklich beherrschen, dann wird das Programmieren mit einem Schlag 100x einfacher, weil man sich nicht mehr um jeden Mist kümmern braucht. Weiterhin würde es dir gut tun, wenn du die Grundzüge objektorientierter Programmierung kennen würdest und wie die Unterstützung dafür in C++ aussieht. Pong kann man sicherlich noch gut prozedural schreiben, aber dann hast du Übung für größere Projekte bei denen du Objektorientierung haben willst. Und du kannst die typischen Anfängerfehler (z.B. totaler Designoverkill) bereits jetzt machen, wo sie noch nicht so weh tun. Vorschlag: Verschieb das mit dem Pong vielleicht auf 2-3 Monate.
In dem neuen Lehrbuch von Stroustrup (naja, so neu ist es mittlerweile auch nicht mehr
) ist meines Wissens nach auch eine einfache Grafikbibliothek dabei (man korrigiere mich, wenn ich falsch liege, ich habe das Buch nicht). Das wäre vielleicht eine gute Idee, weil du dann gutes C++ lernst und dann auch gleich dein grafisches Spiel mit dir bekannten Mitteln programmieren kannst.
-
Die allerbeste Möglichkeit zu lernen wie man bis zum Ende eines Monats eine simple Version von Pong programmiert ist bis zum Ende eines Monats eine simple Version von Pong zu programmieren.
-
Wie wär's mit einem "bis zum Ende des Monats Pong möglichst elegant implementieren"-Contest?
Dann sieht der OP wo er steht...
-
Swordfish schrieb:
Wie wär's mit einem "bis zum Ende des Monats Pong möglichst elegant implementieren"-Contest?
Dann sieht der OP wo er steht...
Nette Idee. Allerdings müsste man sich festlegen, wie sich die Ausgabe + Steuerung darstellt.
-
Danke für die Tipps, in dem Fall hole ich baldmöglichst ein gutes Buch ran und lege los.
<Thread kann geschlossen werden>