La sfida
Date le due stringhe esadecimali maiuscole (lungo entrambi i 6 caratteri, XXXXXX e YYYYYY) che rappresentano valori RGB (da 000000
a FFFFFF
compreso), ed una non-zero intero positivo N, mostrano una transizione lineare dei + 2 colori N generati da XXXXXX a YYYYYY ciò comporterebbe una sfumatura di colore.
Esempio
Ingresso
FF3762
F08800
9
Produzione
Nel nostro esempio, ho richiesto 9 passaggi intermedi tra i due colori, quindi verranno visualizzate 11 righe dal colore iniziale al colore finale
FF3762
FD3F58
FC474E
FA4F44
F9573A
F75F31
F66727
F46F1D
F37713
F17F09
F08800
Avvertenze
Mentre ho seguito un semplice processo lineare per derivare i valori interi per i colori provvisori prima di riconvertirli in esadecimali, i tuoi metodi possono variare. Si prega di considerare i vari modi in cui si potrebbero arrotondare i numeri di conseguenza.
analisi
Per rendere questo interessante, ho fornito uno snippet per consentire il test del tuo codice, incluso un pulsante per fornirti due colori casuali per testare il tuo codice. La visualizzazione dei risultati è facoltativa, ma è incoraggiata!
c1=()=>('00000'+(Math.random()*(1<<24)|0).toString(16)).slice(-6);
$("#col").click(function(){
alert("Your two colors are: "+c1()+" and "+c1()+".");
});
$("#colors").blur(function(){
$("#test").empty();
var colArr = $("#colors").val().split("\n");
for(c in colArr){
$("#test").append('<div class="tester" style="background-color:#'+colArr[c]+';">'+colArr[c]+'</div>')
}
});
.tester{height: 20px;
width: 60px;padding: 4px;border: 1px solid black;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="col">Your two colors</button><br />
<textarea id="colors"></textarea>
<div id="test">
</div>
1) Puoi accedere a due colori casuali per il tuo test facendo clic sul pulsante "I tuoi due colori". 2) Il numero di passaggi intermedi sarà lo stesso del numero di caratteri nel tuo nome utente PPCG comprensivo di spazi, nel caso di "WallyWest" sarebbe 9 (come nel mio esempio sopra). 3) Esegui il tuo codice con i due colori e il numero e una volta che hai il tuo elenco generato, hai la possibilità di incollare il tuo output nell'area di testo e di separarlo da esso per ottenere il gradiente di colore generato.
Il mio esempio è mostrato qui:
Devo ammetterlo, sembra davvero fantastico!
Nota: come ho già detto, mostrare il test dell'output utilizzando lo snippet è facoltativo, ma è incoraggiato! :)
Produzione
L'output dell'elenco deve essere sotto forma di set N + 2 di numeri esadecimali a 6 cifre separati da avanzamenti di riga (\ n) come mostrato nel mio esempio sopra. L'output può essere sotto forma di righe separate, elenco separato da spazio / virgola, un array o qualsiasi altra cosa sia più adatta alla tua lingua ... (Grazie @nimi per l'heads up) Ricorda che se hai intenzione di testare il tuo codice con lo snippet, comunque separi ogni "colore" dipende da te.
Regole
Questo è code-golf, quindi la soluzione più breve in byte sarà incoronata vincitrice. Niente scappatoie , naturalmente. L'input deve accettare le due stringhe e un numero (che come ho detto sarà equivalente al numero di lettere nel tuo nome utente su PPCG, quindi l'output risultante sarà sempre lungo almeno tre righe.