Beiträge von dowhile

    Hi,

    ich möchte mein Projekt vorstellen, einem kleinen Netzwerk-RPG in Java. Vielleicht interessiert es jemanden oder jemand möchte mitmachen.

    Bilder von Version 1: (Interface ist ganz leicht an Flyff angelegt)
    http://s14.directupload.net/images/130525/i39kj5hl.png
    http://s7.directupload.net/images/130525/s8l7wllq.png
    http://s7.directupload.net/images/130525/zzxgbtev.png
    http://s14.directupload.net/images/130525/sagvnz5d.png

    Grafiken stammen aus dem Internetz, Flyff bezogene Grafiken von dawn. Die Grafiken für die GUI von east-power-soft.de

    Bilder von Version 2 (neues Projekt, bei Version 1 waren einige Entscheidungen zur Architektur doof):
    http://s1.directupload.net/images/130525/fcw63rni.png

    Wenn jemand überlegt, mitmachen zu wollen, würde ich den Quelltext hochladen, damit er sich ein Bild davon machen kann.

    Zitat

    ich rede nicht mal von GUI's, die will ich mir aufsparen bis ich OOP halbwegs beherrsche!


    Würde ich nicht. GUIs sind toll.

    Zudem: Ist die Library für GUIs objektorientiert?
    Wenn ja: Schau es dir doch ein wenig an. Das hilft dir sicher sehr, den Sinn hinter den einzelnen OOP "Elementen" zu verstehen (wenn du damit probleme haben solltest).

    Zitat von Delinquenz;320853

    Ich würde das Problem an der Wurzel anfassen. Wieso ist die Klasse denn so groß? Vielleicht liegt da ja auch ein Designfehler vor. Ansonsten: Bei jedem guten Editor kann man Funktionen verkleinern, so dass nur der Funktionsheader zu sehen ist.


    Exakt. Das vermutet ulle (wenn ich ihn richtig verstanden habe) und ich auch - ohne den Quelltext der Klasse zu sehen, können wir hierzu aber keine richtige Hilfe anbieten.

    Zitat

    Das ganze muss so ja nicht hochgeladen werden, wenn du eine bessere Lösung hast wär ich sehr froh.


    Eine bessere Lösung - wenn überhaupt nötig (600 Zeilen sind nicht zu viel ... Nach Oracles Style Guide für Code sind bis zu 2 000 Zeilen ok, viele Java Klassen größerer Projekte haben bis zu 5 000 Zeilen) - eben nur mit Quelltext nötig (da, wie Ulle und Delinquenz beschrieben haben, der dann im Design liegt).

    Zitat

    Ich bin wirklich froh das ihr mir helfen wollt aber ich brauche im Grunde nur eine Antwort auf die Frage: Wie binde ich den Code von in externen Datein befindliche Funktionen in eine Klasse ein?


    Ok, dann: Keine Ahnung ob das geht, es ist aber auch ein falscher Weg, um für eine bessere Struktur zu sorgen (bzw. mehr Übersicht). Es ist IMHO unüblich, unnötig und hässlich.

    (Halt, warte: Schau dir mal Traits an. Damit sollte es gehen. Ist aber trotzdem hässlich und falsch)

    Hi,

    grundsätzlich würde ich auch mitmachen (aber nicht als MMORPG-Browserspiel sondern als eigenes Projekt; nicht mit dem Hintergrundgedanken, daraus ein richtiges Spiel zu machen, sondern zum Spaß; nicht als Browserspiel, sondern als normales Spiel).

    Was hälst du davon? Vor einem halben Jahr habe ich sowas ähnliches programmiert, irgendwann aber damit aufgehört (nach 35k Zeilen, einige Sachen / Konzepte waren schlecht (umgesetzt)). Mir hat das aber ziemlich Spaß gemacht, deswegen würde ich es mit der gewonnen Erfahrung / deinen Erfahrungen / überarbeiteten Konzepten gerne noch einmal angehen.

    Hast du Skype (oder so)?

    Zitat von Delinquenz;319693

    Java ist performancetechnisch nicht auf einem Level mit C++. Mehr muss man dazu, meines Erachtens nach, nicht sagen.


    Und welche Anwendung(en) hast du schon programmiert bzw. willst du irgendwann programmieren, die du aufgrund der schlechteren Performance nicht hättest mit Java programmieren können?

    Zitat

    Einige Sachen sind mir bei Java halt zu ungenau und das ist auch ein wichtiger Grund was mich davor abschreckt Java zu lernen.


    Und wenn man für eine größere Anwendung etliche Libs braucht, die bezüglich ihrer API alle keinem einheitlichen Standard folgen, kommt das deinem Bedürfnis nach Genauigkeit (hier gleichzusetzen mit Einheitlichkeit?) nach?

    Und wenn jeder Java-Programmierer die primitiven Datentypen kennt, weiß jeder, dass "int i;" etwas anderes als "MyClass mc;" ist, d.h. jeder behält den Überblick. Dann ist das deiner Meinung nach also auch ok (Weil du es als Nachteil aufgezählt hast)?

    Mir geht es weniger darum, ob man den Überblick behält; sondern darum, dass du bei Java die "schwache" Semantik kritisierst, zugleich C++ dadurch auszeichnest, dass die Semantik teilweise "überschrieben" werden kann.

    Willst du darüber diskutieren? (Ich hätte Lust dazu)

    Zitat

    - Kein explizites Zerstören von Objekten möglich. Dadurch ist der Nutzen von Destruktoren sehr eingeschränkt.


    Für was braucht man Destruktore? In den letzten 50 000 Zeilen Code hatte ich nie das Bedürfnis, einen zu verwenden.

    Zitat

    - Schwache Semantik. "int i;" deklariert ein Objekt, während "MyClass mc;" einen Verweis auf ein Objekt deklariert.


    Stimmt.

    Zitat

    - Keine echten lokalen Objekte, außer bei eingebauten Typen.


    Was sind "loakle Objekte"? Ich kenne den Begriff nicht und habe über Google nichts dazu gefunden.

    Zitat

    - Keine Möglichkeit, Operatoren zu überladen.


    Es ist doch toll, wenn ein Operator immer das selbe macht.
    Wenn du das schlecht findest, finde ich das etwas widersprüchlich zum zweiten Argument.
    Es ist schlecht, wenn "int i;" anders zu verstehen ist als "MyClass mc;", aber völlig i.O, wenn bei "a << 5" irgendwelche Bits im Speicher von "a" verschoben werden
    (geht das?), bei "b << 5" hingegen die "5" durch irgendeinen eigenen Algorithmus verarbeitet wird?

    Zitat

    [FONT=Verdana]- Keine Templates und daraus folgend viele Casts, kein Metaprogramming (man sehe sich nur boost oder loki an, was damit alles möglich ist!) und vermutlich auch viel doppelter Code im Projekt.


    Gibt es aber, nennt sich
    http://%5b/FONT.

    Zitat

    - Wegen Garbage Collection ist das Laufzeitverhalten eines Programms schwer zu ermitteln geschweige denn zu garantieren. Dito Speicherverhalten.


    Der GC greift nur bei Objekten, die nicht mehr verwendet werden, d.h. auf das Laufzeitverhalten des Programms keinen Einfluss mehr nehmen. Inwiefern manipuliert der GC also dieses?
    Wieso muss ich mich in Java um das Speicherverhalten scheren?

    Zitat

    - Keine echte Mehrfachvererbung


    Mehrfachvererbung hat Vor- und Nachteile. Ich würde das daher als Unterschied und nicht als klarer Nachteil bestimmen.

    Zitat

    - Keine Unterscheidung zwischen Schnittstelle und Implementierung (*.hpp vs. *.cpp).


    Das ist auch ein Unterschied, aber wieso ist es ein Nachteil? Dort zu Unterscheiden ist in Java eben nicht notwendig.

    ---------------------------------------------------

    Zitat

    was ist den eurer Meinung nach die leichteste Programmiersprache? :D


    Java

    Hier bekommt man viel schneller eine Verwarnung als in anderen Foren. :(

    Ernsthaft: Wieso sollte ich hier diskutieren wollen? Für jeden Themenbereich gibt es viel bessere Foren (größer, mehr qualifizierte Mitglieder, aktiver). Ich bezweifle stark, dass irgendwelche technische Änderungen wie Addons etwas ändern ... Wen interessiert es, wenn ein Forum XYZ kann, wenn es keinen Content hat?

    Und weil ich es noch immer unglaublich lächerlich finde: Andere Foren schließen keine Partnerschaft mit irgendwelchen Typen, die behaupten, sie hätten in den letzten Wochen ein drei Jahre altes Projekt programmiert und nehmen ihn anschließend ins Team auf. :yarr:

    Und weil ich so schadenfreudig bin: Meine frühere Kritik wurde immer mit "Wem es nicht passt soll doch gehen" quittiert. :yarr: Sind wohl doch zu viele gegangen, was? :yaeh am not durnk:
    Haha, ich weiß, dass das eigentlich echt niveaulos ist. Aber damals dachte ich mir immer, dass sie das ja auch nur sagen können, solange genügend Mitglieder aktiv sind ... Weil die Einstellung ziemlich arrogant auf mich wirkte. Und jetzt ... :yarr: