Страница 6 из 7

Re: Викторина для 5 версии

Добавлено: 21:09, 22.09.2010
Yaroslav
cilvay писал(а):Вот запихнул в другой компонент
Стало лучше, но всё равно тормозит под вайном...

А ещё вот такое:
ВОПРОС: Ученый, изучающий двукрылых (мух, комаров, москитов). (9 букв)
превращается в
Ученый, изучающий двукрылы.
и, следовательно, ничего не находит.

регулярка для поиска правильной строки без тех извратов, что у тебя с удалением точки, выглядит как-то так:

Код: Выделить всё

/^ВОПРОС:\s*([^\s].*[^\s])\s*\([^(]*\)$/
либы для regexp в дельфи http://delphi.about.com/od/toppicks/tp/ ... ssions.htm

Re: Викторина для 5 версии

Добавлено: 21:55, 22.09.2010
Yaroslav
Ещё какой-то странный баг:
Вопрос до обработки: Кондитерское изделие.
Обработанный вариант: Кондитерское изделие.
Ответ найден
Ответ будет выведен через: 4376 миллисекунд
Ответ найден
Ответ будет выведен через: 4628 миллисекунд
Ответ найден
Ответ будет выведен через: 4963 миллисекунд
Ответ найден
Ответ будет выведен через: 11899 миллисекунд
Ответ найден
Ответ будет выведен через: 12469 миллисекунд
Ответ найден
Ответ будет выведен через: 7387 миллисекунд
Ответ найден
Ответ будет выведен через: 11539 миллисекунд
Ответ найден
Ответ будет выведен через: 6494 миллисекунд
Ответ найден
Ответ будет выведен через: 10052 миллисекунд
Ответ найден
Ответ будет выведен через: 5919 миллисекунд
Ответ найден
Ответ будет выведен через: 7996 миллисекунд
Ответ найден
Ответ будет выведен через: 9189 миллисекунд
Ответ найден
Вывод ответа будет пропущен
Ответ найден
Ответ будет выведен через: 9045 миллисекунд
Ответ найден
Вывод ответа будет пропущен
Ответ найден
Вывод ответа будет пропущен
Ответ найден
Ответ будет выведен через: 9342 миллисекунд
В результате не вывел ничего :)

Re: Викторина для 5 версии

Добавлено: 22:20, 22.09.2010
Yaroslav
Ещё багито:
Ответ найден
Ответ будет выведен через: 15744 миллисекунд
при том, что диапазон стоит 15000
Когда ставил 10000, то часто бывали значения около 12000

Re: Викторина для 5 версии

Добавлено: 09:46, 23.09.2010
Cilvay
Yaroslav писал(а):
cilvay писал(а):Вот запихнул в другой компонент
Стало лучше, но всё равно тормозит под вайном...

А ещё вот такое:
ВОПРОС: Ученый, изучающий двукрылых (мух, комаров, москитов). (9 букв)
превращается в
Ученый, изучающий двукрылы.
и, следовательно, ничего не находит.

регулярка для поиска правильной строки без тех извратов, что у тебя с удалением точки, выглядит как-то так:

Код: Выделить всё

