Ich vermisse diese alten Demos, die die Fähigkeiten von Computern zeigen, als sie x86 statt i3, i5 und i7 hießen. Eine der ersten, die ich in meinem 386 gesehen habe, war die Unreal-Demo von Future Crew , die jetzt ihr 25-jähriges Bestehen feiert. In Minute 0:43 beginnt der erste Teil der Demo und wir sehen einen scrollenden Text, der einem sinusförmigen Pfad folgt. Versuchen wir, diesen Effekt in der ASCII-Kunst nachzuahmen!
Die Herausforderung
Angesichts dieses Weges:
*** ***
*** ***
** **
* *
* *
* *
* *
** **
*** ***
******
und einen Eingabetext, zeichnen Sie den Text, der diesem Pfad folgt, wie folgt:
Thi Golf!
s i de Yay
s Co !
P
r d
o n
g a
ra s
mmi zle
ng Puz
Beachten Sie, dass die Leerzeichen als Zeichen im Pfad gelten und dass sich der Pfad wiederholt, wenn der Text länger als das Beispiel ist.
Der Animationsteil
Nachdem Sie den Text gezeichnet haben, warten Sie 100 ms (um eine Animation mit ca. 10 fps zu erstellen) und zeichnen Sie den Text erneut, jedoch beginnend an der nächsten Position des Pfads. #n
Berechnen n modulo 40
und zeichnen Sie für den Rahmen an der folgenden Position des Pfads, wobei der Text immer links von der Leinwand ausgerichtet ist:
*** ***
| *** *** |
| ** ** |
| * * |
| * * |
| * * |
| * * |
| ** ** |
| *** *** |
| ****** |
Position 0 Position 39
Für Frame 10 haben wir also:
and Co
es de
zl Go
z l
u f
T P !
h
is ng Ya
is mmi y!
Progra
Anmerkungen
- Die Eingabe ist eine einzelne
string
(oder einchar
beliebiges Array) mit dem zu animierenden Text und hat immer mindestens 1 Zeichen. - Gültige zu animierende Zeichen sind die im druckbaren ASCII-Satz .
- Der zu verfolgende Weg ist genau wie angegeben.
- Der Text wird immer links von der Leinwand ausgerichtet, sodass der Text wie eine Flagge ohne Textverschiebung weht. Und mit Leinwand meine ich Bildschirm oder was auch immer Sie verwenden, um den Text anzuzeigen . ;-);
- Frames müssen frei von Zeichen / Pixeln aus vorherigen Frames sein, es sei denn, das Zeichen / Pixel ist in beiden Frames gleich.
- Die Geschwindigkeit der Animation spielt keine Rolle, solange sie reibungslos oder so schnell wie Ihr Gerät läuft (wir können mindestens 5 fps einstellen, dies ist jedoch keine Voraussetzung). Passen Sie einfach die Geschwindigkeit an, um es flüssig zu machen, und machen Sie sich keine Sorgen, wenn die Wartezeiten nicht genau gleich sind.
- Die Animation wird endlos wiederholt.
Dies ist Code-Golf , also kann das kürzeste Programm oder die kürzeste Funktion, die den Text animieren kann, gewinnen!