web-dev-qa-db-ja.com

Webインターフェイスでプラグボードを表す

私は現在JavaScriptでエニグママシンを作成しています(初期のプロトタイプ here )。プラグボードを実装する必要がある段階になりました。

これで、プラグボードは26ソケットのセットになり、各文字に1つずつ、ケーブルでパッチすることができ、出力でこれらの文字を入れ替えることができます。プラグボードの例はここにあります:

example plugboard

各ソケットは一度だけ接続できます。 (したがって、DをEに接続すると、DもEも再び接続できなくなります)。

さて、私が抱えている問題は、これをユーザーインターフェイスに実装する最良の方法が本当にわからないことです。私は各ソケットを選択ボックスにすることを考えましたが、それを使用するのは直感的ではないと思います。プラグとパッチケーブルを直接表すと、かなり煩雑に見え、開発するのは悪夢になります。

では、このようなプラグボードをWebインターフェースに実装する方法について何かアイデアはありますか?

4
Sam

ドロップダウン(またはスピナー)はかなり明白な選択です。 AをDにリンクすると、DがAにリンクされるように、対応するペアを一緒に変更します。

実装の問題は、すでにリンクされているDを(たとえば)Fにリンクするように変更することです。これをAからリンク解除して(A↔Aを取得する)、新しい相互リンクF↔Dを作成する必要があります。他の場所からリンクされている場合、Dのスピナーを無効にする方が簡単なので、ユーザーはDを変更する前に明示的にA↔Aを設定する必要があります。しかし、それは直感的ではありません。

色を使用して、リンクされている文字を表示できます。 (各ペアを異なる色で示すのではなく、「この文字にはパッチが適用されています」には単一の色をお勧めします。)

mockup

download bmml sourceBalsamiq Mockups で作成されたワイヤーフレーム

3
Andrew Leach