Mit Pfeilen ins Knie getroffen zu werden, scheint momentan die Verletzung der Wahl zu sein . Als solches schlage ich die folgende Golfherausforderung vor.
Du hast einen Abenteurer, der so aussieht:
O
/|\
/ | \
|
|
/ \
/ \
Schreiben Sie in einer Textdatei, die einen Bogen (als }Symbol gezeichnet ), eine Reihe von Wänden (als #Symbole gezeichnet ) und einen Abenteurer enthält, den kleinsten Code, der den Winkel und die Anfangsgeschwindigkeit berechnet, mit der Sie einen Pfeil abfeuern müssen, um zu treffen ihn im Knie.
Es sei folgendes angenommen:
- Jedes Zeichen in der Datei ist 0,5 x 0,5 Meter groß.
- Der Pfeil wird von der Mitte des abgefeuert
}, dh ein Versatz von0.25m, 0.25m - Die Schwerkraft ist
10ms^-2 - Pfeil wiegt
0.1kg - Pfeil ist ein Punkt, dh Kollisionen treten nur auf, wenn die Pfeilkoordinate in einen der Blöcke eintritt.
- Die maximale Anfangsgeschwindigkeit beträgt
50m/s - Der Winkel kann zwischen 0 (gerade nach oben) und 180 (gerade nach unten) liegen.
- Wenn Sie einen Teil des Beines des Abenteurers treffen, wird dies als Knietreffer angesehen.
- Eine Wand (
#Charakter) nimmt einen ganzen 0,5 mx 0,5 m großen Block ein. - Der Pfeil kann sich über die "Oberseite" der Datei bewegen, aber nichts hindert die Eingabe daran, mit einer Zeichenobergrenze zu beginnen
#. - Sie können nicht Wände mit Pfeilen durchdringen.
- Das Schlagen eines anderen Teils des Abenteurers ist nicht erlaubt!
- Sie sollten einen Fehler anzeigen, wenn es nicht möglich ist, ihn im Knie zu treffen.
Beispiel Eingabe:
#
} O
# /|\
/ | \
# |
# |
/ \
/ \
Fühlen Sie sich frei, Fragen zu stellen, wenn Sie müssen :)
#############...