|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2009
Сообщений: 61
|
Как упорядочить стек фишек при добавлении фишки
В казино рулетки есть стек из фишек, который формируется добавлением фишек. Подскажите, как сортировать фишки в стеке при добавлении каждой фишки по номиналу ?
|
|
|||||
Array.sort с кастомной сравнивающей функцией
|
|
|||||
Регистрация: Jun 2009
Сообщений: 61
|
Применяю и нифига не получается. Может что не так делаю.
|
|
|||||
Регистрация: Jun 2009
Сообщений: 61
|
Код работает, но там почему-то не очищается поле как надо и смещение идёт при добавлении фишек.
|
|
|||||
Потому что код не верный. Итератор в цикле возрастает, а количество фишек уменьшеается. Меня удивляет как это вообще работает и не выкидывает ошибку (хотя, что-то мне подсказывает, что ошибка все-таки вылетает).
Лучше написать так для очистки: или же для 11 плеера просто |
|
|||||
Регистрация: Jun 2009
Сообщений: 61
|
Нее. Ошибку не выдаёт, но криво написано. Понял почему.Спасибо
|
|
|||||
1. Удалять объекты не нужно
Можно просто по-порядку вставлять в нужный индекс 2. Сортировать не нужно При добавлении фишки идем с конца в начало и сравниваем значение - перестало быть > или < (в зависимости от того в какую сторону сортируем) - останавливаемся и делаем addChildAt Может здесь не критично, но при лишнем вызове addChild или addChildAt и т.д. объект попадает в область отрисовки, хотя он инкуда не двигался, а если вызывать эти методы только у перемещаемого объекта - область перерисовки останется небольшой. |
|
|||||
Modus ponens
|
> При добавлении фишки идем с конца в начало
Нет, идем всередину и с шагом уменьшающимся вдвое каждый раз идем или вправо или влево, взависимости от того, было ли значение больше или меньше. Но это если мы предполагаем, что в массиве есть незаполненные промежутки. Как я понимаю, промежутков незаполненных быть не может, т.как фишек всегда постоянное количество. Т.е. тут просто addChildAt один хватит. Или, если фишки нужно сначала рандомально перемешать, а потом сортировать, тогда наверное имеет смысл всех удалить, отсортировать и всех добавить обратно, т.как если реализовывать сортировку самому, то добавлений и удалений из списка отображения получится больше, а это затратная операция.
__________________
Hell is the possibility of sanity |
|
|||||
Цитата:
Цитата:
|
Часовой пояс GMT +4, время: 15:41. |
|
« Предыдущая тема | Следующая тема » |
|
|