Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 28

Thema: Progforum Contest 2013 - Abstimmung

  1. #1

    Progforum Contest 2013 - Abstimmung

    Halli Hallo werte Freunde der gepflegten Programmierung ...

    Wie ihr sicherlich gesehen habt, ist nun endlich der (mehrfach verschobene) Abgabetermin fuer den Progforum Contest 2013 ueberschritten, was bedeutet: Ihr habt die Qual der Wahl.

    Abstimmen koennt ihr bis zum Sonntag, dem 19.05.2013

    Insgesamt haben wir acht Einsendungen von sechs Personen bekommen. Damit werte ich schon jetzt diesen Contest als vollen Erfolg. Im Folgenden sind die Contestanten alphabetisch mit ihren Abgaben aufgelistet.


    Die Abstimmung erfolgt wie folgt:

    • Es gibt DREI Kategorien, in denen abgestimmt wird: Interpreter, Bild, Idee/Umsetzung/Sonstiges
    • In JEDER Kategorie vergebt ihr fuer JEDEN Kandidaten einen rationalen Zahlenwert zwischen Null und Fuenf (beides einschließlich)
    • Null ist die schlechtestmögliche und Fuenf ist die bestmögliche Bewertung, also je groeßer die Zahl, desto besser. Seht es wie umgekehrte Schulnoten.
    • Bitte bezieht in euere Bewertung auch mit ein, ob eine Einsendung alle geforderten Kriterien fuer den Contest erfuellt. Niemand wird deswegen disqualifiziert, aber vielleicht gibts ja Punktabzug.
    • Hat ein Kontestant mehere Einsendungen abgegeben, so liegt es an euch, ob ihr nur die beste Einsendung oder den Gesamteindruck bewerten wollt. Ihr habt hier freie Hand.
    • In die letzte Spalte tragt ihr dann bitte die Summe euerer Punkte pro Kandidat ein. Ich hab euch unten schon mal was vorbereitet.
    • Gewonnen hat derjenige mit der größten Summe.


    Code:
    [table][b]
    [tr][td][color=#FFAA00][center]
    Name[/center][/color][/td][td][color=#FF8080][center]
    Interpreter[/center][/color][/td][td][color=#80FF80][center]
    Bild[/center][/color][/td][td][color=#8080FF][center]Idee
    Umsetzung
    Sonstiges[/center][/color][/td][td][color=#00AAFF][center]
    Summe[/center][/color][/td][/tr]
    [tr][td]Cornix[/td]    [td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][/tr]
    [tr][td]csg[/td]       [td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][/tr]
    [tr][td]Ineluki[/td]   [td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][/tr]
    [tr][td]Jesus_666[/td] [td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][/tr]
    [tr][td]nudelsalat[/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][/tr]
    [tr][td]Whiz-zarD[/td] [td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][td][center]ZAHL[/center][/td][/tr]
    [/b][/table]
    Das sieht dann in etwa so aus. Nur solltet ihr jeweils ZAHL durch euere Bewertung ersetzen.

    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    ZAHL
    ZAHL
    ZAHL
    ZAHL
    csg
    ZAHL
    ZAHL
    ZAHL
    ZAHL
    Ineluki
    ZAHL
    ZAHL
    ZAHL
    ZAHL
    Jesus_666
    ZAHL
    ZAHL
    ZAHL
    ZAHL
    nudelsalat
    ZAHL
    ZAHL
    ZAHL
    ZAHL
    Whiz-zarD
    ZAHL
    ZAHL
    ZAHL
    ZAHL

    Zur Siegerehrung wird es dann nochmal einen extra Mini-Thread geben.

    An dieser Stelle moechte ich mich schon einmal herzlichst bei allen Contestanten bedanken. Ihr habt diesen Contest spannend gemacht.

    Bleibt mir eigentlich nur noch, mich bei all denen zu bedanken, die abstimmen werden und euch dabei viel Spass zu wuenschen.

    Moege der / die / das beste / schoenste / kreativste Code / Bild / Idee gewinnen.

    Geändert von Ineluki (07.05.2013 um 00:00 Uhr)

  2. #2
    Ich komm grad drauf, dass ich kaum noch an nen pc komme bevor ich abfliege. Kann nur versuchen bis Morgen frueh noch eine Bewertung fuer das Bild und eventuell noch auf Idee/Umsetzung anhand des Bildes abzugeben. Ups, sorry.




    Name

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    4
    3
    7
    csg
    3
    4.5
    7.5
    Ineluki
    4
    3
    7
    Jesus_666
    5
    4
    9
    Whiz-zarD
    3.5
    3.5
    7


    Cornix:
    Der letzte Screenshot ist echt cool! Leider keine Eingabe zur Laufzeit.

    csg:
    Nett, dass man quasi mehrere Funktionen definieren und Aufrufen und zur Laufzeit alles ändern kann.

    Ineluki:
    Turtlecode Mandelbrotset ist ne nette Idee.

    Jesus_666:
    Hab die Webapp hergenommen weil das verlinkte Bild nicht existiert. Hübscher Output!

    Whiz-zarD:
    Schaut ganz gut aus.

    So, und jetzt auf zum Flughafen!

    Geändert von nudelsalat (30.04.2013 um 08:30 Uhr)

  3. #3
    So, auf die Gefahr hin, auf den letzten Platz zu sinken, wenn kein anderer mehr abstimmt:


    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    3,5
    3
    2
    8,5
    csg
    2,5
    3,5
    3
    9
    Ineluki
    2,5
    1
    2,5
    6
    Jesus_666
    2,5
    3,5
    3,5
    9,5
    nudelsalat
    2,5
    3,5
    4
    10

    @ Cornix:
    Sei mit Interfaces ein wenig sparsamer. Du scheinst sie ja zu verwenden, wie die Header-Dateien aus C/C++
    Irgendwie scheint auch dein Programm nicht das zu machen, was es soll. Bei der Bedienung habe ich Probleme, aber du warst der einzige, der auf Erweiterbarkeit der Befehle geachtet hat.

    @ csg:
    Das On-The-Fly-Zeichnen gefiel mir. Wieso bin ich nicht drauf gekommen, und hab stattdessen einen Button eingebaut? ^^"

    @ Ineluki:
    Sorry, aber ich fand, dein Programm schoss über das Ziel hinaus. Ich fand, dass hatte nichts mehr mit einer Turtle-Grafik zu tun gehabt, sondern mit einer Vektorisierung von Rastergrafiken.

    @ Jesus_666:
    Beim Finder-Logo musste ich schon grinsen. Sehr nette Idee. Würde ich Javascript nicht so hassen, hätte ich selbst Javascript genommen.

    @ Nudelsalat:
    Mein persönlicher Favorit dieses Contests. Die drehbare 3D-Ebene hat es mir echt angetan. Das UI sieht auch sauber aus.

  4. #4
    huhu!
    Sorry, dass ich überhaupt keine Zeit hatte, hier am Contest teilzunehmen... ehrlich gesagt habe ich nichtmal wirklich Zeit, abzustimmen (morgen und übermorgen sind die Abschlussklausuren für meinen Bachelor, whoooo!), aber was soll's, jetzt bin ich doch gespannt, was ihr so auf die Beine gestellt habt. =)


    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    3
    4
    2
    9
    csg
    3
    3
    4,5
    10,5
    Ineluki
    5
    3
    5
    13
    Jesus_666
    4
    3
    4
    11
    nudelsalat
    4
    5
    4
    13
    Whiz-zarD
    3,8
    4,5
    3,5
    11,8

    Cornix: Ich find die Bilder bei der zweiten Abgabe super, und die Funktion, dass willkürliche Codes erzeugt werden, wenn man kein Argument übergibt, ist auch richtig toll. =)
    Aber allgemein bin ich eine GUI-whore, und daher gibt es leider etwas Abzug dafür, dass man das ganze nur über die Konsole bedienen kann. Ich weiß, ich weiß, Konsolen sind viel toller und bla und blubb, aber so fühle ich halt persönlich. Sorry!

    csg: Das mit den Variablen find ich lustig, gut gemacht!

    Ineluki: Fuck yeah. Du hast den Contest hier auch nur ins Leben gerufen, um damit anzugeben, wie toll du bist, oder? Ne, ernsthaft: Geil!
    (Aber bei dem Bild hab ich trotzdem nicht alle Broteinheiten gegeben, einfach aus dem Grund, dass bei deiner Mona Lisa die Turtle-Graphik „nur“ die einzelnen Pixel setzt. Da hätte ich mehr von dir erwartet, echt ey! Die Mona Lisa in ein Fraktal umzuwandeln, beispielsweise, das wär doch was. =P
    Das Fraktal, das du abgegeben hast, ist dafür aber voll super - zusammengenommen gibt das dann 3 ^^)

    Jesus_666: Klasse! Dafür, dass das ganze intern nur eine „Billigversion“ von SVG sein soll, schaut es wirklich schick aus. =)

    nudelsalat: Wow, voll 3D und so! Und so viele lustige Beispielbilder zum damit rumspielen!

    Whiz-zarD: Toll. =) Vor allem dein farbenfrohes Beispielbild gefällt mir!


    Insgesamt muss ich sagen, dass ihr das alle richtig toll gemacht habt. \o/

    Geändert von Moyaccercchi (05.05.2013 um 15:57 Uhr)

  5. #5
    Ehrlich jetzt ? Bisher nur 3 Bewertungen, und auch nur eine von einem Nichtteilnehmer ?
    Verlaengern wir die Abgabefrist einfach nochmal ein wenig, vielleicht stimmt dann der eine oder andere ja noch ab.

    Habe jetzt mal den 19.05. eingetragen. Mal sehen, ob das was bringt.

  6. #6
    Ich lasse schonmal die Zahlen sprechen, Anmerkungen kommen gleich nacheditiert:


    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    4
    4
    4
    12
    csg
    4,5
    4
    4,5
    13
    Ineluki
    4,5
    5
    5
    14,5
    Jesus_666
    5
    4,5
    5
    14,5
    nudelsalat
    4
    4
    4,5
    12,5
    Whiz-zarD
    3,5
    4
    4
    11,5

    Edit:
    Ich hatte mir zuerst einen groben Überblick über alle Einsendungen gemacht und alle für "Gut" befunden.

    @Cornix: Zwar keine GUI aber dafür mehr Funktionalität. Das Bild war gut.

    @csg: Die Variablen und das OTF hat auch mir gefallen.

    @Ineluki: Interpreter hat mir sehr gut gefallen und da stände eigentlich eine 5, wäre es nicht komplett über Dateiinput geregelt.
    Das Bild und die Art und Weise wie es produziert wird hat mir sehr gut gefallen, und dazu Code den sogar ich auch Anhieb verstehe ^^

    @Jeez: Auch bei dir sehr klarer Code, noch dazu äusserst kompatibel und nicht zu vernachlässigen sehr effizient.
    Wenn ich ehrlich sein soll habe ich erst bei deinem Interpreter anhand der SVGs richtig verstanden wie das mit Turtle funktioniert .

    @nudelsalat: GUI und Output sind gut, die Umsetzung von L-Systemen hat mir gefallen.

    @Whiz-zarD: Alles gut bei dir, nur die Dateischwere deines Programms hat dich einen halben Punkt gekostet. Da wäre noch mehr drin gewesen Effizienz

    Geändert von fedprod (18.05.2013 um 15:45 Uhr) Grund: Das "gleich" währte doch etwas länger ^^"

  7. #7
    Da mich Ineluki darum gebeten hat und ich schon nicht an dem contest hab teilgenommen, will wenigstens bewerten. Ich mag etwas kritisch sein, nehmt mir das dann nicht zu übel.


    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    3
    4
    2,5
    9,5
    csg
    3,5
    4
    3
    10,5
    Ineluki
    3,5
    4
    3
    10,5
    Jesus_666
    3,5
    4
    3
    10,5
    nudelsalat
    3,5
    5
    4
    12,5
    Whiz-zarD
    3,5
    4
    4
    11,5


    @Cornix
    Mir hat vor allem dein Code nicht gefallen:
    • Java hat eine Konvention die ziemlich gut ist, Underscores sind einfach super hässlich
    • Du scheint zwar auf Erweiterbarkeit Wert zu legen, allerdings verwendest du auch den final modifier wie andere Unterwäsche wechseln. Java ist furchtbar verbose und du machst es noch größer mit unnötigen keywords (Das klingt böser als es gemeint ist, wirklich!)
    • Wie Whizard finde auch ich das die Interfaces vllt es overkill waren und gar nicht zur Aufgabenstellung gehörten. Interfaces sind schön aber sie dienen als Schnittstelle nicht als Basis für alle meine Klassen. So hast du ein Interface das setter und getter definiert. warum nicht eine abstrakte Klasse die bereits die parameter besitzt die offenbar sowieso jedes Kind haben soll?


    Das Bild fand ich sehr schwach und die Bedienung des Programms auch. Du hättest mit Leichtigkeit eine kleine GUI zusammenbauen könne. Offenbar wolltest du alles dynamisch machen, da hat es sich doch angeboten finde ich (Und LWJGL + Swing ist wirklich nicht schwer).

    @csg
    Das fand ich ziemlich gut. Hat genau das gemacht wonach verlangt wurde und es gab sogar Variablen mit auto draw. Ich bin ja gar kein Fan von C++, das weißt du aber ich muss gestehen das ich deinen Code sehr leserlich fand. Mehr kann ich dazu leider nicht sagen xD

    @Ineluki
    Ähnlich wie Whiz bin ich auch der Meinung das du aber weit über das Ziel hinaus geschossen bist. Das heißt aber nicht das es nicht trotzdem ziemlich cool aussieht.

    @Jesus_666
    Hat genau das gemacht was es sollte und es gab, daher die gleiche Punktzahl wie schon bei Luki und csg.

    @nudelsalat
    Mein Favorit. Sehr schön, super netter GUI und dritte Dimension. Sehr cool.

    @Whiz-zarD
    Fand ich auch sehr gut, der Code war schön übersichtlich das Programm auch. Aber eins muss ich sagen, auch wenn es nicht mit dem eigentlich Programm zu tun hat, dieses Standard LookAndFeel von Swing.. urgs x_X Das gibt mir jedes mal Augenkrebs. Falls du eine schnelle Methode suchst (Ich bin mir aber fast sicher das du das bereist weißt) um das LookAndFeel mit einem Aufruf zu lösen, das folgende schiebe ich immer vor dem Erstellen einer GUI in Swing:
    Code:
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

  8. #8

    "Vibration of Nature" - It's a long story
    stars_mod
    Hiho!

    Von mir ähnliche Geschichte wie bei R.D.
    Habe mir mal die Ergebnisse angeschaut und bewertet. Dazu sei gesagt, dass ich keinen Blick auf den Code geworfen habe.... Dafür war ich jetzt zu faul.
    Ich habe also in dem Sinne nur das Endergebnis bewertet.


    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    1
    3
    2
    6
    csg
    2
    2.5
    2.5
    7
    Ineluki
    4
    3.5
    4
    11.5
    Jesus_666
    2.5
    4
    3
    9.5
    nudelsalat
    5
    4
    5
    14
    Whiz-zarD
    3.5
    3
    2
    8.5

    @Cornix:
    Sehr aufs einfachste begrenzt. Interpreter sehr minimalistisch. Immerhin gab es bunte bilder.

    @CSG:
    Ebenfalls sehr minimalistisch, Program hatte leider nichtmal ein Beispiel Turtlecode. Ansonsten Bonus weil C++. Davor habe ich immer respect.

    @Ineluki:
    Man kann drüber streiten inwiefern das umwandeln von Rastergrafiken in Turtlecode wirklich zählt, aber das Endergebnis war schon beeindruckend, nicht nur weil Monalisa, sondern wegen der allgemeinen Animation beim Aufbau der SVG.

    @Jesus_666:
    Das MacOS Logo in Turtle Code fand ich mal nett, ansonsten war der interpreter sehr einfach gehalten.

    @Nudelsalat:
    WebGL! Mein Favorit. Einmal eine sehr interessante Auswahl von Beispielbildern und dann auch noch ein Viewer in 3D!

    @Whiz-zarD:
    Einfach gehalten, aber immerhin mit netter GUI oberfläche. Demo Bild auch ganz nett.

    Das ist dann auch schon alles.
    War doch ein ganz netter Contest gewesen.
    Bin vor allem erstaunt, wieviel von dem Kram im Web lief.

    C ya

    Lachsen

  9. #9
    Habe meine Meinungen oben in den Post reineditiert.
    Gleich währt halt manchmal doch etwas länger ^^"

  10. #10

    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    3.5
    2.5
    2.5
    8.5
    csg
    3.3
    1.5
    3.0
    7.8
    Jesus_666
    4.0
    4.0
    5.0
    13.0
    nudelsalat
    3.7
    4.3
    5.0
    13.0
    Whiz-zarD
    2.0
    2.0
    2.5
    6.5

    Cornix: Hybscher Interpreter und gut dokumentiert, aber durch das sehr genaue Einhalten der Java-Paradigmen auch etwas unuebersichtlich. Du legst Wert auf Erweiterbarkeit, verankerst dann aber die Befehlstrings direkt in der Klasse und nicht wenn du die Operationen an den Interpreter bindest. Bei der Definition der Farbbefehle war das schoener. Die Bilder haetten allerdings etwas creativer sein koennen. Abzuege im Code gabs, weil der Code bei meinen Standardtests versagt hat: [F]+F liefert keinen 90° Winkel.

    csg: Schoener einfacher Quelltext, haette allerdings etwas besser kommentiert sein koennen. Die Idee mit den Subvariablen ist nett. Das eingereichte Beispielbild ist allerdings etwas minimalistisch und es wurde dazu kein Turtlecode angegeben. Abzuege gabs im Code, weil er bei meinen Standardtests versagt hat: Du hast die Winkelaenderung als unsigned short definiert, dadurch ist F<<>>+F kein rechter Winkel mehr.

    Jeez: Sehr schoener Code, gut strukturiert, aber fuer meinen Geschmack etwas wenig kommentiert. Die Erweiterung auf Splines und flaechiges Fuellen ist eine prima Idee. Das Finder-Logo ist eine nette Wahl und gut umgesetzt. Zudem super, dass dein Code alle meine Standardtests bestanden hat.

    Nudelsalat: Sehr schoener Code, gut strukturiert, aber fuer meinen Geschmack zu wenig kommentiert. So ist das File AABB.js komplett unkommentiert und tut irgend welchen arkanen Kram. Die Bildeinsendungen sind toll und zahlreich, aber großteils Standardbeispiele, da hat mir noch ein i-Tuepfelchen Kreativitaet zur 5.0 gefehlt. Die Erweiterung auf 3D und die komplette Umsetzung von L-Systemen ist aber eine tolle Leistung. Daher dort 5.0 von mir. Zudem, super dass dein Code alle meine Standardtests bestanden hat.

    Whiz-zarD: Die GUI hat massive Probleme mit Leerzeichen und Zeilenumbruechen in den Befehlen, das zerschiesst das Layout oder laesst das Programm abstuerzen. Ausserdem lassen sich Winkel und Laengen nicht beliebig verkleinern oder vergroessern, ohne Fehlermeldungen auszuloesen, das Verhalten ist aber nirgends definiert. Du hast umfangreichen Code, aber ich finde ihn ziehmlich unuebersichtlich. Ich hab versucht, die laestigen Beschraenkungen fuer zu kleine Winkel und zu kleine Laengen zu fixen, hab die Stelle aber innerhalb von 10 Minuten nicht finden koennen. Abzuege gabs im Code weil er bei meinen Standardtests durchgefallen ist: F>><<+F liefert z.B. eine Fehlermeldung, weil nach dem >> der Winkel 0° ist, der aber bei dir nicht mehr halbiert werden kann, wodurch >><< keine Identitaetsoperation mehr ist. Dein abgegebenes Bild war zwar recht hybsch anzusehen, aber auch etwas unkreativ. SVG Export war eine schoene Erweiterung, der erzeugte Code ist allerdings ziehmlich unleserlich und unoptimiert. Gab hier trotzdem Pluspunkte.

  11. #11
    Zitat Zitat von Ineluki Beitrag anzeigen
    Whiz-zarD: Die GUI hat massive Probleme mit Leerzeichen und Zeilenumbruechen in den Befehlen, das zerschiesst das Layout oder laesst das Programm abstuerzen. Ausserdem lassen sich Winkel und Laengen nicht beliebig verkleinern oder vergroessern, ohne Fehlermeldungen auszuloesen, das Verhalten ist aber nirgends definiert. Du hast umfangreichen Code, aber ich finde ihn ziehmlich unuebersichtlich. Ich hab versucht, die laestigen Beschraenkungen fuer zu kleine Winkel und zu kleine Laengen zu fixen, hab die Stelle aber innerhalb von 10 Minuten nicht finden koennen. Abzuege gabs im Code weil er bei meinen Standardtests durchgefallen ist: F>><<+F liefert z.B. eine Fehlermeldung, weil nach dem >> der Winkel 0° ist, der aber bei dir nicht mehr halbiert werden kann, wodurch >><< keine Identitaetsoperation mehr ist. Dein abgegebenes Bild war zwar recht hybsch anzusehen, aber auch etwas unkreativ. SVG Export war eine schoene Erweiterung, der erzeugte Code ist allerdings ziehmlich unleserlich und unoptimiert. Gab hier trotzdem Pluspunkte.
    naja, einen Winkel von 0° kannst du auch nicht mehr halbieren
    Denn: 0° / 2 = 0°

    Wie sollte denn deiner Meinung das Verhalten denn sein?
    Und die Stelle die du suchst, liegt einzig und allein in der TurtleState, da hier die jeweiligen Exceptions geworfen werden.

    Wegen der GUI:
    Welches Betriebssystem verwendest du?
    Mir ist das zwar auch ab und an passiert, aber ich konnte es nicht 100%ig reproduzieren.

    edit:
    ah, ok, ich versteht, jetzt du meinst, mit dem Winkel von 0°.
    Ja, dass ich dann etwas blöd gelaufen.

    Geändert von Whiz-zarD (18.05.2013 um 11:07 Uhr)

  12. #12
    Meine Bewertung war recht streng, also nicht wundern, wenn ihr überraschend wenig Punkte gekriegt hat. Ich habe insbesondere darauf geachtet, ob es irgendetwas gibt, was man anhand der Spezifikation sinnvoll erwarten könnte (z.B. dass Winkel unter 0,1° funktionieren, dass man beliebig groß zeichnen kann oder dass der Interpreter schlau genug ist, die Farbcodes sinnvoll zu verwenden). Wenn das nicht gegeben war, gab's Abzüge.

    Ich habe außerdem in meiner Tabelle den jeweils höchsten Wert in jeder Spalte hervorgehoben.


    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    3
    2
    2
    7
    csg
    3
    2
    4
    9
    Ineluki
    3
    4
    4,5
    11,5
    nudelsalat
    4
    4,5
    4
    12,5
    Whiz-zarD
    1,75
    3
    2
    6,75


    Hier meine Notizen zu den Beiträgen. Die Notizen sind nicht alle Gedanken, die ich dazu hatte, aber wohl die wichtigeren. Insbesondere gibt es in der Regel keine Zeilen zu bestandenen Tests; ich setze das Bestehen von Tests als Normalzustand voraus.
    Zeilen mit einem + vorne sind positiv in die Wertung eingeflossen; solche mit einem - negativ. Zeilen mit einem ~ vorne sind neutral. In der Regel tauchen sie in der Reihenfolge +, ~, - auf.

    Cornix
    Interpreter 3/5
    ~ Da die Mac-Version des Interpreters auf meinem Rechner nicht lauffähig ist und ich die Windows-Version nicht herunterladen konnte, konnte ich den Interpreter nicht testen. Ich habe daher diesen Abschnitt im Wesentlichen übersprungen und 2,5 Punkte vergeben.
    + 0,5 Punkte Bonus gibt es, weil der Siemensstern demonstriert hat, dass zumindest Winkel offenbar mit sinnvollen Fließkommazahlen implementiert sind und man so nicht auf Mindestwinkel achten muß. Ich gehe mal davon aus, daß das auch auf Längen zutrifft.

    Bild 2/5
    ~ Sofern ich aus dem Beitragspost ersehen konnte, scheint es um Rekursion mit gelegentliche Zufallswerten zu gehen. Nicht uninteressant, wenn auch durch die (vorgegebene) Farbpalette etwas augenunfreundlich.
    + Der Siemensstern ist auch Augenkrebs (wie es sich für einen richtigen Siemensstern gehört), aber eine gute Idee. Einfache Mittel, großer Effekt.

    Idee/Umsetzung/Sonstiges 2/5
    ~ Der verwendete Filehoster konnte von mir nicht verwendet werden, um tatsächlich Dateien herunterzuladen. Zum Glück hatte DFYX noch Kopien vom Quelltext und der Mac-Binary.
    - Die OS X-Version ist auf meinem Mac (Mid 2012 MBP, OS X 10.8.3, OpenJDK 1.7.0-internal-b00) nicht lauffähig, wenn der Aufruf wie in der README angegeben erfolgt. Das liegt nicht an den Kompatibilitätsproblemen zwischen lwjgl und Java 1.7 (die in den neuesten Versionen behoben sein sollte), sondern daran: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path


    csg
    Interpreter 3/5
    - Der Interpreter hat undokumentierte Einschränkungen oder Abweichungen gegenüber der Sprachdefinition:
    • //////////**********F sollte eine Linie der Länge 1 zeichnen. Statt dessen kommt nichts; offenbar wurde zwischendurch die Länge auf 0 reduziert. Warum wurde die Länge nicht in einem IEEE Float gespeichert?
    • <<<<<>>>>>+F sollte einen rechten Winkel zeichnen; statt dessen wird ein ca. 60°-Winkel gezeichnet. Ich vermute, dass hier ebenfalls mit einem nicht hinreichend präzisen Datentyp gearbeitet wurde.

    - Der Code ist kaum dokumentiert und damit nicht ganz einfach zu durchschauen.

    Bild 2/5
    + Das Bild ist recht nett...
    - ...aber du hättest den erzeugenden Code beilegen sollen.

    Idee/Umsetzung/Sonstiges 4/5
    + Unterprogramme sind eine coole Idee.


    Ineluki
    Interpreter 3/5
    + Der Blending-Renderer fasst Linien wenn möglich zusammen. FF ergibt eine Linie, nicht zwei.
    ~ Der Code ist nicht ganz leicht zu durchschauen, aber das liegt eher daran, wie awk funktioniert.
    ~ Der Painting-Renderer ist von Haus aus mit BSD sed inkompatibel. Man kann allerdings Kompatibilität herstellen, indem man das sed -r durch sed -E ersetzt. Hier wäre vielleicht der Einsatz von Autoconf/Automake sinnvoll gewesen, um die jeweils korrekte Invokation zu gewährleisten. Alternativ hätte man auf ein Tool mit bekannt homogener Implementierung von regulären Ausdrücken zurückgreifen können wie z.B. Perl.
    ~ /usr/bin/awk ist hardcoded? Was spricht gegen #!/usr/bin/env awk? Es ist im Unix-Standard und dürfte auch in POSIX sein. Zugegeben, das könnte auch auf die Position von awk zutreffen.
    - Der Interpreter skaliert das Bild nicht; es ist Aufgabe des Benutzers, dafür zu sorgen, dass das Bild im Koordinatensystem auf beiden Achsen im Bereich ±1 liegt.

    Bild 4/5
    + Die Mona Lisa demonstriert gut, dass der Interpreter auch mit sehr großen Dokumenten klar kommt.
    + Das Mandelbrot-Bild tut das auch und sieht dabei auch noch gut aus.

    Idee/Umsetzung/Sonstiges 4,5/5
    + Ausführliche Dokumentation macht den Bewerter glücklich.
    + Drei verschiedene Renderer? Zwei Renderer und ein Konverter? Cool. Die Idee, den Zeichenvorgang zu animieren, hat auch was.
    + Mandelbrot als Turtle-Grafik hat was.
    ~ Ich habe den Kram, wie die Mona Lisa in Turtle-Grafik übersetzt wurde, ignoriert. Interessant wird's erst, als der Turtle-Code auftaucht.


    nudelsalat
    Interpreter 4/5
    + Dem Interpreter sind absolute Größen egal; es wird skaliert, wie es in den Viewport paßt.
    + Soweit meine groben Tests das erkennen konnten, wurde die Spezifikation vollständig eingehalten.
    + Die Libraries sind gut eingesetzt und der eigentliche Quellcode ist erfrischend übersichtlich. Gut, bis auf die unten erwähnte Klasse AABB.
    ~ Es wäre nett gewesen, wenn man um mehr als eine Achse rotieren könnte. Ich hatte schon eine Abweichung gegenüber der Spezifikation notiert, bis ich gesehen habe, dass der Effekt durch Perspektivische Verzerrung hervorgerufen wurde.
    - Was zum Teufel ist die AABB-Klasse und warum ist sie nicht dokumentiert?

    Bild 4,5/5
    + Mehrere Bilder sind schon mal ein Bonus.
    + Die Beispiele sind gut gewählt. Jeder kommt darauf, mit L-Systemen Bäume zu zeichnen, aber der Kreis und die Sprungfeder waren unerwartet.
    + Die Beispiele sind schlicht, aber schick.

    Idee/Umsetzung/Sonstiges 4/5
    + 3D. Cool.
    + L-Systeme sind bei Turtlegrafik zwar offensichtlich, aber trotzdem nett.
    - Wenn man ein Toolfenster schließt, kriegt man es nicht wieder auf.


    Whiz-zarD
    Interpreter 1,75/5
    + Der SVG-Export ist gut. Die erzeugten Dateien sind zwar nicht die kompaktesten, aber wenn man bedenkt, dass das Entwicklungsziel das Anzeigen von regenbogenfarbenen Zykloiden war (was enorm viele Farbverläufe bedingt), ist das schon in Ordnung.
    ~ Die Farbverläufe verstoßen zwar gegen die Sprachspezifikation (1F2F sollte zwei verschiedenfarbige Linien erzeugen, nicht einen Varbverlauf), sind aber hübsch.
    ~ Ich weiß, das ist in Java so üblich, aber wow, sind das viele Klassen für so ein kleines Programm.
    - Mehr Dokumentation wäre eine gute Idee gewesen. Gerade der kritische OGLTurtleRenderer ist ohne die Dokumentation im Wesentlichen magischer Code, der halt irgendwas macht.
    - Warum separate Eingabefelder für den gerade ausgeführten Code und den auszuführenden Code? Warum kann man nicht einfach den gerade ausgeführten Code bearbeiten?
    - Warum nur so ein kleines Eingabefeld für Code?
    - Der Interpreter hat undokumentierte Einschränkungen oder Abweichungen gegenüber der Sprachdefinition:
    • >>>><<<< sollte eine Nulloperation sein. Statt dessen gibt es eine "Invalide Statusänderung: Winkel = 0". Warum nimmt dieses Programm den Winkel modulo 360 und warum ist das nirgends dokumentiert?
    • //////////********** sollte eine Nichtoperation sein. Statt dessen gibt es eine "Invalide Statusänderung: Länge = 0". Warum wird die Länge in einem Format gespeichert, das bereits bei 0,01 eine so geringe Auflösung hat, dass der Unterschied zu 0 nicht mehr repräsentiert werden kann? Warum keine IEEE Floats?
    • F+F sollte eine Linie nach oben zeichnen, von der eine Linie nach rechts abgeht. In diesem Fall geht die zweite Linie aber nach links ab; das Koordinatensystem ist horizontal gespiegelt. Ich sehe gerade, dass das so spezifiziert war. Da war die Spezifikation wohl etwas unintuitiv; die Hälfte der Teilnehmer hat nämlich + und - vertauscht. Dafür, dass du hier aufgepasst hast, schreibe ich noch mal 0,25 Punkte gut.


    Bild 3/5
    + Netter Zykloid. Einfach, aber hübsch.

    Idee/Umsetzung/Sonstiges 2/5
    ~ Insgesamt eine recht normale Umsetzung der Spezifikation. Die Farbverläufe sind ein netter touch, auch wenn ich mir da einen neuen Befehl für gewünscht hätte, um nicht gegen die Spezifikation zu verstoßen. Da der Code sehr modular aufgebaut ist, sollte das Einfügen eines entsprechenden Befehls an sich trivial sein.
    - Beim GUI hätte darauf geachtet werden sollen, dass wenigstens die Anleitung ohne Zeilenumbrüche dargestellt werden kann. (Offenbar wurde hier nicht spezifiziert, welche Schriftart dieses Textfeld verwendet; unter OS X ist die verwendete Schriftart so breit, dass einige Zeilen umgebrochen werden.)
    - Eine Zoomfunktion für Bilder, die größer als die Zeichenfläche sind, wäre nett gewesen.


    Der Vollständigkeit halber möchte ich noch diese Sache posten, die mir beim Testen meines eigenen Codes aufgefallen ist.

    Jesus_666
    Interpreter
    - *****1F<+>2F+3F<+>4F+/!*5F sollte ein krudes, buntes Haus zeichnen. Der Interpreter verwendet aber nur die letzte Farbe, weil ich offenbar bei den Farbbefehlen die Anweisungen für das Ändern der Farbe und für das Anfangen eines neuen Pfades in der falschen Reihenfolge habe.

  13. #13
    Da ich nicht alle Interpreter zum Laufen gekriegt habe und niemanden bevorzugen möchte, bewerte ich an der Stelle mal nur den Code und nicht, wie sich der Interpreter im laufenden Betrieb macht. Test Cases hat Jeez ja schon gemacht.


    Name

    Interpreter

    Bild
    Idee
    Umsetzung
    Sonstiges

    Summe
    Cornix
    4
    3
    3
    10
    csg
    2.5
    1.5
    2.5
    6.5
    Ineluki
    4
    4
    5
    13.0
    Jesus_666
    3
    3
    4.5
    10.5
    nudelsalat
    3
    4.5
    5.0
    12.5
    Whiz-zarD
    2.0
    2.0
    2.5
    6.5

    Cornix: habe ich leider auch nach mehreren Versuchen nicht richtig zum Laufen gebracht. Der Code ist aber schön strukturiert und gut dokumentiert. Auch wenn du es Java-typisch vielleicht ein bisschen mit den vielen Klassen und Interfaces übertrieben hast. Es hätte nun wirklich nicht alles Serializable sein müssen. Bei den Bildern gefällt mir besonders das letzte ganz gut.

    csg: Der Code ist schön kompakt, hätte aber meiner Ansicht nach ein wenig modularer und vor allem übersichtlicher sein dürfen. Insbesondere der Irrlicht Kram scheint leider gar nicht dokumentiert zu sein. Das Beispielbild ist hübsch, nur dummerweise fehlt der verlangte Code.

    Ineluki: Eigentlich sollte ich mich ja weigern, das zu bewerten, weil du so viel Zeit reingesteckt hast, die du für wichtigere Aufgaben hättest nutzen können. Allerdings gefällt mir sowohl der Code (soweit das bei awk geht) als auch das Gesamtergebnis. Mandelbrot in Turtle ist tatsächlich mal ne coole Idee.

    Jesus_666: Okay, das kommt also raus, wenn man die Spezifikationen ein Stück erweitert. Mit Turtlegrafik hat das schon fast nichts mehr zu tun. Das Ergebnis sieht trotzdem cool aus. Großer Kritikpunkt am Code: die endlosen switch/case Blöcke hätte man mit ein paar Funktionen etwas besser lösen können. Grade Javascript erlaubt einem an der Stelle doch ziemlich elegante Lösungen.

    nudelsalat: Gefällt mir insgesamt sehr sehr gut. L-Systeme in 3D sind toll und sehen meistens sehr beeindruckend aus. Der Code könnte allerdings ein bisschen aufgeräumter und besser dokumentiert sein.

    Whiz-zarD: Irgendwie wirkt dein Code... inkonsistent. Mal hast du viele Kommentare, dann wieder gar keine. Mal winzige Klassen und Interfaces und dann wieder Monster mit über 400 Zeilen. Was ist da schief gelaufen? Das Beispielbild ist nett, aber nichts Besonderes.

  14. #14
    Zitat Zitat von Jesus_666 Beitrag anzeigen
    - Mehr Dokumentation wäre eine gute Idee gewesen. Gerade der kritische OGLTurtleRenderer ist ohne die Dokumentation im Wesentlichen magischer Code, der halt irgendwas macht.
    Der Magiccode ist zum Großteil der OpenGL-Loop. Jeder, der mit OpenGL unter Java gearbeitet hat, kennt diese Methoden. und weiß, was da drinnenstehen muss.
    Ob man sie jetzt großartig kommentieren muss, oder nicht, ist halt Ansichtssache.

    Zitat Zitat von DFYX Beitrag anzeigen
    Whiz-zarD: Irgendwie wirkt dein Code... inkonsistent. Mal hast du viele Kommentare, dann wieder gar keine. Mal winzige Klassen und Interfaces und dann wieder Monster mit über 400 Zeilen. Was ist da schief gelaufen? Das Beispielbild ist nett, aber nichts Besonderes.
    Seit wann müssen Klassen eine ausgeglichene Anzahl an Zeilen haben? Sie tun das, was sie sollen, und 400 Zeilen zähle ich nicht grad zu einem Monster. 400 Zeilen sind für mich noch recht klein. Beruflich arbeite ich an einer Software, die um die 10.000 Dateien an Code besitzt und die meisten Klassen bis zu 5.000 Zeilen Code aufweisen. Es kommt auch weniger darauf an, wie viele Zeilen eine Klasse hat, sondern oftmals wie viele Zeilen eine Methode hat.
    Welche "Monster" meinst du denn?

  15. #15
    Tut mir leid, dass ich mich da unklar ausgedrückt hab. Es wirkte nur merkwürdig, dass du stellenweise wirklich Miniklassen hast, die so gut wie nichts tun und dann andere die wesentlich länger sind. Jetzt auf den zweiten Blick sind das aber wohl hauptsächlich Getter, die das so umfangreich aussehen lassen. Ich muss mich erst wieder daran gewöhnen, dass Java in der Hinsicht ziemlich gesprächig ist. (Gemeint waren insbesondere TurtleEngine und TurtleState) In diversen anderen Sprachen würden 400 Zeilen für das gesamte Programm ausreichen.

    An der Wertung ändert sich trotzdem nix, weil das ja nicht das Einzige war, was mir aufgefallen ist.

  16. #16
    Zitat Zitat von DFYX Beitrag anzeigen
    Ich muss mich erst wieder daran gewöhnen, dass Java in der Hinsicht ziemlich gesprächig ist. (Gemeint waren insbesondere TurtleEngine und TurtleState) In diversen anderen Sprachen würden 400 Zeilen für das gesamte Programm ausreichen.
    Naja, in Java bekommt man es auch wesentlich kleiner hin.
    Mein Prototyp bestand nur aus drei Klassen.
    Ich hab hier hauptsächlich auf die Erweiterbarkeit geachtet. Jeder Befehl ist geschaltet in eine Klasse und es können von außen neue Befehle hinzugefügt werden, was bei allen anderen Programmen, die hier vorgestellt worden waren, nicht möglich war, da die Befehle mittels einer if-then-else-Anweisung abgefrühstückt worden waren. Eine Erweiterung des Funktionsumfangs ist hier schlecht möglich.

    TurtleEngine und TurtleState sind auch die Hauptklassen des gesamten Programms, denn in diesen Klassen wird alles verwaltet. Getter und Setter sind unter Java so ein kleines Problem. Da lobe ich doch lieber C#. Ich wünschte ich mir manchesmal auch die #region-Direktive, auch wenn sie anscheinend von vielen verpöhnt wird ^^
    Auch ist die grafische Ausgabe von der Engine getrennt, sodass man weitere Ausgabemöglichkeiten implementieren kann. In meinem Programm habe ich dazu ja zwei Beispiele entwickelt. Einmal eine Ausgabe per OpenGL und und eine per SVG.
    Die Ausgabe muss lediglich nur von TurtleRendererBase erben und sich in der Engine registrieren und schon kann man über die Render() Methode seine Ausgabe implementieren. In allen anderen Programmen war die Engine ja auch fest mit der Ausgabe verdrahtet, und ließ sich auch nicht ohne weiteres auf andere Ausgabemedien übertragen.

  17. #17
    So, da Luki gerade verhindert ist, poste ich mal die Auswertung.

    Platz Name Punktzahl
    1 Nudelsalat 12,50
    2 Jesus_666 10,94
    3 Ineluki 10,88
    4 csg 8,98
    5 Whiz-zarD 8,76
    6 Cornix 8,61

    Die Punktzahl ergibt sich jeweils aus dem Durchschnitt* der Gesamtwertungen. Wenn es jemanden interessiert, kann ich auch noch Tabellen für die Einzelwertungen machen.

    Nudelsalat darf sich jetzt erstmal drei der folgenden Spiele aussuchen. Mit Jeez und Luki klär ich das dann direkt.

    • Bastion
    • Cargo! The Quest for Gravity
    • Cave Story +
    • Crayon Physics Deluxe
    • Cogs
    • Defcon
    • Dungeon Defenders + DLC
    • Gemini Rue
    • Gish
    • Humble Bundle 3
    • Machinarium
    • Multivinia
    • NightSky
    • Resonance
    • Superbrothers: Sword & Sorcery EP
    • Swords and Soldiers HD
    • The Binding of Isaac
    • Titan Quest (German)
    • Trine
    • Warhammer 40,000: Dawn of War


    * Ja, im Eingangspost steht "Summe". Grund ist, dass Cornix und csg als einzige Teilnehmer nicht abgestimmt haben und damit jeweils eine Wertung mehr haben, als der Rest.

    Geändert von DFYX (23.05.2013 um 22:25 Uhr)

  18. #18
    Dann Gratulation an die Gewinner, die Programme waren recht nice. Und ich Dummkopf sollte öfters hier reinschauen, damit ich in Zukunft keine solcher Bewerbe verpasse.

  19. #19
    Jupp, Gratulation! Habt ihr echt toll gemacht. =3 Und euch alle nen Haufen Kekse verdient!

  20. #20
    Zitat Zitat von DFYX Beitrag anzeigen
    Nudelsalat darf sich jetzt erstmal drei der folgenden Spiele aussuchen. Mit Jeez und Luki klär ich das dann direkt.
    Woohoo \o/
    Titan Quest, Cargo! The Quest for Gravity und Defcon schaun recht interessant aus, die nehm ich mal!
    Den andern kann ich Dungen Defenders sehr empfehlen.

    Hat mich sehr gefreut, war ein cooler Wettbewerb, gerne wieder.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •