2016-12-03 9 views
0

Я сделал твич-бот для очков, и теперь мне нужно! Команда top10, я заставил ее прочитать мой файл points.ini, и если содержит имя канала, которое я использую для хранения количества точек и имен пользователей в именах пользователей Top10 и pointsTop10 ,Обмен данными в массивах

Мне нужно теперь цитировать весь документ и сравнивать точки, а затем менять точки и имя пользователя, если у newUser больше очков.

Эти шаги:

1) получить первое имя в файле.
2) получить очки этого пользователя.
3) запись как в соответствующих массивах.
4) получить следующее имя пользователя.
5) получить очки этого пользователя.
6) сравнить точки против всего массива и вставить в точке, где они имеют больше очков, чем у последнего человека, и меньше очков, чем на следующий человек Повторите шаги с 4 по 6 до конца файла

Вот код: http://pastebin.com/PztMj9Nw (я не мог пропустить его здесь, dunno why)

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

Заранее благодарим за любую помощь!

+0

Пожалуйста, ознакомьтесь с [Задать] и взять [тур] это сделает вас умнее, по крайней мере, о том, как работает SO – Plutonix

+0

Почему вы используете текстовый файл, чтобы сохранить счет? Я думаю, что будет JSON гораздо лучше. – Danny

ответ

0

Возможно, помощь может помочь с точки зрения дизайна.

Я предполагаю, что вы сохраняете текущий топ-10 в каком-то массиве?

Если это так, вы должны получить доступ к этому верхнему 10 массиву и найти пользователя с наименьшими точками. Следите за этим значением. Допустим, мы называем эту переменную «порог».

  • Чтобы обновить список 10 лучших, пройдите через свой файл, называя GetPoints для каждого пользователя. Если вы найдете пользователя с пороговым значением «точка»>, удалите самого низкого пользователя из top10 и замените его на этого нового пользователя. Обязательно обновите новое пороговое значение.

  • Повторяйте это, пока вы больше не сможете найти пользователей с большим количеством очков, чем ваш порог.

  • Кроме того, если вы хотите сохранить свой 10 лучших, вы можете реализовать простой алгоритм сортировки.

+0

yup Я храню в строке usernamesTop10 и int pointsTop10 массивов, и как я мог бы набить самого низкого пользователя из top10? – huragchina