У яндекса мне понравилось решение: при скачивании я яндекс.народ, пользователь либо вводит каптчу либо идет проверка по плагину яндекса в браузере.
Я согласен что вообще от каптчей происходят неудобства. Каптчу можно заменить в зависимости от ситуации: если, допустим, это регистрация, то можно «поиграться» с именами форм: поле «e-mail» изменять на «mail' или, даже, на „name“. Это, конечно, будет сложнее контролировать, но это будет „невидимая“ защита для пользователя. Идея сделать саму страницу с формами уникальной.
А вообще, почему обязательно примитивные фигуры? Оставьте все как есть и замените круги и квадраты на зайцев, попугаев и мартышек. Цвет можно им поменять, от этого выигрыша особого не будет, но будет красивее :) Кстати кажется похожее было у Рапиды, но они там перегнули: начали еще этих зайцев мешать с другими животными да еще и деформировать их :)
Для начала немного теории:
Для всех числел в двоичном виде последний бит (первый слва) отвечает за знак
(бит знака)
Теперь решение:
Допустим, у нас есть два числа X и Y
Теперь запишем завиимость номера квадрантов(N) от его двоичного представления(Bn) и
от бита флагов X и Y (Bs):
N Bn Bs
1 00 00
2 01 10
3 10 11
4 11 01
Ура-есть четкая (биективная) зависимость N от Bs. Идея в том, что бы использовать
биты знака как адрес с ответом.
Реализацию программы можно делать разными способами, лично я сделал так
A = <[1,2,4,3]>
X = <ввод X>
Y = <ввод Y>
X = <сдвиг вправо до бита знака>
Y = <сдвиг вправо до бита знака>
Y = <сдвиг влево на бит>
X = <X+Y>
<Вывод элемента X из массива A>
1,2,4,3
Но главное, что у человека идея правильная.
Я согласен что вообще от каптчей происходят неудобства. Каптчу можно заменить в зависимости от ситуации: если, допустим, это регистрация, то можно «поиграться» с именами форм: поле «e-mail» изменять на «mail' или, даже, на „name“. Это, конечно, будет сложнее контролировать, но это будет „невидимая“ защита для пользователя. Идея сделать саму страницу с формами уникальной.
О! Придумал :) Пример Еще:
<зеленый | салатовые | цвета травы > < круги | кружочки | кругляшки | окружности | овальчики> "
При том записи эквивалентны. Везде будет круги зеленого цвета. Вот спамерам задачка :)