Tavern | Proposals of citizens to Magistrate and the Knights of the Round Table
Pages: first | prev | 1 | 2 | 3 | 4 | 5 | next | lastAuthor | Subject | |
---|---|---|
Sir phenix
HoMM VI: Landless |
Леди Alie, 25.12.2016 16:531) Думаю, можно ограничиться вопросами с вариантами ответов 2) Можно обойтись вопросами с одним правильным ответом 3) Сколько угодно раз, но с ограничением по таймингу - не больше 1 попытки в сутки 4) Никакой результат не сохраняется(единоразово показывается в конце испытания), кроме сдачи экзамена на аттестат (после сдачи, пройти тест снова - нельзя) т.е. В конце испытания жителю показывается кол-во правильных ответов и либо предложение попытаться сдать тест завтра либо сообщение об успешном прохождении аттестата 5) Сдавшие тест жители записываются, по каждым землям любой житель может просмотреть список сдавших тест |
Special status: |
Sir Vegg
HoMM V: Landless |
по всем пунктам плюсую
|
Special status: |
Lady Alie
HoMM V: Landless |
По тех. часссти всссё ясссно.
Есссть на Портале умельцы, сссо сссвоим виртуальным сссервером и phpBB? Лень уссстанавливать apache ради одной программы Есссть желающие помочь? |
|
Sir phenix
HoMM VI: Landless |
Изначально планировалось, что сдавший все равно может пройти тест еще раз
Сэр phenix, 10.12.2011 06:24но думаю, это не обязательно, и проще будет, если сдавшим тест по выбранной версии героев будет сообщаться, что тест уже пройден и прохождение снова запускаться уже не будет. |
Special status: |
Lady Alie
HoMM V: Landless |
Вцелом должно получитьссся так:
Пользователь, впервые проходящий экзамен, нажимает "Пройти аттессстацию" -> попадает на сссписссок вопросссов ссс вариантами ответа к каждому -> выбирает правильные, по его мнению, ответы и нажимает "Сссдать" -> ему отображаетссся "Набрано n правильных ответов. Сссохранить результат?" -> есссли выбирает "Сссохранить", его результат заноссситссся в базу и вмесссто сссписсска вопросссов будет вывод "Тессст уже пройден. Правильных ответов: n". [ -> есссли не сссохраняет, а переходит на другую страницу - результат не записссываетссся и на ссследующий день сссможет ссснова пройти тессст. |
|
Sir phenix
HoMM VI: Landless |
Леди Alie, 27.12.2016 15:26 Не правильно!!! 1) Над кнопкой - "Проверка знаний по героям меча и магии:" ниже кнопка - "Сдать экзамен/тест" или "Получить аттестат" или... 2) При нажатии на кнопку, если пользователь зарегистрирован, предлагается выбрать версию героев, если нет - происходит переход на страницу регистрации с сообщением что он не зарегистрирован 3) Если житель уже имеет аттестат в этих землях, ему сообщается - "Вы уже имеете аттестат по данной дисциплине" и возможность пройти тест этому пользователю повторно в этих землях не предоставляется; если же аттестата в этих землях нет - переходим к следующему пункту (4) 4) Если у него эти земли не открыты и не выбран монстр ему предлагается это сделать и поясняется зачем, иначе переходим к пункту 6 5) Кроме предложения открыть земли и выбрать своего монстра, жителю также предоставляется вариант - продолжить без открытия земель 6) Житель предупреждается о количестве вопросов, о требуемом количестве правильных для сдачи теста и о том, что если не сможет пройти тест, повторно сможет попробовать только на следующий день 7) Предлагается либо продолжить либо попытаться позже (если нажимает продолжить, то попытка в этот день по этой версии героев уже считается) 8) Вопросы появляются строго по одному в отдельном окне и после каждого ответа, независимо от правильного или ошибочного выбора по нажатии кнопки продолжить жителю предоставляется правильный ответ с пояснением 9) После нажатия на кнопку продолжить в пояснении происходит переход к новому вопросу 10) Все это продолжается пока не закончатся все вопросы 11) После ответа на последний вопрос и прочтения пояснения к нему с правильным ответом показывается количество правильных ответов и либо тест пройден (поздравления, вручение монстра, метка о получении аттестата в таких-то землях в анкету и добавления жителя в соответствующий список) либо сообщения о провале испытания и о том что житель может попробовать сдать тест снова завтра. p.s. Никаких сохранений и никаких вариантов кроме сдал или не сдал, т.е. либо получаешь аттестат либо плевать сколько именно ты ошибок допустил твой результат все равно равен - незачет!!! и можешь попробовать сдать на следующий день... Changed 27.12.2016 17:40 by user phenix |
Special status: |
Lady Alie
HoMM V: Landless |
Модуль готов.
Выглядит так: --------------------------------------------------------------------- Вопроссс: imghst.co/36/question.png Правильный ответ: imghst.co/36/right.png Неправильный ответ: imghst.co/31/wrong.png Тессст пройден: imghst.co/39/success.png Провален: imghst.co/36/fail.png --------------------------------------------------------------------- --------------------------------------------------------------------- Так работает: Определено два класссса, один рисссует интерфейссс, второй работает ссс ответами. Всссе вопросссы, варианты ответов и правильные ответы записссываютссся изначально в отдельный нассстроечный файл, оттуда интерпретатор их сссчитывает и обрабатывает: сссравнивает ответы, например, или выводит на экран в виде текссста. Классссы - инкапсссулированы, потому можно, например, сссвободно переделывать интерфейссс, не переписссывая при этом всссю логику. Единссственное общее их требование - нассстроечный файл. --------------------------------------------------------------------- --------------------------------------------------------------------- Что осссталосссь доделать: 1. улучшшить фильтр входящих переменных. Сссейчассс он умеет только фильтровать данные на предмет несссанкционированного ввода, но не умеет фильтровать по логике: например, есссли возможные значения функции {1,2,3} то сссейчассс фильтр принимает любое чисссло (и только число), а хотелосссь чтоб принимал ещё и в верном диапазоне 0 < x < 4. 2. подготовить хвосссты для подключения к БД Портала ( "открыл->прочитал->закрыл" и "открыл->записссал->закрыл" ). 3. нассстроить COOKIE и привязать к сссессссии, чтоб ограничить доссступ пользователю к тесссту до "раз в n часссов" (n будет указыватьссся в нассстроечном файле). --------------------------------------------------------------------- --------------------------------------------------------------------- Хотелки: Может подниму у сссебя тессстовый сссервер, чтоб всссе могли потыкать и потессстить работу. Всссех ссс нассступающим!!!!!! *Ушла пить шампанское* --------------------------------------------------------------------- UPDATE --------------------------------------------------------------------- Готовый опросссник тут: Portal Test. Фильтр по времени и запрет повторного прохождения экзамена убраны на время отлова багов. Оссставила только ограничение по времени - одно прохождение в 5 минут. Что от вассс требуетссся: 1. погоняйте форму. Есссли где-то сссайт ломаетссся, ошшибки выводятссся - пишшите сссюда. Чем большше и полней фидбек - тем лучшше. Ломайте всссё: пробуйте инъекции в базу, подделывайте формы - всссё УЖЕ должно фильтроватьссся и проверятьссся. 2. напишшите сссписссок вопросссов, ответов и верные варианты. Пусссть сссам опросссник будет выглядеть подходяще. Логин: betaName Пароль: betaPass Changed 7.01.2017 18:32 by user Alie |
|
Sir Symphony Messes |
Потестил. У меня все ок.
Насчет базы вопросов, отписал в личку. |
|
Lady Alie
HoMM V: Landless |
Добавлен выбор версссии Героев: вопросссы, ответы и пояссснения будут отображатьссся пользователю в сссоответссствии ссс указаной версссией.
В сссвязи ссс учётом разных версссий, пришшлосссь переработать ссструктуру бд, методы обращения к ней и фильтр. Поссследний блокирует возможносссть повторного прохождения тессста на TIMEOUT сссекунд (определяетссся в отдельном файле) и научилссся блокировать возможносссть повторного прохождения экзамена, есссли тот уже сссдан (PASSED status). Я буду периодичессски сссбрасссывать ссстатусссы, чтоб каждый экзамен можно было прогнать большше одного раза (разбиратьссся ссс cron - недолго, но лень каюсссь). Магиссстры Sssymph и Vegg сссейчассс помогают мне ссс временным наполнением базы вопросссов. Помогите им! Актуально тем, кто занимаетссся сссо мной наполнением: парсссер, ссс нынешшним функционалом, вытассскивает данные из всссех исссходников в папке разом, но не сссортирует их по версссиям. Прийдётссся дописссать ему сссортировку. Актуально всссем: как и раньшше, новому функционалу нужен новый тессст. Помогите ссс отловом багов! Фидбек оссставляйте тут, он поможет в доработке финальной версссии. Ссссылка на сссайт, логин и пароль - те же. Changed 19.01.2017 21:58 by user Alie |
|
Sir phenix
HoMM VI: Landless |
Возможно ли сделать ограничение по времени для каждой версии отдельно?
Пример: Если прошел тест по 3ке, то ограничение по таймингу в тесте по 3ке, но тесты по другим версиям проходить можно |
Special status: |
Lady Alie
HoMM V: Landless |
Реализация - дело минут пяти, вопроссс целесссообразносссти: под каждую версссию нужно выделить по ссстолбцу в бд на пользователя. Другие ссспосссобы, не иссспользующие бд, легко обходятссся чисссткой иссстории и удалением COOKIE.
|
|
Sir phenix
HoMM VI: Landless |
Леди Alie, 20.01.2017 12:12 Какой бы способ не использовался он должен быть связан анкетой жителя на Портале, а не с его ПК. При этом разделение тайминга по версиям логично и желательно. |
Special status: |
Lady Alie
HoMM V: Landless |
Логика и желания ни при чём. Есссть сссервер, на котором хоссститссся Портал, и есссть квота на базу данных (не резиновая).
Одна ячейка памяти под одну версссию 4 байта, номер в вашшей анкете - 24962, берём по сссемь ячеек на пользователя и получаем почти 700Кб памяти. Пусссть аттессстуютссся 1000 пользователей Портала, оссставшшеессся месссто - мёртвый груз. Есссли ссс квотой проблем нет, функционал будет. |
|
Sir phenix
HoMM VI: Landless |
Если тайминг будет прописан изначально всем пользователем и вновь регистрирующимся, то потребуется еще больше памяти, и не только для тайминга...
но если он будет включаться, только для тех кто тест начал проходить и отключаться по уже пройденным версиям, то памяти потребуется в 1000 раз меньше. Предлагаю устанавливать флаг в ячейку памяти только жителям уже проходящим, но еще не прошедшим тест, у остальных эта ячейка памяти должна отсутствовать. Кроме того, если под тайминг каждого жителя будет выделено 7 ячеек памяти, то я так понимаю что и под информацию о прохождении теста в каждой версии вам также потребуется по 7 ячеек памяти? Ведь житель прошедший тест по какой-либо версии и получивший там аттестат, не должен проходить этот тест снова. |
Special status: |
Lady Alie
HoMM V: Landless |
Если тайминг будет прописан изначально всем пользователем и вновь регистрирующимся, то потребуется еще больше памяти, и не только для тайминга...В том и проблема, что память под ячейки выделяетссся вссся сссразу, а не по запросссу, и не важно будет там записссано что или нет. Так же, нельзя выделить ячейку одному пользователю, не выделив всссем оссстальным в той же таблице (в данном ссслучае, таблица пользователя). Есссли бы под ссстатуссс экзамена в каждой версссии выделяласссь ячейка, тогда можно было писссать туда и время. Но я немного пошшаманила и умессстила ссстатусссы всссех версссий в одну. Таким образом, сссейчассс программа, иссспользуя всссего 8 байт, точно знает какие верссссии пользователь прошшёл и не даёт пройти их ссснова и умеет ограничивать доссступ по времени. Но вот определять когда какую версссию экзамена проходил пользователь - без 7 новых ячеек никак. Changed 20.01.2017 20:22 by user Alie |
|
Sir phenix
HoMM VI: Landless |
А если не использовать под это таблицы БД? А как данные внешней программы?
Ведь нам совершенно не нужно знать когда какой житель проходил данный тест, важно только поставить ему ограничение на 24 часа по конкретной версии, если он ее проходил или как вариант на текущие сутки, а с началом новых календарных суток все временные флаги снимаются... Changed 20.01.2017 21:02 by user phenix |
Special status: |
Lady Alie
HoMM V: Landless |
как вариант на текущие сутки, а с началом новых календарных суток все временные флаги снимаются...Вот это - реализуемо, и расссход ячеек можно сссократить до одной. Флаги можно обнулять через cron jobs (такой календарь: запуссскает ссскрипты по времени и дате, либо ссс поссстоянным перерывом). Я подготовлю функционал и cron ссскрипт, но работать оно будет только в релизе - бесссплатный хоссстинг, на котором я развернула тессстовую версссию, не даёт доссступ к cron. А поднимать сссвой сссервер ради ссскрипта Тем более, что веб разработкой я не занимаюсссь - в хозяйссстве мне незачем. |
|
Sir phenix
HoMM VI: Landless |
Отлично.
А я пока вопросики составляю для базы вопросов по 3ке. |
Special status: |
Lady Alie
HoMM V: Landless |
Добавлена ячейка ссс флагами по версссиям и нассстроена сссоответссствующая проверка.
А я пока вопросики составляю для базы вопросов по 3ке.Отправьте мне личным сссообщением вашш почтовый адрессс - вышшлю вам формат, в котором должна быть база. |
|
Sir phenix
HoMM VI: Landless |
Леди Alie, 22.01.2017 11:25 Хех, составление файла для базы, это последняя и не самая долгая процедура... дело 10 минут... Но прежде нужно придумать и составить эти вопросы и пояснения к ним... причем у этих вопросов есть некие цели, это несколько сложнее, с учетом того что вопросы для барной стойки для этого дела совсем не годятся и 99,9% этих вопросов для нашего дела - мусор! |
Special status: |
Lady Alie
HoMM V: Landless |
Пока модуль аттессстатов находдитссся на ссстадии тессстирования. На данном этапе не важно Что находитссся в базе вопросссов, важно Как эта база работает: правильно ли отображает вопросссы, корректно сссверяет ответы, выводит информацию. Проблемы безопасссносссти, логики, функционала и т.д.
Для таких целей можно было оссставить базу в первоначальном виде: три эм... ссстранных.. вопроссса, ответы к ним, и не заморачиватьссся. Но, чтоб перевесссти это занятие в раздел "интересссных", а не просссто тыкать по кнопкам, я решшила сссоссставить базу из "Геройссских" вопросссов. Вопросссы бармена ни в коем разе не заменяют вопросссы для финальной версссии модуля и не призваны демонссстрировать их уровень. Они нужны для целоссстносссти картины! Захотел монссстр Земель Геройссских помочь - открыл экзамен, прошшёлссся лишшний раз по вопросссам огра - получил ощущение процесссса, написссал отзыв и помог сиим в доработке. А как всссё готово будет да в Портал интегрируетссся, тогда и база будет из вопросссов "для взроссслых" сссоссстоять. Так что: одно другому не мешшает, и уж явно не "мусссор"! Changed 22.01.2017 21:19 by user Alie |
|
Sir phenix
HoMM VI: Landless |
Леди Alie, а я и не высказывался о процессе тестирования...
сейчас в базу можно забить что угодно... я же хочу подготовить финальную базу вопросов по 3ке... так что, если нужны вопросы для тестирования и обкатки - мучайте Симфония базу бармена вполне может вам перевести... p.s. Как я понимаю Вы его уже мучали, потому что он жаловался... если дело касается тестовой базы - то значит правильно делали |
Special status: |
Sir Вандериэл Талатри
HoMM V: Landless |
Это всё замечательно, но какова конечная ценность результата? В чём будет отличие тех, кто прошёл тест сам и тех, кто прошёл тест по готовым ответам, а такие будут, это неизбежно.
|
Special status: |
Lady Alie
HoMM V: Landless |
Сэр Вандериэл Талатри, 24.01.2017 10:06Иссскреннеее проявление восссхищения - замечательно сссамо по сссебе. Но неплохо отвлечьссся от сссозерцания конечного продукта поиссскать цели, оным прессследуемые... ...Например, в иссстоках обсссуждения: Тест может проходить любой новичек, по тому как после каждого ответа правильного или нет будет даваться пояснение почему это так и ссылка на информацию в библиотеке или на другой источник. ....будет даватьссся пояссснение, и ссссылка на библиотеку - Алие ухмыльнулась - полагаю, любители шшпаргалок и прочие нежелающие развивать Геройссское Иссскусссство Войны, осссталисссь за бортом изначально - на мгновение задумалась - или - на корм акулам? Эх, поднимай сссэр Сссиноптик за сссим ссстолом кружку СссОКа, он бы нам поведал более полную классссификацию. А вот желающие в круиз, которые решшат всссё-таки разобратьссся почему их ответы - неверны, риссскуют задержатьссся на лайнере надолго. - изобразив карикатурную серьёзность, протянула указательный перст в лоб эльфу захрипела старческим голосом - в этом цель феникссса вижу я! |
|
Sir phenix
HoMM VI: Landless |
Сэр Вандериэл Талатри, 24.01.2017 10:06 Успешное завершение теста - это только часть общей картины... Если кто-то решит лишить себя... будет виноват в этом сам... *С загадочной улыбкой феникс растворился в огненном портале* |
Special status: |
Lady Alie
HoMM V: Landless |
Добавлен класссс ссслучайных пермутаций. Ссс его помощью можно выводить вопросссы в ссслучайном порядке (включение/выключение прописссываетссся в нассстроечном файле).
Сссэр Vegg как раз предоссставил ещё 50 вопросссов, так что эффект будет заметен. В сссвязи ссс тем, что класссс иссспользует функцию rand, очень желательно проверить ссскоросссть работы модуля на ссслабых компьютерах. Я добавила ещё пару аккаунтов: Логин: beta2, пароль: beta2 Логин: beta3, пароль: beta3 Логин: beta4, пароль: beta4 Логин: beta5, пароль: beta5 Ещё проделана тележка изменений в коде. Помимо прочего, нашшла и исссправила два бага в предыдущей версссии: 1. неправильно проверялссся проходной балл: есссли результат равен проходному, то в конце выводилосссь сссообщение SUCCESS, но экзамен не помечалссся как пройденый. 2. есссли экзамен проваливалссся, пользователя переводило на ссстраницу авторизации, а не на главную и, чтоб сссменить версссию тессста, нужно было переходить на главную вручную. Изменений много, потому тессст - необходим! У кого найдётссся минут 10 - запуссстите пару-тройку тессстов, попробуйте пройти те же экзамены разными пользователями. "У меня всссё работает" - это тоже отзыв. Только укажите вкратце что и как проверяли! А я поссстараюсссь чаще обновлять флаги. |
|
Sir Registr
HoMM V: Landless (1) |
Потестировал модуль. Скорость работы нормальная. Ничего не тормозит. Серьёзных "косяков" не выявил. Есть только не значительные замечания:
1) Если не выбрать никакой вариант ответа, и нажать на кнопку "submit". То модуль воспринимает это как не правильный вариант ответа. Желательно, исключить возможность ответить на вопрос без выбора ответа. 2) Сообщение "You've trialed this exam today", (которое появляется при попытки повторной сдачи теста), выскакивает не на зелёненькой форме как у всех остальных сообщений, а "пустом белом экране". да, и служебные сообщения, о правильном/неправильном ответе, желательно перевести на русский язык. P.S. К моменту запуска модуля в рабочем варианте, желательно бы иметь большую базу вопросов по каждой версии героев. Иначе после 2-3 неудачных попыток житель может методом тыка подобрать правильные ответы. |
|
Sir Vegg
HoMM V: Landless |
Проверил несколько раз, вроде все нормально.
Единственное замечание от меня, при повторном прохождении теста выдается сообщение: "You've trialed this exam today" и больше ничего не сделаешь, приходится вручную возвращаться на главную. Вероятно следует сделать либо автоматическое перенаправление на главную, с указанием, что тест в данных землях юзер уже проходил сегодня, либо указать ссылку на главную страницу на страничке вместе с выводимым "You've trialed this exam today". Changed 29.01.2017 05:58 by user Vegg |
Special status: |
Lady Alie
HoMM V: Landless |
Сэр Registr, 29.01.2017 05:14Так и должно быть: пуссстой ответ не равен правильному ответу А есссли сссерьёзно - я попробую реализовать проверку введения ответа в форму. Сэр Registr, 29.01.2017 05:14Доработано. Теперь ошшибки выводятссся в зелёном окошшке. Сэр Registr, 29.01.2017 05:14Ссслужебные ссообщения и ошшибки не перевожу из-за банальных проблем ссс кодировкой. У меня уссстановлена unicode, а на Портале иссспользуетссся WINDOWS-1251. Латиница отображаетссся корректно в обеих, а вот ссс кирилицей проблемы. Чтоб не переключать кодировку каждый раз, оссставила сссообщения на английссском. К релизу всссё будет переведено как должно. Сэр Registr, 29.01.2017 05:14Тут нужно учитывать один момент: посссле каждого ответа, пользователю отображаетссся правильный ответ (таковы требования к модулю). То есссть, желающему подготовить шшпаргалку никак не помешшаешшь. Ссслучайный вывод отчасссти усссложняет процесссс сссоздания, но не намного (без рандома можно просссто записссать вектор ответов, например (2, 3, 3, 2, ..., 4), ссс рандомом нужно сссопоссставлять ссс вопросссами - большше мороки ссс копированием). Что до сссамих вопросссов, их сссоссставление - это задачка ссспециалиссстам по каждой версссии. По задумке, вопросссов должно быть не меньшше 100 на каждую. Знаю, что HoMM III взял на сссебя сссэр phenix. Есссли хотите помочь ссс сссоссставлением, вам ссстоит к нему обратитьссся за подробноссстями. Сэр Vegg, 29.01.2017 05:58Доработано. Теперь версссию для новой попытки можно выбрать в том же окне. Сссэр Vegg, к ссслову, отправила вам гонцов в ответ на архив, но те вернулисссь не найдя адресссата. Точнее: Не вссстречали по дороге? P.S. Сссэр phenix, касссательно момента ссс копированием ответов: Может не ссстоит отображать правильную опцию посссле каждого ответа? Всссё равно ведь планируетссся вывод подсссказки сссо ссссылками на библиотеку и/или другие исссточники. Может лучшше оссставить только подсссказку и ссссылку, а сссдающий уже сссам для сссебя прочитает (и выпишшет ответ, есссли захочет)? Changed 29.01.2017 15:46 by user Alie |
|
Sir Vegg
HoMM V: Landless |
Леди Alie, 29.01.2017 15:37 Не было ничего. Похоже майл или гмайл глючит, и не принимает(отправляет) письма. Та же история с сэром Симфом была. Похоже придется другую почту подстраивать под портал) Отправьте тогда гонцов по адресу . Надеюсь не сильно затруднит Changed 29.01.2017 16:29 by user Vegg |
Special status: |
Tavern | Proposals of citizens to Magistrate and the Knights of the Round Table