MODIFICARE
Sembra che ci sia stata una certa confusione dopo il mio errore di battitura nel post originale che utilizzava una o minuscola per definire il piano e poi una maiuscola in seguito. Sfortunatamente questo bug non è stato raccolto nella Sandbox. Poiché molti membri hanno scritto delle risposte con entrambi e poiché l'errore è stato colpa mia, nella definizione dell'aereo consentirò o maiuscole o minuscole. Ho aggiunto una nuova regola per questo.
sfondo
Mi piacciono le animazioni di arte ascii come tendo a chiamarle, quindi eccone un'altra. Non penso che sia troppo difficile da implementare, quindi spero di ottenere risposte brevi e interessanti.
A tutti i membri della comunità
Se si migliora la risposta, modificare il numero di byte come
conteggio byte vecchi conteggio byte nuovi
così possiamo vedere i tuoi progressi. Grazie!
Sfida
Ecco un aereo ascii
--O--
Ecco una pista ascii
____| |____
L'aereo parte da 5 nuove linee sopra la pista. Per prevenire eventuali scontri tra i sistemi metrici e imperiali e renderlo una vera sfida internazionale, non menzionerò metri o piedi. Esempio:
--O--
____| |____
L'aereo deve atterrare esattamente al centro della pista come mostrato di seguito:
____|--O--|____
Ingresso
La posizione orizzontale iniziale del piano è definita da un input intero che viene utilizzato per fare riferimento alla punta dell'ala sinistra, ovvero tra 0 e 10 inclusi.
Produzione
Ogni fase del volo degli aerei deve essere mostrata. Esempio di seguito (input = 10):
--O--
____| |____
--O--
____| |____
--O--
____| |____
--O--
____| |____
--O--
____| |____
____|--O--|____
Per semplificare le cose, ignoriamo le leggi della prospettiva. La pista rimane delle stesse dimensioni man mano che ti avvicini.
Regole
- Aggiorna La parte centrale del piano può essere maiuscola o minuscola o, qualunque sia la scelta, deve essere coerente in tutto il codice. Se la tua lingua non supporta i caratteri qui sopra, sentiti libero di usare solo caratteri ascii alternativi.
- Il piano scende di 1 linea per fotogramma.
- Il piano può spostare solo 1 spazio a sinistra o a destra ogni volta che scende di una linea. Non deve spostarsi su ciascuna linea di discesa. Finché finisce sulla passerella, dipende da te quando si sposta a destra o a sinistra. Sei il pilota!
- Non è richiesta la gestione degli errori. Si può presumere che l'input sarà sempre un numero intero valido compreso tra 0 e 10 inclusi.
- L'output deve essere composto solo dai caratteri mostrati sopra (se la tua lingua non li supporta, vedi la prima regola modificata) e deve avere le stesse dimensioni, cioè deve iniziare con 6 righe di altezza per 15 caratteri di larghezza. L'altezza può diminuire man mano che procede come nell'esempio sopra.
- Il programma o la funzione vanno bene, ma devono produrre un output come mostrato sopra.
- Gli spazi iniziali / finali / le nuove righe vanno bene per me.
- Se lo desideri, sentiti libero di cancellare lo schermo tra i frame di output. Questo non è un requisito.
- Le scappatoie standard sono proibite come al solito (anche se non credo che ce ne siano molte che potrebbero aiutare in questo tipo di sfida).
- Questo è il golf del codice, quindi la risposta più breve è ovviamente il vincitore e probabilmente otterrà il maggior numero di voti, ma potrebbe non essere necessariamente accettata come la migliore risposta se una soluzione davvero interessante arriva in un linguaggio inaspettato, anche se è più lunga. Sentiti libero di pubblicare tutto ciò che soddisfa le regole fintanto che funziona.
Implementazione di riferimento non golfata in Python 2 disponibile su Provalo online! così puoi vedere come cerca diversi valori di input.