Ich lebe in Großbritannien, wo es regnet. Viel. Ich habe auch die unglückliche Notwendigkeit, eine Brille tragen zu müssen, um zu sehen, was bedeutet, dass ich bei Regen (wie es jetzt ist) kaum aus ihnen heraussehen kann. Diese Herausforderung ist so, dass Sie alle das gleiche erleben können!
Aufgabe
Geben Sie ASCII-Kunstgläser mit einem Tropfen Wasser pro Sekunde aus.
Eingang
Keiner
Ausgabe
Eine Brille mit Wassertropfen darauf.
Brille
________________________
| /__\ |
| / \ |
| / \ |
\_______/ \_______/
Regentropfen
Ein Regentropfen wird mit a bezeichnet .
. Ein Regentropfen wird zufällig auf die Brillengläser gelegt. Wenn also ein Regentropfen platziert wird, könnte die Brille so aussehen
________________________
| /__\ |
| . / \ |
| / \ |
\_______/ \_______/
Wenn es sich auf einer leeren Stelle befindet ( ), wird ein
.
auf dem Bild platziert. Wird es auf ein Feld gelegt, auf dem sich bereits ein Regentropfen befindet, wird der Tropfen graduiert.
Die Schritte auf Tropfen sind
- keine Tropfen platziert:
- 1 Tropfen platziert:
.
- 2 Tropfen platziert:
o
- 3 Tropfen platziert:
O
- 4+ Tropfen platziert:
@
Regeln
- Das Bild sollte so aussehen, als ob es an Ort und Stelle bleibt. Dies bedeutet, dass Sie entweder den Bildschirm löschen oder genügend Zeilenumbrüche drucken können, um den Bildschirm zu "löschen". Sie können keine Liste von Schritten zurückgeben. Tut mir leid, aber Sie sollten in der Lage sein, das zu umgehen.
- Wenn Sie Zeilenumbrüche ausgeben, um den Bildschirm zu "löschen", müssen mindestens 3 Zeilenumbrüche zwischen den Gläsern sein.
- Der Code läuft so lange, bis die Gläser voll sind, dh bis die Ausgabe so aussieht:
________________________ | @@@@@@@@@ / __ \ @@@@@@@@@ | | @@@@@@@@ / \ @@@@@@@@ | | @@@@@@@ / \ @@@@@@@ | \ _______ / \ _______ /
- Kürzester Code in Bytes gewinnt.
@
, oder?Antworten:
JavaScript (ES6),
269267265 BytesBearbeiten:
24 Bytes dank @Shaggy gespeichert.quelle
innerText
anstelle vontextContent
undsearch
anstelle vonindexOf
. Und ein paar mehr, wenn Sie nur<pre id=o
als HTML verwenden, anstatt es zudocument.write
schreiben.Java 8,
449421 BytesErläuterung:
Probieren Sie es hier aus. (
Thread.sleep
Wird entfernt, damit Sie das Ergebnis sofort sehen.)Ausgabe:
HINWEIS: Die Punkte im GIF sind etwas seltsam, aber das ist ein Problem in meinem ScreenToGif.exe.
quelle
"
F #, nicht rekursive
379414404 BytesProbieren Sie es online!
Ich liebe die Voraussetzung dieser Herausforderung :)
Und danke für den Ohrwurm.
F #,
406441438437423 BytesProbieren Sie es online!
Erläuterung
quelle
open System
und das EntfernenSystem
von derRandom()
undThreading.Thread.Sleep()
Anrufe;)Python 2,
365328 BytesDas ist ein bisschen besser ...
Probieren Sie es online aus
Der obige Link verwendet 30 Zeilen anstelle von 3, aber Sie können ihn mit 3 sehen, wenn Sie die Größe Ihres Browserfensters so ändern, dass es vertikal klein genug ist. Wechseln Sie
time.sleep(1)
zutime.sleep(.1)
für 10x Geschwindigkeit.quelle
C,
313309305304 BytesMuss einiges runtergolfen werden;
Ich führe es mit dem folgenden Teststub aus
quelle
Ruby ,
237224228218206198197 BytesProbieren Sie es online!
Die vorherige Antwort war falsch und berücksichtigte keinen Regentropfen, der auf ein @ fiel.Anscheinend keine Voraussetzung. Einige Bytes gespeichert.Dies wird mit einem Fehler beendet, der jedoch definitiv beendet wird, sobald die volle Brille gedruckt wurde.
eingespart, indem der Ausdruck in ein Lambda umgewandelt unddie Zuweisung geändert wurde, um tr (duh) zu verwenden.\\
Beinsa
und anschließendes Zurückwechseln in die trx
(duh). Falls sich einige von euch fragen, warum dies die Hauptschleife nicht beeinflusst: Die Hauptschleife berücksichtigt nicht die letzte Zeile, um ihre zu bestimmenx
.des oberen Randes der Brille
Ja <200 Bytes: D
Gif:
quelle
Bash,
576510429416 BytesWow, viel Golf gespielt. Wenn jemand eine Idee für weiteres Golfen hat, bin ich offen für Vorschläge
Versuch es selber! Es hat den Schlaf wegen der 60-Sekunden-Grenze kommentiert
Hier ist das GIF:
quelle
Perl, 167 Bytes
Beachten Sie, dass dies
\x1b
ein buchstäbliches Escapezeichen ist.Sehen Sie es online!
quelle
Mathematica, 438 Bytes
Hier ist ein 10x Geschwindigkeits-Ergebnis-GIF
quelle
Table
,95
und32
?t=Table
x = 32
undy = 95
?Flatten
mitf
?PHP,
262254 BytesLaufen Sie mit
-nR
oder versuchen Sie es online .Nervenzusammenbruch
quelle