1

だから私はじゃんけんボットを構築しています.プレイヤーがスローを選択した後、ロボットが「チート」して選択を行わないことを確認できるようにする必要があります.

通常、コンピューターで表示する場合、これは選択をハッシュし、場合によってはソルトを提供してから、選択とソルトを明らかにすることによって行われます。しかし、人間が「即座に」検証できるものが欲しいのです。私が選択を単にハッシュ化すると、人々はハッシュを不正に操作することに反則を唱えるでしょう。

だから私の考えは、一種の「ビジュアルハッシュアルゴリズム」を持つことです。人間が自明かつ簡単に実行し、検証できるハッシュアルゴリズムです。

私が今考えているのは、ジャンケン、ペーパー、ハサミの 3 つのボックスを用意し、RPS ボックスの向かいにラベルのない別のボックス A、B、C を 3 つ用意することです。次に、絡み合った線を使用してロックをそれらの 1 つに接続し、紙を別の場所に、C を別の場所に接続します。線が絡み合っているため、ボックス B からはさみなどに線を「たどる」のに時間がかかります。

コンピューターがスローを選択すると、スローに対応するボックスが「強調表示」されます。つまり、シザーズのもつれた線がボックス B につながる場合、ボックス B が強調表示されます。ただし、それがシザーズであったことは明らかになりません。次に、人間は投げを選ぶために、たとえば 3 秒間与えられます。うまくいけば、3 秒では線のもつれを解き、ボックス B から Scissors に戻るには十分な速さではありません。

次に、人間がスローを選択すると、コンピューターははさみを表示し、はさみからボックス B への絡み合った線も強調表示します。これにより、はさみがずっとボックス B につながっていることが明確になり、ごまかしはできませんでした。

これは機能しますが、少し醜く、エレガントではないと思います。人間は、コンピューターが不正行為を行っていないことを簡単に確認できますが、同時に、異常または奇妙に見え、非常に多くの UI 要素が導入されているため、画面が雑然としていたり​​、信頼できないように見えたりします。UI 要素/グラフィック フットプリントが少ないほど、優れています。

現在、この問題を解決するソリューションはありますか?

  1. スローの「ハッシュ」と、「元に戻す」のに時間 (少なくとも 3 秒) かかるハッシュアルゴリズムが表示されます。
  2. スローが明らかになった場合、ハッシュ アルゴリズムが有効に実行されたこと、およびスローが実際にハッシュに対応していることを、視覚的に簡単かつ即座に識別できる必要があります。
  3. 使用する UI 要素をできるだけ少なくし、グラフィカル フットプリントをできるだけ小さくします。
4

2 に答える 2

2

これは面白い。私の頭の中のアイデアは、10x10 のグリッド (1 平方あたり 5 ピクセルなど) をキーで表示することです。

:ロック。:はさみ。:紙

赤 33 色、青 33 色、緑 33 色でランダムにグリッドを塗りつぶし、3 色のうちのランダムな色 1 つを塗りつぶします。人間は、短時間で他の 2 色よりも 34 色を識別するのに苦労しますが、必要に応じてグリッドを拡張したり、セルを強調表示したりして、ユーザー入力でカウントを明らかにすることができます。

小さなUIフットプリントで、あなたのソリューションよりもきれいですが、それで十分かどうか...

于 2013-04-27T00:47:02.913 に答える
0

3 秒ありますが、正しい計算はどれですか?

R: 317 * 27 = 8829
P: 297 * 16 = 5605
S: 239 * 38 = 9082

私が答えを言うと、電卓ですぐに確認できます。

于 2021-03-16T20:59:08.093 に答える