/^ВОПРОС:\s*([^\s].*[^\s])\s*\([^(]*\)$/
либы для regexp в дельфи http://delphi.about.com/od/toppicks/tp/ ... ssions.htm
Так, смотри. Вопрос Ученый, изучающий двукрылых (мух, комаров, москитов). (9 букв) Он должен превратиться в
Ученый, изучающий двукрылых (мух, комаров, москитов). Но я сделал так, что слово ВОПРОС обрезается в начале. Затем Обрезается последняя часть вопроса но другим методом. Она обрезается до первой скобочки "(". Тоесть теоретически, обрезаться должно все, что стоит после скобочки в контексте (9 букв.. НО в данном случае скобочки есть раньше (мух, ком... Поэтому такие вопросы получаются глючными

Re: Викторина для 5 версии

Добавлено: 09:48, 23.09.2010
Cilvay
Yaroslav писал(а):Ещё какой-то странный баг:
Вопрос до обработки: Кондитерское изделие.
Обработанный вариант: Кондитерское изделие.
Ответ найден
Ответ будет выведен через: 4376 миллисекунд
Ответ найден
Ответ будет выведен через: 4628 миллисекунд
Ответ найден
Ответ будет выведен через: 4963 миллисекунд
Ответ найден
Ответ будет выведен через: 11899 миллисекунд
Ответ найден
Ответ будет выведен через: 12469 миллисекунд
Ответ найден
Ответ будет выведен через: 7387 миллисекунд
Ответ найден
Ответ будет выведен через: 11539 миллисекунд
Ответ найден
Ответ будет выведен через: 6494 миллисекунд
Ответ найден
Ответ будет выведен через: 10052 миллисекунд
Ответ найден
Ответ будет выведен через: 5919 миллисекунд
Ответ найден
Ответ будет выведен через: 7996 миллисекунд
Ответ найден
Ответ будет выведен через: 9189 миллисекунд
Ответ найден
Вывод ответа будет пропущен
Ответ найден
Ответ будет выведен через: 9045 миллисекунд
Ответ найден
Вывод ответа будет пропущен
Ответ найден
Вывод ответа будет пропущен
Ответ найден
Ответ будет выведен через: 9342 миллисекунд
В результате не вывел ничего :)
Это в файле с вопросами этот вопрос зачем то повторен 20 раз. Поэтому парсер на него 20 раз наткнулся, а не один

Re: Викторина для 5 версии

Добавлено: 09:49, 23.09.2010
Cilvay
Yaroslav писал(а):Ещё багито:
Ответ найден
Ответ будет выведен через: 15744 миллисекунд
при том, что диапазон стоит 15000
Когда ставил 10000, то часто бывали значения около 12000
Во! для меня это тоже загадка!
У меня сделано так: a:=random(1000)
В итоге, иногда переменная а получается 1200 и т.д. Мне кажется что нужно перед этим всем объявлять randomize;

Re: Викторина для 5 версии

Добавлено: 11:16, 23.09.2010
Yaroslav
cilvay писал(а):
Yaroslav писал(а):Ещё багито:
Ответ найден
Ответ будет выведен через: 15744 миллисекунд
при том, что диапазон стоит 15000
Когда ставил 10000, то часто бывали значения около 12000
Во! для меня это тоже загадка!
У меня сделано так: a:=random(1000)
В итоге, иногда переменная а получается 1200 и т.д. Мне кажется что нужно перед этим всем объявлять randomize;
Ну на сколько я помню из универского паскаля, то сначала randomize, а потом уже random();

Re: Викторина для 5 версии

Добавлено: 11:17, 23.09.2010
Yaroslav
cilvay писал(а):Это в файле с вопросами этот вопрос зачем то повторен 20 раз. Поэтому парсер на него 20 раз наткнулся, а не один
Прерывай цикл, если найден правильный ответ. Зачем ему колбасить лишнее :)

А ещё на тему оптимизации — зачем производится поиск, если решено не выводить ответ? :) Ты сначала проверяй рандом, а потом уже ищи (или не ищи) ответ.


И по поводу скобок — это же баг :) ты предположил, что в самом вопросе не будет скобок. Но таких вопросов много.
Заюзай мою регулярку и не будет такой проблемы. Или, если не хочешь регулярку, определяй позицию первой с конца открывающей скобки или последней открывающей скобки с начала. Не знаю как в дельфи с этим дела обстоят, но в пэхопэ есть спец. финкции для таких хитрых манипуляций. strpos — позиция первого входжения, strrpos позиция последнего вхождения (первого справа).

Re: Викторина для 5 версии

