Drucken Sie auf STDOUT ein Muster, das zeigt, in welche Richtung ein springender Ball gehen wird.
Folgende Annahmen werden getroffen:
- Der Ball beginnt in der oberen linken Ecke:
0, 0mit einer Anfangsgeschwindigkeit von Null. - Die Schwerkraft ist
9.8ms^-2genau in Richtung Boden (y positiv). - Der Ball wiegt
500ggenau. - Der Ball springt mit 45 oder 135 Grad zum Boden, es sei denn, Sie möchten die entsprechenden Berechnungen hinzufügen, um variable Flugbahnen hinzuzufügen. (Beliebige Bonuspunkte!)
- Der Ball hat einen
Federkonstanten-Restitutionskoeffizienten / Sprungkonstanten von0.8genau. - Der Ball ist perfekt kugelförmig und verformt sich beim Abprallen nicht.
- Der Raum ist 25 Zeichen hoch und 130 Zeichen breit. Jedes x und y ist 1 Meter und jede Ballposition stellt eine diskrete Probe dar - der genaue Zeitraum ist absichtlich nicht spezifiziert, aber die Anzeige sollte den Weg des Balls ausreichend klar machen. Die Ausgabe sollte den Weg des Balls zeigen, nicht nur die Endposition.
- Der Boden und die Kugel sollten mit Zeichen auf STDOUT gekennzeichnet werden, die möglicherweise gleich sind. Das Vorhandensein keiner Kugel oder Bodenfläche ist mit einem Leerzeichen zu kennzeichnen.
- Sie können bei allen Berechnungen von einer Rundung auf drei Dezimalstellen ausgehen. (Lösungen, die reine Ganzzahlen verwenden, sind möglicherweise besonders an dieser Regel interessiert.)
- Die Simulation stoppt, wenn sich der Ball entweder nicht vom Boden bewegt oder den Raum verlässt (
x > width of area.) - Das Programm muss den Pfad des Balls simulieren, ihn nicht einfach aus einer Datei laden oder irgendwie im Programm codieren lassen. Der Test hierfür besteht darin, optional eine der Konstanten zu ändern. Wenn das Programm kein neues, korrektes Ergebnis berechnet, ist es nicht qualifiziert.
Beispielausgabe:
*
*
*
*
*
*
*
*
*
* ***********
* ***** ****
* **** ***
* *** ***
* ** **
* *** **
* ** ** *********
* * ** **** ****
* ** * ** **
* * ** ** **
* * * ** ** ********
* ** * ** ** **** ****
* * ** ** ** ** **
* * ** ** ** ** ** **
** ** ** ** ** ** **
* **** **** ***
**********************************************************************************************************************************
Ermittlung des Gewinners. Ich werde die Antwort akzeptieren, die:
- Erfüllt die oben definierten Regeln.
- Bonusleistung wird berücksichtigt.
- Ist die kürzeste und eleganteste (subjektive Entscheidung.)
code-golfoder , code-challengeoder was? Bitte entsprechend kennzeichnen.