Если все фразы заносить в теги кода, тогда даже не будут отображаться ссылки, которыми выделяются фразы. Как же тогда быть? Как же тогда выделять все фразы?Al3xandr0 писал(а):В эти:ОреЛ писал(а):поясните, пожалуйста, в какие именно теги надо заносить?[/code]Код: Выделить всё
[code]
Тогда в тексте бота не будет смайликов. Хотя бы заключать в эти тэги текст вопроса и подсказок.
Игра "Викторина"
Re: Игра "Викторина"
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
— Martin Golding
Re: Игра "Викторина"
Запросы не так часто идут к конфиг файлу.Можно конечно для уменьшения обращений к диску использовать STL контейнер map<string,string> и загрузить в него все настройки, а потом уже считывать данные с него, что намного быстрее. TStringList есть только в Borland C++, в Visual C++, GCC и др. его нету.ОреЛ писал(а):supermet, скажите, а это нормально, что для получения любого конфига ваш плагин постоянно обращается к INI-файлу? а не проще просто считать все конфиги в TStringList? Я просто не понимаю такого дела, когда для получение канала обращается к функции возврата значения переменной. Ведь всё можно делать через глобальный переменные...
Re: Игра "Викторина"
Хорошо. Буду пытаться запихнуть всё в этот STL-контейнер. Обращений к диску должно быть минимальное количество. Буду пытаться это исправить. Очень непонятная структура плагина, приходится дублировать некоторые проверки условий в разных местах. Где мне лучше проверять условие, если оно должно проверяться по окончанию вопроса и перед началом следующего?
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
— Martin Golding
Re: Игра "Викторина"
1) Супер игра запускается после текущего вопроса
Перед началом игры, будет показываться фраза, что сейчас будет супер-игра. По идее, это 52-ая фраза в таблице фраз. Если её не будет, то она автоматически будет заполнена стандартной фразой.
Также можно запускать супер-игру каждую n-ную игру, для этого в файле настроек надо написать строку настроек
super_run=n
Например:
super_run=10 - каждый 10-ый вопрос будет супер-игрой
2) Показывается количество слов
3) Сообщение о превышение лимита ответов. Не занесена во фразы, не вижу смысла. Но если надо...
Пока что тестируйте это
P.S.: скажите, что приоритетнее раньше сделать?
Перед началом игры, будет показываться фраза, что сейчас будет супер-игра. По идее, это 52-ая фраза в таблице фраз. Если её не будет, то она автоматически будет заполнена стандартной фразой.
Также можно запускать супер-игру каждую n-ную игру, для этого в файле настроек надо написать строку настроек
super_run=n
Например:
super_run=10 - каждый 10-ый вопрос будет супер-игрой
2) Показывается количество слов
3) Сообщение о превышение лимита ответов. Не занесена во фразы, не вижу смысла. Но если надо...
Пока что тестируйте это
P.S.: скажите, что приоритетнее раньше сделать?
- Вложения
-
- viktorina_vc.rar
- (102.6 КБ) 468 скачиваний
Последний раз редактировалось ОреЛ 13:52, 16.05.2011, всего редактировалось 3 раза.
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
— Martin Golding
Re: Игра "Викторина"
Вот код набросал примерныйОреЛ писал(а):Хорошо. Буду пытаться запихнуть всё в этот STL-контейнер. Обращений к диску должно быть минимальное количество. Буду пытаться это исправить. Очень непонятная структура плагина, приходится дублировать некоторые проверки условий в разных местах. Где мне лучше проверять условие, если оно должно проверяться по окончанию вопроса и перед началом следующего?
Код: Выделить всё
#include "map"
//при загрузке плагина
vector<CIniFile::Record> recs (CIniFile::GetSection("main", AskPluginTempPath()+inifile));
vector<CIniFile::Record>::iterator iter;
map<string, string> configs;
map<string,string>::iterator it;
for( iter = recs.begin(); iter != recs.end(); iter++)
{
configs[iter->Key] = iter->Value;
}
recs.clear();
it = configs.find("botname");
if( it != configs.end() )
{
botname = it->second;
}
//далее в программе
it = configs.find("status_off");
if( it != configs.end() )
{
ChangeStatus(botname, it->second);
}
//при выгрузке плагина
configs.clear();
Timer_answer (таймер ответов) перед окончанием вопроса (в эти секунды никто уже не может отвечать) останавливает себя и Timer_help (подсказки).
Затем Timer_check снова их запускает в следующем вопросе.
p.s. Кто нибудь уже проверил в работе совмещенную версию плагина, которую сделал ОреЛ?
-
- Сообщения: 74
- Зарегистрирован: 22:19, 11.11.2009
Re: Игра "Викторина"
НадоОреЛ писал(а): 3) Сообщение о превышение лимита ответов. Не занесена во фразы, не вижу смысла. Но если надо...
Бонусы будут как мне кажется наиболее интересным из всего списка)
-
- Сообщения: 74
- Зарегистрирован: 22:19, 11.11.2009
Re: Игра "Викторина"
Не работает конвертер. Выскакивает досовское окошко и больше ничего не делает.
Можно ли вернуть в шапку более трудоемкий но рабочий способ обновления базы?
Можно ли вернуть в шапку более трудоемкий но рабочий способ обновления базы?
Re: Игра "Викторина"
Конвертер иногда не срабатывает, если база открыта в плагине или другой программе. Вернул старый способ.
-
- Сообщения: 74
- Зарегистрирован: 22:19, 11.11.2009
Re: Игра "Викторина"
Еще предложение сделать что бы бот обращался к пользователю как мужчине или женщине в зависимостиот его иконки.
-
- Сообщения: 74
- Зарегистрирован: 22:19, 11.11.2009
Re: Игра "Викторина"
Бот не игнорирует себя на клиенте. В конфиге имя бота прописано правильно.ОреЛ писал(а): 3) Сообщение о превышение лимита ответов. Не занесена во фразы, не вижу смысла. Но если надо...
Но все равно получается вот такая вот дребедень
И кажется лИмит
Re: Игра "Викторина"
А вы ник меняли после того как запустили плагин или зашли на сервер с запущенным плагином? Предупреждал же, что не с конфигов тянется имя бота...LepreconSTR писал(а): Бот не игнорирует себя на клиенте. В конфиге имя бота прописано правильно.
Но все равно получается вот такая вот дребедень
И кажется лИмит
В таком случае, как у вас, пришлось включить проверку по конфигам...
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
— Martin Golding
-
- Сообщения: 74
- Зарегистрирован: 22:19, 11.11.2009
Re: Игра "Викторина"
Да зашел с включенным плагином. Т.к. мне так гораздо удобней. Нельзя ли этого как то избежать?ОреЛ писал(а):А вы ник меняли после того как запустили плагин или зашли на сервер с запущенным плагином? Предупреждал же, что не с конфигов тянется имя бота...LepreconSTR писал(а): Бот не игнорирует себя на клиенте. В конфиге имя бота прописано правильно.
Но все равно получается вот такая вот дребедень
И кажется лИмит
В таком случае, как у вас, пришлось включить проверку по конфигам...
Re: Игра "Викторина"
Подскажите, пожалуйста, или укажите, где было уже сказано, как лучше всего реализовать систему бонусов. Потому что у меня пока что только одна идея: при включенной системе бонусов, когда человек набирает подряд N-количество ответов, ему дается надбавка M, за каждый следующий ответ в цепочке правильных ответов надбавка увеличивается на M.
Пример: N=3, M=5, С-цена ответа
1 = С; 2 = С; 3 = С + М; 4 = С + 2*М; 5 = С + 3*М;... и так далее...
Пример: N=3, M=5, С-цена ответа
1 = С; 2 = С; 3 = С + М; 4 = С + 2*М; 5 = С + 3*М;... и так далее...
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
— Martin Golding
Re: Игра "Викторина"
Вы не поняли моего вопроса. Происходила ли смена ника после того, как подключились к серверу. Потому что при подключении к серверу (авторизация) устанавливается имя бота внутри плагина. Нельзя уследить момент смены ника и перезадать имя бота. Для вас я уже переделал плагин и выложил в посте выше, вот прямая ссылка на скачивание: http://www.commfort.com/ru/forum/downlo ... hp?id=2801. Должно работать в любом случае (конфига имени бота тянется как и с того пользователя, которым вы подключились к серверу или на котором запустили плагин, так и с файла конфигов)LepreconSTR писал(а): Да зашел с включенным плагином. Т.к. мне так гораздо удобней. Нельзя ли этого как то избежать?
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
— Martin Golding
Re: Игра "Викторина"
Запускаю плагин на клиенте. Пока есть несколько замечаний:
1. Количество подсказок всегда одинаковое, не зависящие от количества букв в вопросе. Это так и задумывалось?
2. Бот заносит себя в таблицу статистики. В конфиге имя бота задано верно, после запуска клиента ник не менялся.
3. Почему бы фразы не перенести в настоящее время? Т.е. вместо
1. Количество подсказок всегда одинаковое, не зависящие от количества букв в вопросе. Это так и задумывалось?
2. Бот заносит себя в таблицу статистики. В конфиге имя бота задано верно, после запуска клиента ник не менялся.
3. Почему бы фразы не перенести в настоящее время? Т.е. вместо
выводитьXXX немного подумав, угадал(а) и заработал(а) 10 балл(а,ов)
4. Настройки, судя по всему, считываются каждый раз при выдаче вопроса... Почему бы их не считывать при запуске игры?XXX немного подумав, угадывает и зарабатывает 10 балл(а,ов)