Страница 1 из 2

JJudge - замена Tourney Master'у =)

Добавлено: 08 июн 2007, 14:34
Slep
Пишется замена ТурниМастеру специально для fighting.ru.

Последняя версия (build 303) здесь: Скачать

Для запуска должна быть установлена последняя версия Java'ы.
Скачать ее можно здесь: http://java.sun.com/javase/downloads/index.jsp
(на момент написания поста - JDK 6u1, ее и качать)

просьба временно прикрепить тему

Добавлено: 05 июл 2007, 19:07
Slep
новая версия с экспортом в html: http://www.slep.ru/other/pcjudge214.rar

Добавлено: 06 июл 2007, 13:13
Goga
Круто, молодцы ребята! К сожелению я в этй области ничего не знаю, но последний пункт выполним:)

Добавлено: 08 июл 2007, 03:38
OverKilL.
думаю не дурно былобы добавить такую штуку как эм.. присвоение бою какого-то имени(которое будет легко доступно для копирования и вставления куда либо, в частности для записи демок) ну типа деруться я и гога в 1\2 винеров и получаем: "OverKilL. vs Goga 1.2w"

Добавлено через 12 минут(ы)
лучше чтоб это было вообще как отдельная кнопка напротив матча(в графе незавершенные матчи) нажал и оно скопировалось в буфер

Добавлено: 08 июл 2007, 06:22
hate264
Ну погнали. Сначала косметика.

** Главное меню, изменить
Чемпионат\Новый -> Чемпионат\Создать
Чемпионат\Список чемпионатов -> Чемпионат\Открыть
Чемпионат\Сохранить чемпионат -> Чемпионат\Сохранить
Чемпионат\Экспортировать в HTML -> Чемпионат\Экспорт >
Настройки\Список дисциплин -> Настройки\Дисциплины
Настройки\Список игроков -> Настройки\Игроки
Настройки\Список команд -> Настройки\Команды


** Главное меню, добавить
Чемпионат\Закрыть //закрывает текущий таб
Чемпионат\Экспорт > HTML
Чемпионат\Экспорт > TXT (участники)


** Горячие клавиши, глобальные, добавить
Ctrl + N -> Чемпионат\Новый
Ctrl + O -> Чемпионат\Открыть
Ctrl + F4, Ctrl + W -> Чемпионат\Закрыть

** Горячие клавиши, локальные, добавить
*для табконтрола
DLMB -> Чемпионат\Закрыть

* для всех окон (пока они есть)
Esc -> Чемпионат\Закрыть
либо
Esc -> "Нет"


** Глобальный тулбар, добавить (если траблы с иконками, то пока просто кнопки со словами)
Настройки\Дисциплины
Настройки\Игроки
Настройки\Команды

** Тултипсы, изменить
Уменьшить время появления. Добавить названия горячих клавиш.


** Посев Dummy-игроков (<<Empty slot>>), изменить
Dummy должны сеяться, чтобы не встретиться не только в виннерах, но и в лузерах. Короче, через одного.


** Работа с .cfg, изменить
Если .cfg создан, а потом директория перенесена, то application.run.dir и data.path показывают в никуда. Добавить проверку путей при каждом запуске и отражать их в .cfg


** Опции экспорта, добавить
Пукт меню "Чемпионат\Экспорт > TXT (участники)" должен выплевывать plain txt с никами участников чемпа, разделенными переводом каретки.


** Мессейдж боксы, исправить
На всех сделать фокус на отрицательный ответ, иначе они не будут иметь смысла.


** Все листбоксы и гриды, добваить
При создании все гриды должны быть отсортированы по первой колонке в возрастающем. Все листбоксы - без сортировки.
DLMB на названии колонки должен сортировать грид по возрастанию/убыванию. DLMB на названии листбокса - переключать asc-desc-nosort.


** Все листбоксы и гриды, добваить
Видел такое только в кастомном компоненте грида под дельфю, схожая функциональность есть в MSAccess, но там этот edit сидит в контекстном меню грида.

Под названием колонки, в первом ряду все ячейки - edit. Если в них писать, то будет происходить риалтаймовая фильтрация. Написал "А" - в гриде остались только штуки, начинающиеся на "А".


** Информация о турнире, добавить
.время начала (время генерации) и время окончания (последний занесенный результат)
.количество участников, количество <<Empty slot>>

Добавлено через 45 минут(ы)
Уже посерьезнее.

** Окно результатов, изменить
При показе фокус на радиобаттонах, первый радиобаттон активирован. Up Arrow и Down Arrow должны переключать результат. Enter -> OK и Esc -> Отмена должны работать по всему окну.


