Ich habe in meinem Code ein rudimentäres EasterEgg erstellt, das aktiviert wird, wenn die folgenden Tastenanschläge (nicht gleichzeitig) gemacht werden: Enter + c + o + l + o + r + s
mit dem folgenden Code:
Ich muss der Keydown-Funktion Reset-Funktionalität hinzufügen, um alle Variablen zurückzusetzen, wenn etwas anderes als diese Tasten gedrückt werden ... auf diese Weise müssen sie Enter + c + o + l + o + r + s
drücken oder die Anweisung wird zurückgesetzt und sie müssen neu beginnen. (Dadurch wird es schwieriger, das 'EasterEgg' zu erreichen [oder zumindest weniger wahrscheinlich durch zufällige Tastenanschläge]].
Sie möchten dies auch in der Reihenfolge überprüfen. Im Moment könntest du die Tasten in beliebiger Reihenfolge drücken und trotzdem das Osterei aktivieren. Enter + lorocs
zum Beispiel.
Ich würde die gesuchten Werte in der folgenden Reihenfolge speichern:
%Vor%Dann können Sie einfach verfolgen, wo sich der Benutzer in der Sequenz befindet:
%Vor% Dadurch wird nextKey
jedes Mal erhöht, wenn Sie den nächsten Schlüssel in der Sequenz suchen. Die Variable nextKey
beginnt am Index 0, was bedeutet, dass wir nach Enter
suchen. Jetzt müssen wir in der Funktion ColorMap
auf die Endbedingung prüfen.
Diese Lösung sollte es Ihnen ermöglichen, die spezielle Sequenz in der Variablen keys
zu ändern, ohne dass eine Änderung an anderer Stelle im Code erforderlich ist.
BEARBEITEN:
Wenn Sie möchten, dass die Antwort zusammenhängend ist, wie Sie es wahrscheinlich tun, können Sie die Variable nextKey
zurücksetzen, wenn die Übereinstimmung fehlschlägt.
Für zusätzliche Credits könntest du dies ändern, um eine Zeichenfolge zu verwenden, um das Osterei zu halten, dann String.fromCharCode
, um es in den Zeichencode zu konvertieren, den e.which
zurückgibt.
Ich habe vor kurzem eine ähnliche Easter Egg-Frage beantwortet, also werde ich Sie nur darauf hinweisen.
Es erfordert einen anderen Ansatz als das, was Sie tun, und es muss nicht zurückgesetzt werden.
JavaScript / jQuery Keypress-Protokollierung
BEARBEITEN: Hier ist eine aktualisierte Version, die verhindert, dass der Schlüsselverlauf zu lang wird.
%Vor%Nun werden Sie Ihre Benutzer die magischen Tasten in beliebiger Reihenfolge drücken lassen, was nicht sehr viel Spaß machen würde. Ich würde die magische Sequenz in ein Array setzen, und wenn die erfolgreichen Tastenanschläge übereinstimmen, bewegen Sie sich im Array vorwärts. Wenn Sie bis zum Ende kommen, dann ist es Eizeit.
Bearbeiten genau wie @EndomerredMassa schrieb.
Hier ist ein anderer Ansatz:
%Vor% Es speichert den aktuellen Teil der Farben, die Sie in eine Textbox geschrieben haben, einfach zum Debuggen. Fügen Sie einfach style="display: none;"
hinzu, wenn Sie mit dem Testen fertig sind.