Lassen Sie uns eine ASCII-Kunstuhr und einen Kalender erstellen, die uns den aktuellen Monat, den Tag des Monats, den Wochentag, die Stunde, die Minute und ob es sich um Nacht oder Tag handelt (aber nicht um das Jahr oder die Sekunde).
Zu einem bestimmten Zeitpunkt sieht der Kalender ungefähr so aus: (Er sieht besser aus, wenn der Zeilenabstand geringer ist.)
________________________________________________________________
|\ ____________________________________________________________ /|
| | ___ | |
| | _( ) | |
| | (___)__) -.- | |
| | | |
| | | |
| | -.- | |
| | -.- | |
| | ___ | |
| | _( ) | |
| | (___)__) | |
| | | |
| | ___ | |
| | _( ) | |
| | _ (___)__) | |
| | /|\ | |
| | / | \ | |
| | /__|__\ | |
| |____|____ | |
| |\_______/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~-~~~~~| |
| |____________________________________________________________| |
|/______________________________________________________________\|
Es ist immer ein "Bilderrahmen" mit 66 mal 23 Zeichen, dessen Rahmen sich nie ändert.
Das Bild innerhalb des Rahmens gibt die Uhrzeit und das Datum an:
- Während des Tages (6:00 - 17:59 Uhr) wird der Monat durch die Anzahl der Vögel (
-.-
) am Himmel bestimmt. Januar = 1 Vogel, Februar = 2 Vögel usw. - In der Nacht (18.00 - 05.59 Uhr) werden die Vögel durch dreimal so viele Sterne ersetzt (
*
). Januar = 3 Sterne, Februar = 6 Sterne usw. Vögel und Sterne sind niemals gleichzeitig am Himmel. - Der Tag des Monats wird durch die Anzahl der Zeichen zwischen den beiden Strichen (
-
) auf dem Wasser bestimmt.~~-~~~~-~~
bedeutet zB, dass es der vierte Tag des Monats ist. Je nach Minute muss sich das Boot möglicherweise zwischen den Strichen befinden (die Striche drehen sich nicht). - Der Wochentag wird durch die Anzahl der Wolken am Himmel bestimmt (alle Wolken sehen gleich aus). Sonntag = 0 Wolken , Montag = 1 Wolke, ..., Samstag = 6 Wolken.
- Die Stunde wird durch den Wasserstand (und das Boot) bestimmt. Am niedrigsten (wie oben) ist es 1 Uhr, während 2 Uhr ist es ein Zeichen höher und so weiter bis 12 Uhr, dann zurück bis 1 Uhr. (Es ist eine 12 nicht eine 24-Stunden-Uhr.)
- Die Minute wird durch die horizontale Position des Bootes bestimmt. Zu Beginn der Stunde berührt das Boot den linken Rand des Rahmens (wie oben). In jeder weiteren Minute bewegt sich das Boot um einen Charakter nach rechts. In den Minuten 51 bis 59 geht es von der rechten Seite des Rahmens zurück nach links.
Wenn also das obige Beispiel 3 Vögel, 3 Wolken, 2 Buchstaben zwischen den Strichen, das Wasser auf der niedrigsten Ebene und das Boot ganz links hat, können wir sagen, dass das Datum Mittwoch, der 2. März, und die Zeit 1 ist: 00pm.
Hier ist ein weiteres Beispiel vom Sonntag, den 25. April, um 3:58 Uhr:
________________________________________________________________
|\ ____________________________________________________________ /|
| | | |
| | * * | |
| | * * * | |
| | * | |
| | | |
| | * | |
| | * * | |
| | | |
| | * | |
| | | |
| | * | |
| | _ | |
| | /|\ * | |
| |/ | \ | |
| |__|__\ /| |
| |__|____ __| |
| |______/~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~\_| |
| | | |
| | | |
| |____________________________________________________________| |
|/______________________________________________________________\|
Tor
Ihr Ziel ist es, das kürzestmögliche Programm zu schreiben, das diese ASCII-Kunst- "Kalender" unter Verwendung der Zeit, in der das Programm ausgeführt wird, auf stdout ausgibt.
Jeder Programmlauf sollte eine Zeitszene ausgeben. Updates sollten nicht automatisch (oder animiert) sein.
Die Wolken, Sterne und Vögel sollten willkürlich am Himmel platziert werden (daher ist es wahrscheinlich, dass jeder Lauf, auch wenn er zur selben Zeit stattfindet, unterschiedlich ist). Sie sollten niemals das Boot oder einander überlappen. (Auch die Wasserstriche sollten den Bootsrumpf nicht überlappen.)
Beachten Sie, dass nichts, was ich beschrieben habe, unter Wasser erscheint. Dies ist für Sie zu tun. Während einer vorbestimmten Stunde jeder Woche (Ihrer Wahl) sollte etwas Interessantes unter Wasser gezeichnet werden. Es könnte ein Seeungeheuer oder ein versunkenes Schiff sein oder so, es liegt an dir. Während dieser Stunde können Sie sogar das Design des Restes der Szene ändern (innerhalb der Rahmengrenzen bleiben).
Wertung
Dies ist eine Kombination aus Code-Golf-Beliebtheitswettbewerb.
Ihre Punktzahl ist (bytes in program) - 4 * (upvotes - downvotes)
. Die niedrigste Punktzahl gewinnt.
Verwenden Sie http://mothereff.in/byte-counter als Bytezähler, wenn Sie Nicht-ASCII-Zeichen verwenden.
Notizen und Updates
Sie können Bojen anstelle von Bindestrichen verwenden, da diese wesentlich geeigneter sind:
| | ~~(_)~~~(_)~~ (3rd of the month)
Die Striche (oder Bojen) müssen nicht zufällig sein, aber es wäre schön, wenn sie es wären.
- Ihre "Sonderstunde" sollte 60 Minuten von der vollen Stunde bis 1 Minute vor der nächsten Stunde dauern.
- Während der besonderen Stunde können sich die Dinge, die Sie unter Wasser zeichnen, bewegen und die Oberfläche und den Himmel verändern, wenn es sinnvoll ist (z. B. Seeungeheuer, das das Boot frisst, sich bildendes Schwarzes Loch am Meeresboden usw.).
quelle
Antworten:
Ruby, Am Ende der Welt,
12601070967 BytesErinnert sich jemand an den Film Fluch der Karibik?
Es gibt noch viel Raum, um das Golfspiel zu verbessern, aber es ist ein Anfang.
Was ist nun mit der Filmreferenz? Anscheinend passiert Green Flash viel öfter, als Jack Sparrow uns glauben machen will. Tatsächlich geschieht dies etwa einmal pro Woche anstatt alle zehn Jahre. Jeden Sonntag bei Sonnenuntergang dreht der Schwarze Rubin (hrhr) eine Runde im Land der Toten:
quelle
Java - Cute Kraken (Viele Bytes)
BEARBEITEN: Weitere Verbesserungen an Vögeln / Sternen bringen Spitze und Wolken zum Vorschein, jetzt funktioniert der am stärksten frequentierte Kalender (12 Uhr, Samstag, Dezember) in etwa 70% der Fälle. Andere 30% Ich erhalte einen Stack Overflow-Fehler (bereite mich darauf vor), weil ich eine Rekursion verwende. Neue Bilder mit dem bestmöglichen Kalender und ein neues Kraken-Bild, das die Tiefs / Hochs der Sterne / Wolken zeigt.
Besserer Umgang mit Situationen, in denen die zufällige Streuung von Sternen / Vögeln das zufällige Einfügen von Wolken verhindert. Wenn die Dinge zu voll sind und es nach 200 Versuchen nicht funktioniert, wiederholen wir die Sterne / Vögel in der Hoffnung, dass die nächste Konfiguration den Wolken etwas persönlichen Raum lässt.
Wer ist ein süßes witziges Kwaken? Wer ist ein süßes witziges Kwaken? Sie sind! Sie sind!
Kleinere Änderungen, immer noch kein Golf. Kwaken taucht in den Neunzigern auf, weil er weiß, dass ihn jeder um Mitternacht erwartet. Er ist jetzt klein und schüchtern, aber eines Tages hofft er, das Schiff zu essen.
Wolken neigen dazu, tief am Himmel zu sein, während Sterne und Vögel gerne darüber fliegen. Gegen 8 Uhr wird es allerdings etwas eng.
Gelegenheitsausgabe
Super Busy Ausgang
Wenn wir unser kraken einführen wollen, indem wir einige Werte hart codieren, bekommen wir ...
quelle
Python3 - Piraten und Quallen:
15801472 BytesJeden Mittwoch um Mitternacht versenkt ein Piratenschiff unser Boot. Das Geräusch weckt eine riesige Qualle, die zufällig eine Stunde lang durch den Rahmen streift.
Beispiel am Dienstag, den 19. August um 23:27 Uhr
Mittwochs um Mitternacht:
quelle
Cobra - 994
Ohne Bouys: 994
Mit Bouys: 1084
Jeden Sonntag um 1 Uhr morgens erstrahlt die unendliche Weite des Tildemeeres in strahlendem Blau. Die Hoffnung kehrt zu den Menschen der trostlosen Muschelwelt zurück.
quelle
C #
11241128 BytesEinmal in der Woche sollte ein schlampiges ASCII-U-Boot für eine Stunde unter der Wasserlinie auftauchen und meine Byteanzahl merklich erhöhen. Hoffentlich funktioniert dieser Code jetzt tatsächlich . Ich fürchte, zu denken, was am Samstag um 11:00 Uhr im Dezember passiert ...
Etwas formatierter Code (der alle 15 Sekunden neu gezeichnet wird, weil ich die Spezifikation falsch gelesen habe):
Beispielausgabe (sollte 3:31, Mittwoch, 13. August lauten):
quelle
Lua - mehr als Sterne
Ich bin fertig!
Nun, nicht fertig gemacht. Ich bin mit diesem Code und der Herausforderung fertig. Es wird nicht gespielt, es fehlt der Monatsindikator. Es gibt keine Umgehung ... Ich poste es nur, damit zufällig niemand diese Herausforderung erfüllt, zumindest haben Sie etwas gesehen und eine Idee.
Sie können es hier ansehen .
quelle