Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Re-Z01 Mini JLI'ler
Alter: 42 Anmeldedatum: 26.10.2006 Beiträge: 14 Wohnort: Alfeld (Leine) Medaillen: Keine
|
Verfasst am: 01.10.2007, 11:05 Titel: Wie geht ihr beim Durcharbeiten vor? |
|
|
Hallo,
ich hoffe, dass diese Frage im richtigen Topic ist.
Ich hätte gerne gewusst, wie ihr beim Durcharbeiten des JLI-Buches vorgeht oder vorgegangen seid.
Ich lese z.B. erst das Kapitel, habe dadurch das Wissen und hacke dann den, im Buch abgedruckten, Quelltext rein. Danach wird das Ganze mit der Beispiel-Datei abgeglichen und getestet. In den meisten Fällen kann man dann das Ergebnis als Vorlage für das nächste Kapitel nehmen, usw.
Warum ich das Frage?
Nun, ich habe mir "Programming Role Playing Games with DirectX 2nd Edition" gekauft und auch "Inside Microsoft DirectX9-Spieleprogrammierung".
Jetzt weiß ich nicht so recht, wie man da am besten vorgeht, um zu einem vernünftigen Ergebnis zu kommen.
Wenn mir jemand dabei einen oder zwei Tipps geben kann, wäre ich wirklich dankbar. |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 01.10.2007, 13:05 Titel: |
|
|
Naja, wichtig ist, das ganze dann noch an eigenen Beispielen zu verinnerlichen. Dir selber Dinge ausdenken, du du mit deinem Wissen schon machen könntest und dementsprechend dann umsetzen. So lernt man imo sehr gut und schnell. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
newby JLI'ler
Anmeldedatum: 17.08.2007 Beiträge: 106
Medaillen: Keine
|
Verfasst am: 01.10.2007, 14:05 Titel: |
|
|
Ich würde dir nicht empfehlen erst das Kapitel zu lesen und dann den Code selber zu schreiben. Am Anfang wenn es um c++ geht ist das noch gut, aber wenn man dann visual c++ und directX benutzt, werden die Quelltexte so lang, dass du nie alle Parameter von irgendwelchen Funktionen auswendig kannst. Ein Beispiel: Du willst in Visual C++ per WinAPI ein Fenster erstellen. Wenn du es vernünftig formatiert aufschreibts, brauchst du mindestens eine Din A4 Seite Code. Ich könnte so aus dem Kopf kein Fenster erstellen!
Vielleicht bin ich da alleine, könnt ihr ein Fenster aus dem Kopf so erstellen? |
|
Nach oben |
|
|
Re-Z01 Mini JLI'ler
Alter: 42 Anmeldedatum: 26.10.2006 Beiträge: 14 Wohnort: Alfeld (Leine) Medaillen: Keine
|
Verfasst am: 01.10.2007, 14:44 Titel: |
|
|
@Jonathan_Klein :
Das mache ich im Prinzip auch. Habe ich nur vergessen zu schreiben.
@newby :
Wenn du davon abrätst, was ist denn deine Alternative?
Nur Copy & Paste ist auch nicht das Beste. Da bleibt doch der Lerneffekt auf der Strecke und aus dem Kopf braucht man ja nicht programmieren.
Die meisten Bücher bauen auch von Grund auf und bauen weiter aus.
Falls jemand auch "Programming Role Playing..." oder "Inside..." hat, würde ich gerne wissen wollen, wie der-/diejenige vorgegangen ist, weil ich nicht weiß wie. |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 01.10.2007, 15:59 Titel: |
|
|
Es ist nicht wichtig, ein Fenster aus dem Kopf erstellen zu können, man muss nur das Prinzip kennen (also z.B. erst die Fensterklasse erstellen und dann davon ein Fenster erstellen). Will man nur mit DX oder Ogl darin rendern muss man gar nicht viel verstanden haben, will man aber eine Anwendung mit mehreren Unterfenstern und so erstellen, sollte man es doch grob kapiert haben.
Es reicht meistens also aus, zu wissen dass es eine solche Funktion gibt, will man sie benutzen kann man dann ja nachschlagen (man sollte aber wissen, wo man nachschlagen kann). Das gilt für fast alles. Wenn man dann weiß, welche Parameter es gibt, weiß man normalerweise auch, was man jeweils angeben will, jedenfalls wenn man das Prinzip verstanden hat. Und darauf kommt es an.
Und ein Buch falsch benutzen kann man eigentlich kaum. Kapitel für Kapitel lesen ist schonmal ne gute Idee, manchmal braucht man das Wissen auch gar nicht direkt. Dann will man irgendwann etwas bestimmtes einbauen und erinnert sich, das man ja so ein Buch hatte, wo so ein Kapitel drinne stand und dass das da so grob erklärt wurde. Dann liest man das Kapitel nocheinmal und versucht es anzuwenden. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
newby JLI'ler
Anmeldedatum: 17.08.2007 Beiträge: 106
Medaillen: Keine
|
Verfasst am: 01.10.2007, 16:00 Titel: |
|
|
warum nicht copy&paste?
Ich kann mir doch keine WNDCLASSEX-Struktur oder sowas merken!
Ok, man muss den Code nicht kopieren, man kann ihn auch abtippen, aber merken kann man es sich trotzdem nicht. Nachher ändert man einfach ein paar Parameter um zu verstehen wie man die Funktion benutzen kann.
Ich würde nicht von mir behaupten das ich C++ oder DirectX verstanden habe, ich würde nur sagen, dass ich es anwenden kann. |
|
Nach oben |
|
|
Re-Z01 Mini JLI'ler
Alter: 42 Anmeldedatum: 26.10.2006 Beiträge: 14 Wohnort: Alfeld (Leine) Medaillen: Keine
|
Verfasst am: 01.10.2007, 18:39 Titel: |
|
|
Normalerweise muss man doch etwas verstanden haben um es anwenden zu können, oder? Sonst würdest du doch nicht wissen, welche Parameter du abändern musst, um etwas bestimmtes zu erreichen. Das hätte ja dann was mit ausprobieren zu tun und DAS würde wirklich lange dauern. |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 01.10.2007, 19:41 Titel: |
|
|
Zwischen etwas "wissen" und etwas "verstehen" besteht eben nur ein kleiner Unterschied. Man sollte in der Tat verstehen, was beim Erzeugen eines Fensters unter Windows passiert, wenn man eben das vorhat. Man braucht allerdings nicht wissen, was man dazu im Detail wann welcher Funktion übergeben muss. Genau dafür sind Referenzen da.
Lernen in dem Sinne ist sowieso Quatsch. Das erste was man machen sollte ist ein Gefühl - insbesondere für die Sprache und die verwendeten Paradigmen etc. - gewinnen. Das Wichtigste ist auf jeden Fall Erfahrung und Übung (wo gibt es Fallstricke, warum wirft der Compiler diesen oder jenen Fehler, was ist eine "gute" Lösung und was nicht...) und kein "gelerntes" Wissen, Wissen in dem Sinne gibt's überall mundgerecht aufbereitet im Netz oder in einer gescheiten Bibliothek. Wenn du etwas Sinnvolles "lernen" willst, dann lerne (im Sinne von "übe") den Umgang mit der Sprache deiner Wahl und diversen Referenzen und Dokumentationen. |
|
Nach oben |
|
|
newby JLI'ler
Anmeldedatum: 17.08.2007 Beiträge: 106
Medaillen: Keine
|
Verfasst am: 02.10.2007, 08:53 Titel: |
|
|
Ganz meine Meinung |
|
Nach oben |
|
|
Chriss Senior JLI'ler
Anmeldedatum: 18.08.2004 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 02.10.2007, 15:25 Titel: |
|
|
@Topic, mein Vorgehen war lesen + abtippen und wenn alles funktioniert den Quellcode abändern und schauen ob die änderung so ist wie erwartet. |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 02.10.2007, 16:02 Titel: |
|
|
Genau so sollte man es machen. Und dann nicht nur verändern, sondern um irgendwas erweitern und das wissen aus den vorherigen Kapiteln anwenden.
So ist eines meiner ersten Windowsprogramme auf basis eines Beispiels entstanden. Das Beispiel bestand daraus, auf einem Fenster eine diagonale Reihe von bunten Quadraten zu zeichnen. Ich habe das ganze so erweitert, dass bei einem Mausklick an dieser Stelle angefangen wird, die Quadrate zu malen. Dann konnte man noch die Richtung ändern und schon hatte ich ein billiges Malprogramm, welches ich der ganzen Familie gezeigt habe _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Re-Z01 Mini JLI'ler
Alter: 42 Anmeldedatum: 26.10.2006 Beiträge: 14 Wohnort: Alfeld (Leine) Medaillen: Keine
|
Verfasst am: 04.10.2007, 06:28 Titel: |
|
|
Prinzipiell gehe ich auch so vor, nur leider hat das Buch, welches ich gerade durcharbeite, die Eigenschaft pro Kapitel eine einzige Klasse zu behandeln. Nach soundso-vielen Kapiteln werden die gesamten Klassen erst zu einem Gesamtgebilde zusammengefügt. Mit ausprobieren und abändern ist da leider nicht viel. |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 04.10.2007, 11:59 Titel: |
|
|
Wenn man schon auf dem Level ist, komplette Klassen durchzuarbeiten, dann reicht es im allgemeinen auch aus das Kapitel ersteinmal zu lesen, den Quellcode zu lesen und versuchen ihn zu verstehen. Richtig viel rumprobieren muss man vor allen Dingen am Anfang, z.B. wenn man lernt, was eine Funktion ist und so.
D.h. einfach lesen und versuchen zu verstehen. Wenn es dir zu schwer erscheint, musst du vielleicht nicht deine "durcharbeiten" Technik ändern, sondern es einfach ein paar mal lesen, oder erst nochmal was leichteres lesen, oder einfach akzeptieren, dass man nicht alles auf Anhieb perfekt kann und einfach weiter machen um später das Kapitel nochmal zu lesen und zu verstehen. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
|