Die Bücher von J. Wolf sind ziemlich im altbackenen C - Stil gehalten und damit oft verwirrend.
Es ist Schwerer mit Java als mit C++ anzufangen, da man bei Java von Anfang an zum OOP-Modell gezwungen wird; bei C++ muss man sich nicht von Anfang an damit herumschlagen.
Und 3. Tipp:
http://www.amazon.de/Schr%C3%B6dinger-programmiert-Fachbuch-Galileo-Computing/dp/3836217562
Das ist IMO mit Abstand das beste und modernste C++ - Einsteigerbuch was es gibt.
www.amazon.de/Schr%C3%B6dinger-programmiert-Fachbuch-Galileo-Computing/dp/3836217562
Ist nicht nur modern sondern geht auch in fortgeschrittene Themen ein. Wenn du an dem letzten Kapitel über den 11er Standart anknüpfen willst, gibt es:
www (. ) amazon (.) de/11-Leitfaden-Programmierer-Standard-Programmers/dp/3827330882
Man muss ofmals mehr als ein Link in eine Antwort verpacken GF.net ... Wenn ich spammen will, dann reicht mir ein Link
Kenne SDL nicht, aber folgendes wäre meine Idee:
Bei dem Großen Suface/Tile speichert SDL nur einen Pointer zum Pixelarray im Grafikspeicher und die Koordinaten der oberen linken Ecke (Je nachdem wie SDL aufgebaut ist vielleicht auch der der unteren rechten Ecke).
Bei den kleineren Tiles gibt es entsprechend mehr Pixel und Koordinaten, die gespeichert werden müssen
Eine Andere Möglichkeit wäre mit der Boost-Libary:
Mit Boost.Asio holst du dir die Dateien oder verbindest den Client mit einem Stream ( müssen nicht HTML - Seiten sein, XML oä empfielt sich aber) und wertest den dann mit Boost.Spirit aus und lässt das ganze dann mit denem Framework oder Libary zeichenen. Das funktioniert bei einfachen Sachen wie einem Changelog gut, wenn aber Bilder usw. hinzukommen verkompliziert sich das ganze. Der Vorteil bei der Lösung wäre, dass sie nicht .NET - gebunden ist (Auch für Unixsysteme), dafür aber entsprechend schwieriger ist umzusetzen.
Boost gibts hier:
http://www.boost.org/
Diese schwarze Box ist wahrscheinlich dein Terminal. Den Umgang mit den Terminal sollte man zum Programmieren schon kennen.
Dazu kannst du Boost.Asio oder einfacher, den SFML - Sockel verwenden.
Boost.Asio:
www.boost.org/doc/libs/1_53_0/doc/html/boost_asio.html
SFML:
sfml-dev.org
Zur modernen 3D - Programmierung gibt es folgende 2 Ansätze:
DirectX:
NUR für Windows und Xbox!
Tutorial: rastertek.com/tutdx11.html/ <-Modernes Tutorial, letztes mal erweitert im April
OpenGL:
Überall verwendbar
www.arcsynthesis.org/gltut/ <- Online Buch von 2012
Das wichtigste bei den beiden ist, dass du nicht ausversehen auf ältere Seiten kommst, da sich der Programmierstil inzwischen geändert hat.
Und nein, C++ ist nicht zu alt, das ist Unsinn. - Je nach deinem eigenen Lernfortschritt solltest du dir mal den C++11 - Standard und die Boost - Bibliothek herraussuchen - Davon können Java - Entwickler nur träumen(zB RAII vs. GC ).
Empfehlenswertes Buch dafür:
Rainer Grimm - C++11
Außerdem: Es gibt Menschen auf der Welt, die KEIN Java haben(wie Ich), die dann das Spiel trotz Plattformunabhängigkeit nicht Spielen können. Bei C++ musst du dann nur einmal mit einem Widows und einmal mit einem Unix - Compiler kompilimieren, und erreicht wirklich alle.
http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2853
Das Buch ist von 2012 und beschreibt außerdem das moderne Klassendesign samt Templates und Änderungen in C++11
in SFML 2.0 hat Laurent sf::Image zu sf::Texture erweitert. Außerdem wurden die Memberfunktionen umbenannt:
texture.LoadFromFile("Pfad/zur/Bilddatei"); zu
texture.loadFromFile("Pfad/zur/Texture");
Mehr darüber kannst du auf der offiziellen Dokumentation lesen:
www.sfml-dev.org/documentation/2.0/
Falls dir die Dokumentation für den Anfang zu schwierig ist: Laut seiner Nachrichten auf Github wird er innerhalb des nächsten Monats offiziell SFML 2.0 veröffentlichen (also nicht 2.0 rc). Dabei soll dann auch eine neue Seite mitkommen, inwelcher auch die Tutorials
in SFML 2.0 hat Laurent sf::Image zu sf::Texture erweitert. Außerdem wurden die Memberfunktionen umbenannt:
texture.LoadFromFile("Pfad/zur/Bilddatei"); zu
texture.loadFromFile("Pfad/zur/Texture");
Mehr darüber kannst du auf der offiziellen Dokumentation lesen:
<a href="http://www.sfml-dev.org/documentation/2.0/" target="_blank">http://www.sfml-dev.org/documentation/2.0/</a>
Falls dir die Dokumentation für den Anfang zu schwierig ist:
Laut seiner Nachrichten auf Github wird er innerhalb des nächsten Monats offiziell SFML 2.0 veröffentlichen (also nicht 2.0 rc). Dabei soll dann auch eine neue Seite mitkommen, inwelcher auch die Tutorials
Ich fand den Animie im Gegensatz zum Manga auch nicht gut (Liegt daran, da für den Animie viel gestreckt wird).
Wenn man den Manga liest, kommen die Handlungsstränge besser zum Vorschein (zB gibt es in Band 1 einige "unwichtige" Stellen (Wie Shanks Ruffy rettet) welche später (ca. Band 60) wichtig werden. etc
Wenn du dich für One Piece interresierst, kannst du mal in der Stadtbibliothek deines Vertauens nach den ersten Bänden schauen.
Leider gibt es keine guten Deutschen Bücher für DirectX (Auch keine Englischen). Wenn mal ein Deutsches DX - Buch erscheint, behandelt es veralterte Themen, die heute als "deprecated" gelten. Es gibt aber eine gute Englische Website, auf welcher der Autor die aktuelle DX11 Version (unterscheidet sich nur minimal von DX11.1) behandelt.
Hier der link:
rastertek.com/tutdx11.html - Für DirectX 11
rastertek.com/tutterr.html - Für das erstellen von Terrain etc.
C# ist einfacher und reicht auch für die meisten Anwendungen vollkommen aus. Wenn dein Programm dann aber kompliziertere 3D - Grafik benutzen soll oder du ein Datei - IO brauchst (Daten in Dateien speichern und auslesen) ist C++ dafür besser geeignet.
"MULTIPLE IRP" waren Treiber, die gleichzeitig ein Paket als ihres betrachten und darauf zugreifen wollen. Am besten postest du das in einem anderen Forum, welches besser darauf antworten kann samt der kompetten angeschlosenen Hardware und Peripherie. Die können dir dabei mehr helfen
Poste mal den Code
Geht mit Boost.Asio ziemlich einfach: http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio.html
Deutsches Ebook dazu:
www (.) highscore (.) de/cpp/boost/
Oder folgene Lösungen funktionieren auch:
cpp-netlib (.)org
rastertek.com/tutnet.html
(Leider auf English; außerdem hat der Autor lange nicht mehr daran geschrieben).
Geht am besten mit dem neuen C++11 - Header
Link
http://www.cplusplus.com/reference/random/
Damit kann man auch entscheiden, wie die Zufallszahlen verteilt werden (zB Bionominalverteilung bei X mal Y Münzen werfen)
Bei C++ geht das relativ einfach per header :
http://www.cplusplus.com/reference/fstream/
Man ist nicht an irgentelche Windows - Dateiformate gebunden, sondern man kann auch eigene erfinden (zB datei.savegame, user.resource etc. etc.)
Das funktioniert wie ähnlich ein nornmales
"std::cout<< "HierDieVariabelnHin"<<std::endl;"
Mit der Boost.Filesystem - Libary kann man auch ganze Ordnerstrukturen erstellen. (Link dann als Antwort, weil Gutefrage mehr als einen nicht zulässt
Am besten gehst du erstmal in Förderunterricht - Deutsch.
Aber das Wiederholen ist eine gute Idee. Du kannst aber auch auf ein Berufliches Gymnasium wechseln, das deine Interessen bereitstellt (zB Elektrotechnik, Wirtschaft etc. etc. )
Du kannst Minecraft auch RAM zur verfügung stellen, indem du in der Systemsteuerung Java mehr verfügbaren Ram zuweist