PDA

Просмотр полной версии : Ошибка в картах с раскладом 30.



Akaiashka
11.01.2011, 20:46
Понимаю, мало кому из девелоперов это интересно... но вдруг.
в расшивровке карт с раскладкой 30 - есть ошибка. при переборе возникает ответ 9 - которого не может быть по теории. после первой или второй 9ки в переборе - происходит сброс. задается новый расклад. и отгадывать приходиться с начала.
если это Фича - ну ... не прикольная...
я думаю это ошибка в скрипте.

GM Wizard
16.01.2011, 18:40
Сдаётся мне, что там нету ошибки %) непонятно, что такое расклад 30 в картах ? %) вот секу знаю, тышу знаю, даже 21 знаю а расклада 30 незнаю... выражайте мысли яснее! %) если идёт речь о кладах где надо подобрать цифры то ошибки там нету, срос на новую комбинацию не зависит от переборки а зависит от времени и только которое вы затратили на перебор и если именно речь идёт о этом переборе то там ошибки точно нет и теория которой вы пользуетесь не правильная %)

Akaiashka
16.01.2011, 21:49
Визард!
я думаю прекрасно понимаете какой у меня чар и сколько я карт открыл.
разговор идет о картах, в которых из 30 нужно выбрать 5. расклад занимает 5 минут. вряд ли за это время предусмотрен сброс?
алгоритм прост. пробиваем весь расклад сначала пятерками: 1-5, 6-10, 11-15 и тд.
при ответе 8 - в пятерке одна цифра, при ответе 6 - две.
найдя "пустую" пятерку (ответ 10) - начинаем тестить ей пятерку с ответом 8 по одной цифре. если пустая 11-12-13-14-15. бьем 1-12-13-14-15, потом 2-12-13-14-15. пока не получим в ответ 8.
так собираем расклад.
но иногда ответ бывает 9.
просто скажите мне как девелопер - при каком раскладе может быть ответ 9? после этого карта слетает и берет новый расклад. все сбрасывается.

Aleksandr23rus
17.01.2011, 06:49
Ух ты интересно :)
Такое мне не попадалося :)
Можно ли по подробнее?
P.s. Не обращай на него внимание . он 1 - стебется причем всегда :) , 2 - очень любит себя ставить выше всех , 3 - не любит критики в свой адресс :)

GM Wizard
17.01.2011, 20:51
Ну во-первых, чтобы понимать друг друга давайте сначала определимся с понятиями %)
В скрипте не использовано понятие ОТВЕТ ибо ответ это 2+2=4
за место понятия "ответ" фигурирует слово ОШИБКА, именно кол-во ошибок вам и показывается при открытии клада.
Сразу уточняем, что "ответ" подсчитывается совсем иначе нежели ошибки и в данном случае это существенно!
Теперь, когда мы определились с понятиями, начнём раскидывать алгоритм, при помощи которого вы получаете эту самою циферку 9, а также логику работы скрипта для избежания вопросов в будущем. Начнём пожалуй с последнего...
Самым простым примером демонстрации подсчёта ошибок пожалуй будет "угадай задуманное число".
Итак задание: один загадывает цифру от 1 до 2, а второй угадывает...
Скажем загадали 2, а вы назвали цифру 1 значит не угодали (в нашем случае допустили ошибку)!
Но встаёт вопрос, сколько ошибок вы допустили, когда не угадали задуманную цифру ?
Вы скорее всего скажите одну! а я отвечу что две %))) как так ?
Да всё очень просто с точки зрения математики. Назвав неправильное число вы совершили ошибку и в тоже время вы не назвали правильное число, что тоже является ошибкой и того 1+1=2, таким образом, выделив в кладе ненужную (неправильную) цифру, мы считаем, что вы совершили 2 ошибки (назвали неправильную цифру и не назвали правильную). Но к примеру вы взяли и назвали обе цифры (правилами не обговаривалось, что вы этого сделать не можете) в этом случае считаем кол-во допущенных вами ошибок: вы назвали неправильную цифру и заработали 2 ошибки но в тоже время вы назвали и правильную цифру и того 2-1=1 вами допущена одна ошибка (клад не откроется)
Вами правильно описан алгоритм открытия клада (хотя он не является оптимальным и единственным) поэтому самого алгоритма я касаться и не буду.
Однако давайте выясним (на пальцах) откуда всёже берётся ваша заманчивая цифра 9.
Итак поле кладов имеет размеры 5 на 6 (5*6=30) что составляет 30 цифр, данное поле разбито на 5 столбцов по 6 цифр в каждом стобце.
Скрипт рандомно в каждом столбце "загадывает" только одну цифру, таким образом, нам необходимо угадать всего 5 цифр по одной в каждом столбце (не меньше и не больше, 2 цифры в одном столбце быть не может!) в помощи это всё описано %)
Начинаем перебор с подсчётом ошибок и получением магического числа 9:
Вариант №1 - вами отмечено 6 позиций, среди которых одна верная: 5 неверных позиций = 10 ошибок (5 ошибок - отмечены неверные ячейки + 5 ошибок неотмечены верные) - 1 верная позиция = 9 ошибок
Вариант №2 - вами отмечено 8 позиций, среди которых две верных: 6 неверных позиций = 11 ошибок ( ОПА НА ! а почему не 12 ?) 5 ошибок это неотмеченные верные + 6 отмечены неверные итого 11 ошибок. 11 - 2 (верные позиции) = 9 ошибок
Вариант №3 - вами отмечено 10 позиций, среди которых три верных: 7 неверных позиций = 12 ошибок (5 ошибок это неотмеченные верные + 7 отмечены неверные) - 3 (верные позиции) = 9 ошибок
Вариант №4 - вами отмечено 12 позиций, среди которых четыре верных: 8 неверных позиций = 13 ошибок (5 ошибок это неотмеченные верные + 8 отмечены неверные) - 4 (верные позиции) = 9 ошибок
Вариант №5 - вами отмечено 14 позиций, среди которых пять верных: 9 неверных позиций = 14 ошибок (5 ошибок это неотмеченные верные + 9 отмечены неверные) - 5 (верные позиции) = 9 ошибок
Вот и все варианты когда у вас может получиться 9 ошибок.
А если кратко и локанично ответить на вопрос откуда 9 то ответ до безобразия прост, данное кол-во ошибок может получится только в том случае если вы выделяете более 5 ячеек. Для открытия клада требуется цифра 0 поэтому устанавливать 6 галочек смысла нету всегда будет ошибка %)

Aleksandr23rus
17.01.2011, 23:05
Вот это я понимаю разжевал , а вот заглотить это оч просто :)
Хотя я не думал что ошибка может вылазить в виде 9 :) просто ни когда до такой степени ошибки не делал:)

Akaiashka
19.01.2011, 19:27
Респект Wizard! Честный.
отлично расложена схема.
видимо я в суматохе открытия, когда карт по пять подряд, делал отметку 6 мест. так возникает и расклад 9 и расклад 11, который был вчера.
теперь все ясно и понятно.
з.ы. приятны сведения, что в одной колонке может быть только одна цифра - это упростит алготрим :-) я делал свой без разбивки по колонкам.

Aleksandr23rus
19.01.2011, 19:53
з.ы. приятны сведения, что в одной колонке может быть только одна цифра - это упростит алготрим :-) я делал свой без разбивки по колонкам.
Это логично :)
Разбить по калонкам :)

Akaiashka
19.01.2011, 21:18
алгоритм останется тотже. просто больше сведений. выпало в этом столбце - смысл его еще мучать? :-)
а Визарду честное спасибо. это четкая и честная инфа, наверное впервый раз за последние пять лет.