** Режим Завершенные/Незавершенные матчи, добавить
Перед парой писать стадию чемпа ([1/8], [1/4L], [1/32W]). Сортировать по возрастанию стадии. Внутри стадии отображать в том же порядке, как в сетке.


** Режим Сетка (модерн)/(классика), добавить
DLMB на любом прямоугольнике - окно добавления результата
RMB - контекстное меню:
.результат матча
.изменить участника
.удалить участника

При изменении результата выдавать мессейджбокс с подтверждением отмены и пересчета зависимых матчей.


** Режим Сетка (модерн)/(классика), добавить
На стыке линий от двух игроков нужен какой-то визуальный элемент (типа того), LMB на котором вызывает окно добавления результата


** Турнир, добавить
Undo и redo. Т. е. вести лог действий (добавление и изменение результатов и участников), который может быть <> ходам турнира. При этом в него не попадет редактирование списков.


** Режим Сетка (модерн)/(классика), исправить
Удаление участника не приводит к отмене результатов игр с ним.


** Окно "Новый чемпионат: Участники", изменить
Исключить из табстопов все, кроме грида и листбокса. При показе фокусить на грид.

Добавлено: 08 июл 2007, 10:32
hate264
"А теперь - ракета"
** Новый режим в турнирах, добавить
Будет называться "Все матчи" и будет убивать много зайцев:
.все матчи будут умещаться на одном экране или хотя бы с одним скроллбаром
.избавимся от всплывающего окошка с результатами
.будем лучше контролировать ход турнира
.тупо удобнее

Собственно, идея: вести чемпионат, гоняя курсор по листбоксу. Рабочих клавиш целых 3 штуки: вверх, вниз и Enter.

В листбоксе сверху вниз рисуются все игры турнира, даже те, для которых не определены участники. Порядок - по убывающей.

[1/4W] Exler < Ogava
[1/4W] Lermontov < Ivan
[1/2L] Exler > Lermontov
[1/2W] Ogava - Ivan
[1/2L] Exler - -
[F] - - -
[SF] - - -

Функции:
Enter, DLMB - прокрутить результат между ">" и "<"
Ctrl + C - скопировать строчку в буфер
Ctrl + Z - анду
Ctrl + R, Ctrl + Shift + Z - реду
RMB на нике участника - контекстное меню
.добавить результат //вызывает старое окошко с добавлением результата, которое может, кому-то и понадобится...
.удалить результат
.заменить участника
.удалить участника
.бай/дроп

При изменении результата/удалении участника выдавать мессейджбокс с подтверждением отмены и пересчета зависимых матчей (если они есть).
NB, см. ниже: При замене перейти к участникам (не в окне), в листбоксе списка участников выбрать заменяемого и сфокусить на списке игроков.

В этом же режиме есть
.количество прошедших матчей
.количество оставшихся матчей
.количество завершившихся матчей, которые зависят от выбранного
.чекбокс "показать зависимости", который будет подсвечивать ячейки с зависимыми матчами как вниз (быстро увидеть, что именно привело к этому итогу), так и вверх (будет полезно, чтобы узнать, кто к кому "упадет")
.грубая оценка времени (матчи * 5мин)
.уточненная оценка времени (хитрая формула, должна брать матчи * 5 за основу, а потом палить, с какой скоростью заносятся результаты, и уточнять время окончания; в ней можно попробовать учесть кол-во консолей)


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

Т. е. создаем новый чемпионат - появляется таб с ним.
Пункты левого listbox вот в таком порядке и написании:
.Информация
.Участники
.Все матчи
.Незавершенные матчи
.Завершенные матчи
.Сетка (модерн)
.Сетка (классика)

Выбрана "Информация". Доступны "Участники", остальное - серое.

------
Пункты "Дисциплина", "Турнирная система",
"Участники" и "Метод жеребьевки" сделаны combobox или listbox.
Рядом с "Дисциплиной" - кнопка редактирования списка (откроет отдельный, Настройки\Список дисциплин).
Под "Дополнительной информацией" кнопка "Участники" (или "далее").

------
"Участники" - грид и listbox. Левый - база игроков/команд (колонки: ник, город), правый - участники (только ник).

Функции левого:
LMB - фокус
RMB, Enter, Space - добавить в участников
DRMB - открыть базу с игроками/командами на выбранной, начать редактирование с ника/названия.
Ins - добавить новую запись в базу игроков, начать редактировать ник
DLMB, F2 - редактировать ячейку
Backspace - заменить выделенного

Функции правого:
LMB - фокус
RMB, Del - удалить из участников
DRMB - добавить <<Empty slot>>.
Ins - добавить новую запись в базу игроков, начать редактировать ник, считать его играющим в турнире
DLMB, F2 - редактировать ник
Backspace - заменить выделенного