Добавлено: 08:29, 25.09.2010
DriverZX-10
Привет Всём :!:
Ребят сори,сори за ламерский вопрос-а в чём разница между клиентским и серверным плагином?И зачем вообще клиентский плагин?Судя по его названию он будет работать только у одного клиента?Или же всем клиентам чата его необходимо ставить?Я не понимаю ни фига :( Просто тока перешли на 5-й сервак,а на 4.41 все боты стояли на сервере.

Re: Викторина для 5 версии

Добавлено: 09:09, 25.09.2010
•NormaBot•
DriverZX-10 писал(а):Привет Всём :!:
Ребят сори,сори за ламерский вопрос-а в чём разница между клиентским и серверным плагином?И зачем вообще клиентский плагин?Судя по его названию он будет работать только у одного клиента?Или же всем клиентам чата его необходимо ставить?Я не понимаю ни фига :( Просто тока перешли на 5-й сервак,а на 4.41 все боты стояли на сервере.
Обьясняю.Боты вообще то ставятся только на клиент.До 5-ки по всей видимости у вас просто боты стояли у того у кого и был сервер.Чем отличатся клиентсткие и серверные плагины.Объясню на счёт игр.Если он стоит на клиенте,то его так сказать хозяин должен всегда находится в чате чтобы шла игра.Если же стоит на сервере,то присутствие уже не обязательно,так как игра идёт уже так сказать сама по себе.Чтобы вам играть в викторину плагин нужен только тому кто и будет её вести.Можно так сказать что это тоже как бы бот,просто работающий по другому принципу. :D

Re: Викторина для 5 версии

Добавлено: 09:40, 25.09.2010
@serg@
•NormaBot• писал(а):
DriverZX-10 писал(а):Привет Всём :!:
Ребят сори,сори за ламерский вопрос-а в чём разница между клиентским и серверным плагином?И зачем вообще клиентский плагин?Судя по его названию он будет работать только у одного клиента?Или же всем клиентам чата его необходимо ставить?Я не понимаю ни фига :( Просто тока перешли на 5-й сервак,а на 4.41 все боты стояли на сервере.
Обьясняю.Боты вообще то ставятся только на клиент.До 5-ки по всей видимости у вас просто боты стояли у того у кого и был сервер.Чем отличатся клиентсткие и серверные плагины.Объясню на счёт игр.Если он стоит на клиенте,то его так сказать хозяин должен всегда находится в чате чтобы шла игра.Если же стоит на сервере,то присутствие уже не обязательно,так как игра идёт уже так сказать сама по себе.Чтобы вам играть в викторину плагин нужен только тому кто и будет её вести.Можно так сказать что это тоже как бы бот,просто работающий по другому принципу. :D
Немного поправлю, раньше чтоб подключить бота было необходимо запустить на одной машине в сети клиента чата, на которую подключается бот, сейчас такая-же ситуация с клиентским плагином, при этом плагин/бот работает от имени пользователя клиента. А серверный плагин ставится на серверной стороне чата, он сам создаёт себе пользователя и работает от имени этого пользователя.

Код: Выделить всё

Судя по его названию он будет работать только у одного клиента?
нет, он может работать у кого угодно, точней у любых клиентов.
а на 4.41 все боты стояли на сервере
опять ошибаешься он стоял на машине сервере, на котором были запущены и сервер и клиент чата, и подсоединялся он к клиенту.

Re: Викторина для 5 версии

Добавлено: 10:31, 25.09.2010
DriverZX-10
•NormaBot•,@serg@
Спасиб,всё терича понятненько :!:

Re: Викторина для 5 версии

Добавлено: 17:46, 27.09.2010
Cilvay
Финалка

Re: Викторина для 5 версии

Добавлено: 16:08, 28.09.2010
ОреЛ
cilvay писал(а):Финалка
Раз уж ты её разрабатывал, то добавь-ка ты изменение в программе в виде внесения собственного начала вопроса.
Ибо в викторине можно ВОПРОС сменить на Вопрос, и всё...

Re: Викторина для 5 версии

Добавлено: 19:07, 28.09.2010
NoNames34
Это конечно замечательно- новый плагин и все такое. Но жаль что развитие самого плагина викторины тормознулось.