Hallo!
Ich bin neu hier und habe hier schon einige Threads gelesen und finde hier wird einem gut geholfen , deswegen habe ich mich mal angemeldet um grundlegende Frage zu klären.
Zu mir: Ich bin seit ca einem Jahr fertig mit meinem Informatikstudium und arbeite derzeit als PHP-Entwickler auf einer relativ "simplen" Ebene. Da mir das nicht mehr genügt, möchte ich vor allem in einer anderen Sprache Fuß fassen um auch meinen Marktwert zu steigern und um mehr Erfahrung zu sammeln. Da ich im Studium Java als Sprache hatte und mir das ganz gut gefiel hab ich einfach jetzt angefangen neben der Arbeit ein wenig zu programmieren.
Ich habe im Studium die grundlegenden Programmierkenntnisse erlangt und kann mit OOP schon was anfangen, Programmierparadigmen sind für mich auch kein Fremdwort, mein Problem liegt aber vor allem darin, dass ich nach einer gewissen Zeit nicht mehr so wirklich weiter komme, weil alles so unübersichtlich und fragwürdig wird. Unübersichtlich, weil ich mich ständig in das Modell wieder reindenken muss und oft den Ablauf von vorn nach hinten durchgehen muss und dann bereits vergesse, nach was ich eigentlich schauen wollte. Fragwürdig, weil ich dann mitten an einer Code-Stelle stehen bleibe und mir denke: Ist das so richtig? Muss das nicht in eine andere Klasse? Kann man das nicht besser abstrahieren? Ist das nicht zu umständlich? Verursacht das nicht Performance-Probleme? Ich hoffe ihr versteht wie ich das meine ...
Mein jüngstes Projekt ist ein Schiebepuzzle mit Lösungsalgorithmus. Ich hätte das ganze gern in einer Android App gehabt und fande das jetzt nicht so wahnsinnig komplex zu beginn. Im Kopf alles klar, beim aufmalen auch alles klar, beim Umsetzen auch erst einfach, aber nach dem 3. mal Umbauen aufgrund falscher, zu spät festgestellter Designentscheidungen bin ich schon wieder fast zum aufgeben gezwungen und würde alles am liebsten noch mal machen, weil es mir zu unsauber vorkommt.
Dabei scheitert es an Dingen wie z.b der Interaktion zwischen Game-Model (Das Puzzle als Array abstrahiert, Methoden zum Verschieben der Puzzle-Teile usw.) und der eigentlichen Anzeige. Ich weiss zum Beispiel nicht, welches Design Pattern sich dafür eignet. Wenn ich mal eins anwende stelle ich hinterher fest, dass ich hier und da die regeln dafür gebrochen habe. nicht gut!
Z.b. Hat mein GameModel einen Container (ArrayList<Tile>), dieser beinhaltet die einzelnen Puzzle-Teile. Tile selber hat wiederrum Eigenschaften wie positionX und positionY. Die x und y Positionen der Tiles sind aber wiederrum abhängig von der Größe des Canvas auf die sie gezeichnet werden sollen.
Hier vermischen sich (für mich) wieder Anzeige und Datenmodell. Wann und wie setze ich also die X und Y Positionen, damit sie strikt der Trennung von Daten und Anzeige folgen? Setzt man diese X und Y Daten überhaupt am Tile oder überlässt man das gar gänzlich einer völlig anderen Stelle? Gehören die "Tiles" überhaupt in das abstrakte "Game Model" oder ist das nicht eher schon Anzeige? Ich meine das Feld mit den Nummern wird ja bereits in einem Array repräsentiert.
Ihr seht schon, ich hinterfrage viele Dinge und komme eigentlich nicht wirklich zum Ziel. Manchmal denke ich mir, ich bin viel zu doooooof zum programmieren ???:L???:L???:L Ich meine: Es ist ein Puzzle! Das programmieren die meisten von euch sicher in ein paar Stunden runter ... Ich hab hier schon Wochenlang jeden Abend in die Tastatur gebissen
Was ich vor allem wissen möchte: Ging/geht es euch genauso? Habt ihr Tipps, wie man grad als Einsteiger/Umsteiger besser ans Ziel kommt? Ich habe mir schon viele Tutorials durchgelesen und habe danach immer das Gefühl es beim nächsten mal besser machen zu können ... dann sitz ich wieder vorm Quellcode und es passiert im Prinzip das gleiche wie beim letzten mal
Vielen Dank schonmal
Ich bin neu hier und habe hier schon einige Threads gelesen und finde hier wird einem gut geholfen , deswegen habe ich mich mal angemeldet um grundlegende Frage zu klären.
Zu mir: Ich bin seit ca einem Jahr fertig mit meinem Informatikstudium und arbeite derzeit als PHP-Entwickler auf einer relativ "simplen" Ebene. Da mir das nicht mehr genügt, möchte ich vor allem in einer anderen Sprache Fuß fassen um auch meinen Marktwert zu steigern und um mehr Erfahrung zu sammeln. Da ich im Studium Java als Sprache hatte und mir das ganz gut gefiel hab ich einfach jetzt angefangen neben der Arbeit ein wenig zu programmieren.
Ich habe im Studium die grundlegenden Programmierkenntnisse erlangt und kann mit OOP schon was anfangen, Programmierparadigmen sind für mich auch kein Fremdwort, mein Problem liegt aber vor allem darin, dass ich nach einer gewissen Zeit nicht mehr so wirklich weiter komme, weil alles so unübersichtlich und fragwürdig wird. Unübersichtlich, weil ich mich ständig in das Modell wieder reindenken muss und oft den Ablauf von vorn nach hinten durchgehen muss und dann bereits vergesse, nach was ich eigentlich schauen wollte. Fragwürdig, weil ich dann mitten an einer Code-Stelle stehen bleibe und mir denke: Ist das so richtig? Muss das nicht in eine andere Klasse? Kann man das nicht besser abstrahieren? Ist das nicht zu umständlich? Verursacht das nicht Performance-Probleme? Ich hoffe ihr versteht wie ich das meine ...
Mein jüngstes Projekt ist ein Schiebepuzzle mit Lösungsalgorithmus. Ich hätte das ganze gern in einer Android App gehabt und fande das jetzt nicht so wahnsinnig komplex zu beginn. Im Kopf alles klar, beim aufmalen auch alles klar, beim Umsetzen auch erst einfach, aber nach dem 3. mal Umbauen aufgrund falscher, zu spät festgestellter Designentscheidungen bin ich schon wieder fast zum aufgeben gezwungen und würde alles am liebsten noch mal machen, weil es mir zu unsauber vorkommt.
Dabei scheitert es an Dingen wie z.b der Interaktion zwischen Game-Model (Das Puzzle als Array abstrahiert, Methoden zum Verschieben der Puzzle-Teile usw.) und der eigentlichen Anzeige. Ich weiss zum Beispiel nicht, welches Design Pattern sich dafür eignet. Wenn ich mal eins anwende stelle ich hinterher fest, dass ich hier und da die regeln dafür gebrochen habe. nicht gut!
Z.b. Hat mein GameModel einen Container (ArrayList<Tile>), dieser beinhaltet die einzelnen Puzzle-Teile. Tile selber hat wiederrum Eigenschaften wie positionX und positionY. Die x und y Positionen der Tiles sind aber wiederrum abhängig von der Größe des Canvas auf die sie gezeichnet werden sollen.
Hier vermischen sich (für mich) wieder Anzeige und Datenmodell. Wann und wie setze ich also die X und Y Positionen, damit sie strikt der Trennung von Daten und Anzeige folgen? Setzt man diese X und Y Daten überhaupt am Tile oder überlässt man das gar gänzlich einer völlig anderen Stelle? Gehören die "Tiles" überhaupt in das abstrakte "Game Model" oder ist das nicht eher schon Anzeige? Ich meine das Feld mit den Nummern wird ja bereits in einem Array repräsentiert.
Ihr seht schon, ich hinterfrage viele Dinge und komme eigentlich nicht wirklich zum Ziel. Manchmal denke ich mir, ich bin viel zu doooooof zum programmieren ???:L???:L???:L Ich meine: Es ist ein Puzzle! Das programmieren die meisten von euch sicher in ein paar Stunden runter ... Ich hab hier schon Wochenlang jeden Abend in die Tastatur gebissen
Was ich vor allem wissen möchte: Ging/geht es euch genauso? Habt ihr Tipps, wie man grad als Einsteiger/Umsteiger besser ans Ziel kommt? Ich habe mir schon viele Tutorials durchgelesen und habe danach immer das Gefühl es beim nächsten mal besser machen zu können ... dann sitz ich wieder vorm Quellcode und es passiert im Prinzip das gleiche wie beim letzten mal
Vielen Dank schonmal