При добавлении хотя бы одного участника оживает кнопка "Сгенерить сетку"/"Начать турнир"/whatever. После ее нажатия генерится сетка, оживают остальные режимы.

Добавлено: 08 июл 2007, 11:11
BioLogIn
Dummy должны сеяться, чтобы не встретиться не только в виннерах, но и в лузерах.
не, этого не требуется, а иногда и невозможно
разделенными переводом каретки.
точнее - '\r\n'
При показе фокус на радиобаттонах, первый радиобаттон активирован.
нет, это я просил, чтобы было без выбора по умолчанию. могу аргументировать.
На стыке линий от двух игроков нужен какой-то визуальный элемент (типа того), LMB на котором вызывает окно добавления результата
а пустая клетка "победителя" тебя не устраивает? имхо не надо перегружать сетко.

===
Желаете помочь с разработкой? Вы можете:
1. Приготовить иконки для кнопок/программы и т.д. Список требуемых и уже имеющихся картинок могу выслать.
2. Приготовить html-шаблоны для чампов (примерно как турней мастер экспортит. Нужно для дабла, сингла и намечается раунд-робин)
это делаем мы с тТомой

Добавлено: 08 июл 2007, 21:20
hate264
а пустая клетка "победителя" тебя не устраивает? имхо не надо перегружать сетко.
В принципе согласен, с одним "но". Нужны события onMouseOver, чтобы было очевидно, что сетка, выглядящая так же неинтерактивно, как в TM, на самом деле может воспринимать тычки мышью. В моем варианте это видно сразу.
этого не требуется
Ваи? Мб больше шансов опазданцам?
могу аргументировать
pls do so
делаем мы
Это вы поставили Dialog основным шрифтом при выгрузке? TT >_<

Добавлено: 08 июл 2007, 22:35
hate264
а пустая клетка "победителя" тебя не устраивает?
oh shi... это уже сделано. вот об этом я и говорю:
чтобы было очевидно

Добавлено: 08 июл 2007, 22:38
BioLogIn
Ваи? Мб больше шансов опазданцам?
ноес. а большесть шансов неопозданцам как же?
опять же алгоритм должен быть повторяем при ручном посеве, усложнять его не очень хочется.
в общем, наверное можно, но не очень пнятно зачем.
В принципе согласен, с одним "но". Нужны события onMouseOver, чтобы было очевидно, что сетка, выглядящая так же неинтерактивно, как в TM, на самом деле может воспринимать тычки мышью. В моем варианте это видно сразу.
ну пожалуй да, какое-нить свечение\изменение цвета онмаусовер было бы нелишне
pls do so
действие выбора игрока пользователем на мой взгляд уменьшает вероятноятность ошибочного выбора по сравнению с ситуацией, когда есть дефолтный победитель.
не попасть мышкой в баттон (и намешить ввод и отправить результат) имхо легче, чем попасть не в тот баттон.

Добавлено: 09 июл 2007, 05:09
hate264
не очень пнятно зачем
ну к, снимается
вероятноятность ошибочного выбора
к концепциям. 4ми, юзабилити >> серьюрити и юзабилити > фулпруфнес.

еще - TM можно (с матюгами и Shift + Ctrl + Tab) управлять с клавы. PCJ - невозможно в принципе.

но если будет сделан "Все матчи", то для меня острота спадет.

Добавлено: 11 июл 2007, 08:53
hate264
Реквесты у меня не закончились, но пока попридержу. <,

Добавлено: 20 июл 2007, 16:12
Слэйер Мун
Классная прога, Слеп - только что посмотрел, отличная штука вобщем.
Помимо адового списка багфиксов/аддонов от Бу и Хатя осталось создать мега-базу файтеров (дабы их не вдалбливать на каждом чампе) доступную только организаторам ф.ру - такая планируется ? По всем городам, дисциплинам и прочему =)

Добавлено: 20 июл 2007, 21:25
BioLogIn
Слэйер Мун, естественно

Добавлено: 20 июл 2007, 22:35
Слэйер Мун
Offtop
Супер, нет слов !

Добавлено: 23 июл 2007, 01:47
hate264
слепа, валерианки мало не бывает)))

Добавлено: 05 авг 2007, 18:23
Slep
Новая версия здесь.
Добавлен Round-Robin и учтены некоторые пожелания Хейта.

Добавлено: 05 авг 2007, 18:26
Слэйер Мун
http://www.slep.ru/public_html/other/PCJudge241.rar - "Да вроде нет такой страницы: /public_html/other/PCJudge241.rar
http://www.admuncher.com/cgi-bin/pr.pl?p= "

Добавлено: 05 авг 2007, 18:34
Slep
fixed

Добавлено: 07 авг 2007, 00:38
hate264
Слепа, сенкс. Смотрю, сегодня отпишусь.