** Brainfuck Interpreter Contest ** [abgeschlossen]



  • 🙂

    Running tests on interpreter 'I'...

    Running test Empty... PASSED.
    Running test Null... PASSED.
    Running test SingleNewline... PASSED.
    Running test ExitByLoopStart1... PASSED.
    Running test ExitByLoopStart2... PASSED.
    Running test ExitByLoopStart3... PASSED.
    Running test ExitByLoopEnd1... PASSED.
    Running test ExitByLoopEnd2... PASSED.
    Running test HelloWorld... PASSED.
    Running test Primes1... PASSED.
    Running test Primes5... PASSED.
    Running test Primes15... PASSED.
    Running test Primes30... PASSED.

    Results for interpreter 'I':
    All 13 tests passed.
    Nice 🙂



  • Und schon ist es passiert, jemand hat was eingereicht. Ich hätte dazuschreiben sollen "bitte nicht vor dem offiziellen Start einreichen!". Hätte ich auch, wenn ich dran gedacht hätte.

    Damit ist meine Chance dahin unbefangen bis Sonntag Abend weiterzutüfteln. Naja OK, auch kein Beinbruch.



  • Interpreter_2_1252.cs (noch unbefangen):

    SHA-256 = 5eb32307b9ad38054d0e4bb87974b4b8797ba309780617acd46d6e81310e5317

    Interpreter_3_1252.cs (2 Tricks abgeguckt):

    SHA-256 = 5f2117f05d1217977bb843f94d574726dad3d034b92dcdf07fccc5efe7f51636



  • µ schrieb:

    Folgender Vorschlag: Veröffentliche stets eine anonymisierte Liste der Längen bisher eingereichter Codes, und erlaube jedem Spieler, dass er unbegrenzt nachgebesserte Lösungen einreicht.

    Ich würde damit gern mehr Aktivität erreichen. Wenn man sieht, dass die eigene Lösung nicht die beste ist kann man weiter kürzen.

    Könnte auch das Gegenteil bewirken: Leute demotivieren, wenn sie sehen dass sie zu weit hinten sind.
    Hmmmm.....


  • Administrator

    hustbaer schrieb:

    µ schrieb:

    Folgender Vorschlag: Veröffentliche stets eine anonymisierte Liste der Längen bisher eingereichter Codes, und erlaube jedem Spieler, dass er unbegrenzt nachgebesserte Lösungen einreicht.

    Ich würde damit gern mehr Aktivität erreichen. Wenn man sieht, dass die eigene Lösung nicht die beste ist kann man weiter kürzen.

    Könnte auch das Gegenteil bewirken: Leute demotivieren, wenn sie sehen dass sie zu weit hinten sind.
    Hmmmm.....

    Also auf Spieleprogrammierer.de sah es eher motivierend aus. Dort wurden während dem Wettbewerb auch aktuelle Resultate von den Teilnehmern selbst veröffentlicht, ohne den Code anzugeben. Das spornt die Leute an, ihre Lösung noch weiter zu optimieren.

    Sonst hat man keine Ahnung, wo man steht. Schreibt etwas, gibt dies ab und der Wettbewerb ist für einem vorbei. Wenn man dagegen sieht, dass jemand etwas besseres hinbekommen hat, dann setzt man sich nochmals an den eigenen Code und probiert ihn nochmals zu optimieren 🙂

    Grüssli



  • Mir soll's Recht sein 🙂

    Dann fang ich gleich mal an...

    Interpreter_2_1252.cs = 254 Zeichen



  • Ich stehe noch bei 267.



  • Ich bin auch bei 267 und sehe kein Land mehr 😞


  • Administrator

    346 Zeichen *lol*
    Aber habe auch erst wenig Zeit investiert. Ich sehe durchaus noch Potential 🙂

    Grüssli



  • 259 und ich stecke in einem lokalen Minimung. Ich kriege mit dem Ansatz kein Zeichen mehr weg und schon garkeine 6 für die Führung.

    Brauche eine neue Idee.



  • 7 tests passed, 6 tests failed.
    Naja fast 🤡



  • Meiner schafft alle Tests, ist aber leider 311 Zeichen lang -.-



  • Es ist gerade echt faszinierend. Jede Idee die Zeichen einspart erzeugt an anderer Stelle genauso viele neue Zeichen.



  • 8 tests passed, 5 tests failed.
    Ich verbessere mich, obwohl ich direkt in ideone programmiere 😃



  • UPDATE:
    Es ist die Frage aufgetaucht ob "unsafe" erlaubt ist.

    So wie ich die Regeln ursprünglich formuliert hatte ("sämtliche C# Features die von Visual C# 2010 (Express) unterstützt werden"), muss es eigentlich erlaubt sein.

    Also jetzt offiziell: "unsafe" ist erlaubt. Das verhindert natürlich eine Demonstration mit ideone.com (zumindest finde ich keine Möglichkeit den nötigen Compiler-Switch mitzugeben - falls jmd. weiss wie das geht bitte hier posten). Vielleicht bringt es aber nochmal etwas Bewegung hier rein, nachdem einige ja schon anstehen.



  • Bringt unsafe denn etwas? Bei meinen Versuchen damit wurde der Code nur länger.



  • @TyRoXx
    Ging mir auch so. unsafe, stackalloc, fixed ... das bringt alles viel Zeichen in den Code. Und das nur im *p statt b[p] zu schreiben.



  • Hmmm... vermutlich bringt "unsafe" doch nix, nein.
    Ich verwende "unsafe" selbst nie, von daher wusste ich z.B. nicht dass man für viele Dinge ja noch "fixed" schreiben muss damit man überhaupt nen Zeiger bekommt...

    Macht nix, ich lass es trotzdem erlaubt.
    Ich hab' ja auch die Verwendung des Frameworks erlaubt, was wohl auch keiner machen wird 🙂



  • Auf den fixed-Zeiger darfst Du dann keine Pointerarithmetik anwenden. Dafür muss man Speicher mit stackalloc reservieren.

    Für Bildverarbeitung ist unsafe ein Segen.

    Macht nix, ich lass es trotzdem erlaubt.
    Ich hab' ja auch die Verwendung des Frameworks erlaubt, was wohl auch keiner machen wird

    Mir fällt nix vom Framework ein was helfen würde. 😞



  • Öh. Hö?
    Man kann den "fixed" Zeiger in einen anderen Zeiger kopieren, und den kann man dann rumschieben.

    Für Bildverarbeitung ist unsafe ein Segen.

    Für Bildverarbeitung verwendet man andere Sprachen 😃


Anmelden zum Antworten