Die Herausforderung
Wenn die beiden hexadezimalen Zeichenfolgen (jeweils 6 Zeichen lang, XXXXXX und YYYYYY) RGB-Werte (von 000000
bis FFFFFF
einschließlich) und eine positive Ganzzahl N ungleich Null darstellen, wird ein linearer Übergang der von XXXXXX zu YYYYY erzeugten N + 2-Farben angezeigt das würde zu einem Farbverlauf führen.
Beispiel
Eingang
FF3762
F08800
9
Ausgabe
Bitte beachten Sie, dass ich in unserem Beispiel 9 Zwischenschritte zwischen den beiden Farben angefordert habe. Daher werden 11 Linien von der Anfangsfarbe bis zur Endfarbe angezeigt
FF3762
FD3F58
FC474E
FA4F44
F9573A
F75F31
F66727
F46F1D
F37713
F17F09
F08800
Vorbehalte
Während ich mit einem einfachen linearen Prozess gearbeitet habe, bei dem die ganzzahligen Werte für die Zwischenfarben abgeleitet wurden, bevor sie wieder in hexadezimal konvertiert wurden, variieren Ihre Methoden möglicherweise. Bitte beachten Sie die verschiedenen Möglichkeiten, wie Sie Ihre Zahlen entsprechend auf- / abrunden können .
Testen
Um dies interessant zu machen, habe ich ein Snippet bereitgestellt, mit dem Sie Ihren Code testen können, einschließlich einer Schaltfläche, mit der Sie zwei zufällige Farben zum Testen Ihres Codes erhalten. Die Anzeige Ihrer Ergebnisse ist optional, wird jedoch empfohlen!
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) Sie können auf zwei zufällige Farben für Ihren Test zugreifen, indem Sie auf die Schaltfläche "Ihre zwei Farben" klicken. 2) Die Anzahl der Zwischenschritte entspricht der Anzahl der Zeichen in Ihrem PPCG-Benutzernamen einschließlich Leerzeichen, im Fall von "WallyWest" sind es 9 (wie in meinem obigen Beispiel). 3) Führen Sie Ihren Code mit den beiden Farben und der Zahl aus. Sobald Sie Ihre generierte Liste erstellt haben, haben Sie die Möglichkeit, Ihre Ausgabe in den Textbereich einzufügen und von diesem wegzugehen, um den generierten Farbverlauf zu erhalten.
Mein Beispiel ist hier gezeigt:
Ich muss zugeben, das sieht ziemlich genial aus!
Bitte beachten Sie: Wie bereits erwähnt, ist es optional, das Testen Ihrer Ausgabe mit dem Snippet zu zeigen, aber es wird empfohlen! :)
Ausgabe
Die Listenausgabe muss in Form von N + 2 Gruppen von 6-stelligen Hex-Zahlen erfolgen, die durch Zeilenvorschübe (\ n) getrennt sind, wie in meinem obigen Beispiel gezeigt. Die Ausgabe kann in Form von separaten Linien, Raum / kommagetrennte Liste, ein Array oder was auch immer am besten für Ihre Sprache geeignet ist ... (Danke @nimi für die Heads - up) Bitte denken Sie daran, dass , wenn Sie planen Ihren Code testet mit Der Ausschnitt, wie auch immer Sie die einzelnen "Farben" trennen, liegt bei Ihnen.
Regeln
Das ist Code-Golf, also wird die kürzeste Lösung in Bytes zum Gewinner gekrönt. Natürlich keine Lücken . Die Eingabe muss die beiden Zeichenfolgen und eine Zahl akzeptieren (die, wie gesagt, der Anzahl der Buchstaben in Ihrem Benutzernamen bei PPCG entspricht, sodass die resultierende Ausgabe immer mindestens drei Zeilen lang ist.