** Brainfuck Interpreter Contest ** [abgeschlossen]



  • Du musst dich um garnichts kümmern.



  • µ schrieb:

    P.S. Nur um sicher zu gehen. Du entfernst keine Leerzeichen, die für eine korrekte Syntax notwendig sind, oder?

    Nein, natürlich nicht.
    Und du deprimierst mich hier gerade...



  • KasF schrieb:

    Ne Frage zum Primzahlenprogramm:
    Wenn vom Simulationsystem die 1 beim Aufruf von Primes1 eingelesen wird, dann wird ja 49 zurückgegeben. Muss ich mich jetzt drum kümmern, das daraus ne 1 wird!?

    Darum kümmert sich die Konsole.

    EDIT: Ich Koffer 🙂 Hatte die Frage falsch verstanden.

    Ja, wie du schon als 2. Option vorgeschlagen hast: das ist die Aufgabe des Brainfuck-Programms. Das setzt natürlich voraus, dass das Brainfuck-Programm und "die Implementierung" sich einig über den verwendeten Zeichensatz sind. Ist aber für die meisten Programme kein Thema, da man sich einfach auf die Zeichen <= 127 beschränkt, die fast überall gleich sind.

    Du bekommst auf jeden Fall von der Funktion S.R() "passende" Werte zurück, die du so direkt in den "Band" reinschreiben kannst. Es muss nix umgerechnet/angepasst/... werden.

    Bei der Ausgabe dann genau so: du rufst einfach S.W() auf, mit dem Wert der gerade auf "dem Band" steht. Ohne irgendwas umzurechnen.

    ----

    Das "Primes" Programm macht das auch ganz korrekt, also den Textuellen Input in eine Zahl umzurechnen.
    Bloss eins muss dabei passen: die Eingabe muss mit "\n" abgeschlossen werden, und NICHT mit dem Windows-typischen "\r\n". Das Test-Programm übergibt bei den automatisierten Tests sowieso passende Strings, und die ebenfalls enthaltene Klasse "InteractiveSystem" "filtert" die "\r" raus, damit man auch unter Windows interaktive Tests machen kann (wenn man das möchte).

    /EDIT



  • hustbaer schrieb:

    Und du deprimierst mich hier gerade...

    Das macht es spannend. Aber wage es nicht mit <=242 anzurücken. 😃



  • Mal sehen...



  • µ schrieb:

    243

    Ja, auch.
    Lustigerweise mit zwei ganz verschiedenen Ansätzen.



  • Ich musste eins meiner liebsten Babys opfern 😞 - aber was solls, geht nich anders.
    Dafür ist ein neues Baby hinzugekommen, das zwar nicht so kuhl, dafür aber richtig dreckig ist 🤡
    (Bzw. sogar 2, aber eins davon ist kaum der Rede wert)

    Interpreter_5_1252.cs, 238 Zeichen

    SHA-256 = f642dbd4bb1478956803e2e4e2dea5487a661f0a6255039289b92b54e76d1712

    An alle die sich wundern warum ich noch mitmache: erstmal geht's ja um nix ausser der Ehre, und dann hat auch noch keiner ausser µ ganz zu Anfang was abgegeben...
    Aber wie gesagt, wer mag kann mich jederzeit ausser Konkurrenz sehen. Schätze ich werde mich mit nem .5 Rang in die Wertung einschummeln 😃
    (Im Moment wäre das Platz 0.5, also los, strengt euch an!)



  • Nochwas, Leute...
    Hat keiner Lust uns ein paar weitere Test-Cases zu ergoogeln?

    Irgendwie hab' ich ja im Moment nur einen "echten" Test-Case, das "Primes" Programm. Das ist zwar ordentlich gross, aber ich fände es besser wenn wir mehr hätten.

    Und wenn's nur deswegen ist, weil es lustiger anzusehen ist je mehr ganz verschiedene Test-Cases durchgemacht werden.



  • 1. Du kannst ja das Programm mit den Quadratzahlen noch als Testcase nehmen. Bei Gelegenheit werde ich mal nach weiteren suchen.

    2. Du frustrierst mich nun zum dritten mal.



  • hustbaer schrieb:

    und dann hat auch noch keiner ausser µ ganz zu Anfang was abgegeben...

    Der Vorteil von "jeder sagt im Thread was er grad hat" ist die zusätzliche Motivation, aber ich für meinen Teil werd meine Lösung z.B. nicht abgeben, weil ich ca. 100 Zeichen mehr als ihr (Pisser! ;D) hab und es deswegen auch keinen Sinn macht 😉



  • Naja ich fände es trotzdem gut wenn jeder seine Lösung abgibt. Vielleicht versteckt sich in deiner ja noch ein toller Trick?

    Außerdem kannst Du ja noch optimieren.



  • µ schrieb:

    Naja ich fände es trotzdem gut wenn jeder seine Lösung abgibt. Vielleicht versteckt sich in deiner ja noch ein toller Trick?

    OK, aber mit 30 Zeichen zuviel gewinn ich wohl keinen Blumentopf. Meine gestrige geniale Idee hat netto 3 Zeichen Verschlechterung eingebracht ... das ist so das Level, auf dem ich grade rumkrebse.



  • Mir ist im Halbschlaf eingefallen dass meine 238 Zeichen Lösung vermutlich nicht wirklich regelkonform ist (Test-Cases funktionieren natürlich alle). Ich denke aber ich hab schon ne Änderung die mit +/- 0 Zeichen auskommt, die das ganze wieder geradebiegt. Muss ich heute Abend ausprobieren.



  • @GPC/Bashar:
    Dann haben wir aber im Endeffekt einen Contest wo letztendlich nur 2 oder 3 Leute teilnehmen. Hm...



  • Ich hab inzwischen noch eine alles umstoßende Idee und außerdem festgestellt, dass ich ja noch bis zum 17. Zeit habe, vielleicht kann ich ja noch mehr rausholen. Unabhängig davon werde ich aber notfalls auch meine 267-Zeichen-Lösung einreichen.



  • hustbaer schrieb:

    @GPC/Bashar:
    Dann haben wir aber im Endeffekt einen Contest wo letztendlich nur 2 oder 3 Leute teilnehmen. Hm...

    Na ja, ich kann meinen Code schon einreichen, aber in dem Fall hier werd ich - offensichtlich - nichts reißen und bin zu wenig 1337-haxx0r, um das noch entsprechend zu optimieren. Das heißt mein Code interessiert eh kein Schwein 😉
    Ich finde die Contest-Idee eig. schon sehr witzig und hatte meinen Spaß am Programmieren und rumfrickeln, eventuell kann man ein Zwischending finden bei der Bekanntgabe des momentanen Stands. Mir fällt jedoch auf die schnelle nix praktikableres ein.



  • Ich muss übrigens dazu sagen, dass meine erste Idee, die ich schon für ziemlich gut gehalten habe, 415 Zeichen hatte. Ohne die 254-Ansage hätte ich wohl gar nicht versucht, das noch zu optimieren. Manche Tricks, die ich gefunden habe, sind so abseitig, dass ich nie im Traum an sowas gedacht hätte.
    Also: Es ist im Großen und Ganzen eine gute Idee, die Zwischenstände bekannt zu geben.







  • hustbaer schrieb:

    Mir ist im Halbschlaf eingefallen dass meine 238 Zeichen Lösung vermutlich nicht wirklich regelkonform ist (Test-Cases funktionieren natürlich alle). Ich denke aber ich hab schon ne Änderung die mit +/- 0 Zeichen auskommt, die das ganze wieder geradebiegt. Muss ich heute Abend ausprobieren.

    Bin bei 240. Wie siehts aus?


Anmelden zum Antworten