Prämisse:
Für diejenigen im Netzwerk haben Sie höchstwahrscheinlich einen Ping an oder von einem Gerät gesendet, um sicherzustellen, dass alles richtig verbunden ist. Cisco, ein beliebtes Unternehmen in der Vernetzung [Bearbeiten] , hat einen Befehl für sie in ihrem IOS , dass wie folgt aussieht:
( Bildquelle )
Ihre Herausforderung besteht darin, einen Teil davon grafisch nachzubilden. Die Teile, die wir überspringen, sind Type escape sequence to abort.
zusammen mit der IP-Adresse und den Umlaufzeiten die erste Zeile ( ).
Sie geben zunächst Folgendes aus:
Sending 5, 100-byte ICMP Echos, timeout is 2 seconds:
Anschließend simulieren Sie die ausgehenden Echoanforderungen. Jede Anforderung beginnt mit einer Wartezeit von 2 Sekunden und der Generierung der Antwort. Eine erfolgreiche Echoantwort wird durch a dargestellt !
, eine fehlgeschlagene durch .
. Wir werden eigentlich keine Pakete senden, aber um den Paketverlust darzustellen, muss Ihr Programm zufällig zwischen den beiden Optionen mit einer Wahrscheinlichkeit ungleich Null für jede auswählen. Diese Zeile beginnt leer und jedes Häkchen fügt ein weiteres Zeichen hinzu.
Nach dem fünften Echo wird die Prozentzeile ausgegeben und das Programm sollte dann beendet werden. Die Prozentzeile hat das Format
Success rate is $p percent ($s/5)
Wo $p
ist in Regex 0|20|40|60|80|100
und $s
ist die Anzahl der erfolgreichen Echos. Der Bildschirm muss nach jeder Wartezeit aktualisiert werden, indem entweder der neue Status neu gezeichnet oder an die vorhandene Echozeile angehängt wird. Dies schließt die Sending
Zeile ein.
Beispiellauf: (Die Anzahl der Ticks sollte nicht angezeigt werden und dient dazu zu verdeutlichen, wie die Ausgabe bei jedem Zeitschritt aussehen soll.)
#Tick 0
Sending 5, 100-byte ICMP Echos, timeout is 2 seconds:
#Tick 1
Sending 5, 100-byte ICMP Echos, timeout is 2 seconds:
.
#Tick 2
Sending 5, 100-byte ICMP Echos, timeout is 2 seconds:
.!
#Tick 3
Sending 5, 100-byte ICMP Echos, timeout is 2 seconds:
.!.
#Tick 4
Sending 5, 100-byte ICMP Echos, timeout is 2 seconds:
.!.!
#Tick 5
Sending 5, 100-byte ICMP Echos, timeout is 2 seconds:
.!.!.
Success rate is 40 percent (2/5)
Eingang:
Keine verwendbare Eingabe bereitgestellt.
Ausgabe:
Jedes vernünftige Format. Eine beispielhafte endgültige Ausgabe sieht folgendermaßen aus:
Sending 5, 100-byte ICMP Echos, timeout is 2 seconds:
...!!
Success rate is 40 percent (2/5)
Regeln:
- Sie müssen entweder an die Echolinie anhängen oder den Bildschirm nach jedem Häkchen neu zeichnen.
!
und.
müssen nicht gleich wahrscheinlich sein, nur beides möglich.- Aufeinanderfolgende Läufe müssen unterschiedliche Ergebnisse erzielen können
- Gifs oder Webms Ihrer Ausgabe wären cool. Kein Bonus oder irgendetwas dafür.
- Standardschlupflöcher verboten
- Das ist Code-Golf