• 設定によるローターの変更は以下のようになっています。
    • 各ローターはタイプ(Ⅰ~Ⅴ)、初期位置、リング設定を行います。
    • タイプはローターの入出力の種類で、リング設定はアルファベットをずらす設定になっています。
    • 初期位置は上のタイプとリング設定でローターの中身が確定した後、左側のアルファベットが初期位置になるまでローターを回転させて初期設定を完了としています。
  • 初期位置は設定後すぐに回転します。
    • エニグマは入力したときに一度ローターを回転させてから処理を行います。
    • 今回は入力をマウスホバーすることで出力文字を表示する都合上、初期設定後にローターを回転しています。
    • このため実際のエニグマと異なり、入力を処理した後にローターの回転を行っていますが厳密には正しい挙動ではないです。
  • 上の都合上、初期設定だと一番右のローターの一番上はSになるはずですが、一度回転させているのでTになっています。
    • エニグマで見えるアルファベットの状態が1回転分異なる以外は正常です。
  • 各ローター左の水色背景のアルファベットはターンオーバーの印で、これが一番上に来た後その左のローターが回転します。
GitHub