Являясь многолетним поклонником чудесной игры под названием "дартс" и выезжая на природу, захватив с собой оный дабы поразвлечься, я всегда раздражался необходимостью списывать очки с 501 до 0 вручную. Ну и плюс со скрипом получается подсчитать хотя бы тройку эндов для оставшегося кол-ва очков.
Мне это надоело, и решил я написать софтину для КПК, дабы и мобильно и сердито. С информацией по эндам проблем нет: кинул tab control, на первой его странице валяется numeric up/down: вводишь очки, жмакаешь кнопку — в списке ниже перечень всех козможных окончаний.
Однако хочется еще доделать и автоматический учет очков, который по моим прикидкам должен работать примерно так: на первом этапе вводим имена игроков в порядке очередности подходов. Жмакаем кнопу "Начать подсчет", например. Программа последовательно (по кругу до окончания игры) показывает, какой игрок кидает дротики, показывает возможные окончания (если вышли на окончание), а также показывает контрол для быстрого ввода выбитых очков.
Вот именно с быстрым вводом выбитых очков у меня и проблемы: хочется сделать наглядно и удобно, и по возможности без юзанья input panel (бо сильно неудобняк маленькие кнопы стилом тыкать).
Проблема еще и в том, что на маленьком экране КПК информации может поместиться конечное количество, собственно.
В общем, к тебе взываю, великий и всемогущий! Заранее благодарен за ответы.
З.Ы. Пишу на С#, если это вдруг важно.
З.З.Ы. Не надо предлагать уже готовые решения, т.к. описанная задача еще и разминка для мозгов плюс расширение программистского кругозора
З.З.З.Ы. Чтобы было более понятно, о чем идет речь, ниже — скриншот с эмулятора:
<< Важно не знать, а иметь под рукой номер телефона того, кто знает. >>
Я не очень знаком с правилами дартс, но первое что приходит — рисовать на КПК мишень и тыкать в нее стилусом после каждого броска, соответственно вовремя переключаясь на нужного игрока и т.п.
Здравствуйте, Flamer, Вы писали:
F>Вот именно с быстрым вводом выбитых очков у меня и проблемы: хочется сделать наглядно и удобно, и по возможности без юзанья input panel (бо сильно неудобняк маленькие кнопы стилом тыкать).
F>З.З.Ы. Не надо предлагать уже готовые решения, т.к. описанная задача еще и разминка для мозгов плюс расширение программистского кругозора
Однако, таки предложу готовое решение, и с юзанием input panel.
Берём, например, Resco Keyboard Pro. У неё есть кнопочка [123], при нажатии на которую клавиатура переходит в цифровой режим. На панели остаётся матрица из 3×7 клавиш (цифры, точка, знаки операций, забой, Enter и выход в другие режимы), достаточно крупных, чтобы нажимать пальцем.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Я не очень знаком с правилами дартс, но первое что приходит — рисовать на КПК мишень и тыкать в нее стилусом после каждого броска
Вот будет обидно — попасть по реальной мишения, но промахнуться по картинке на экране.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Я не очень знаком с правилами дартс, но первое что приходит — рисовать на КПК мишень и тыкать в нее стилусом после каждого броска, соответственно вовремя переключаясь на нужного игрока и т.п.
Думал над этим, но экранчик маленький, мишень круглая, т.е. теряется какая-то доля пространства. Ну и плюс зоны удвоений и утроений будут такими мелкими, что попасть по ним стилом будет несколько проблематично, я думаю.
<< Важно не знать, а иметь под рукой номер телефона того, кто знает. >>
Здравствуйте, Centaur, Вы писали:
C>Однако, таки предложу готовое решение, и с юзанием input panel.
C>Берём, например, Resco Keyboard Pro. У неё есть кнопочка [123], при нажатии на которую клавиатура переходит в цифровой режим. На панели остаётся матрица из 3×7 клавиш (цифры, точка, знаки операций, забой, Enter и выход в другие режимы), достаточно крупных, чтобы нажимать пальцем.
Спасибо, возьму на рассмотрение. Однако тут речь идет скорее о юзабилити и наглядности, чем о прямом вводе цифр, составляющих число. Понимаете, когда игрок попадает утроение двадцати, скажем, гораздо нагляднее тыкнуть _один_ раз в нужное место контрола, чем вводить 2 цифры + <enter>. Т.е. экономия действий по вводу ровно в 3 раза. Да и потом — не хочется мне напрягать мозги во время игры и самопроверять себя, высчитывая в уме утроения и удвоения (пусть это и легко, но я же отдыхать буду, а не перемножать ).
Тут бы идейку наглядного контрола, не круглого (т.к. место будет теряться), а прямоугольного и наглядного. Описывается такой контрол следующим образом:
1. Содержит числа от 1 до 20, плюс два отдельных числа 25 и 50 (это то, что в центре мишени).
2. Каждое число, за исключением 25 и 50, имеет сектора удвоения и утроения этого числа (т.е. если игрок попадает в такой сектор, то число удваивается или утраивается при подсчете очков).
5. Число 50 само является частным случаем удвоения числа 25, т.е. может быть представлено как сектор удвоения числа 25.
6. Цветовая палитра на достке дартс — черно-коричневая (коричневый — цвет пробки), чередующаяся через сектор. Сектора удвоений и утроений раскрашены красным и зеленым, чередующимся через сектор.
Задачи такого контрола — быстрый и удобный ввод как самих чисел, так и их удвоений и утроений. Желательно еще бы учесть цветовую палитру самой доски, но так, чтобы не пестрело в глазах и не было путаницы — куда тыкать, чтобы выбрать утроение числа, скажем.
Стоит также учитывать, что в одном окне помимо собственно контрола ввода очков будет информация о игроке, который играет в данный момент, плюс таблица возможных окончаний для оставшихся очков. Т.е. места под контрол остается не так много.
Пока из мыслей только сетка из прямоугольников, внутри каждого прямоугольника — число, плюс в этом прямоугольнике отведены сектора для удвоения и утроения. Но мнение уважаемых коллег по прежнему интересно.
<< Грустно, когда идешь на кладбище. И уж особенно грустно — когда там остаешься. >>
F>Пока из мыслей только сетка из прямоугольников, внутри каждого прямоугольника — число, плюс в этом прямоугольнике отведены сектора для удвоения и утроения. Но мнение уважаемых коллег по прежнему интересно.
Просто в качестве размышления:
А что если вместо дополнительных секторов для удвоений и утроений использовать двойной и тройной тычок стилом? Если конечно КПК умеет такие отлавливать....
WH>И по ней такаешь. WH>Ну и undo ессно на случай если попал мимо кнопки.
Спасибо, наши пути размышлений сходны, только у тебя получше немного получилось Правда, вместо х1 просится как раз undo, т.к. x1 собственно не нужно.
Пойду отрисую в фотошопе для начала — глянем, что получится.
З.Ы. Остался один нюанс — но это уже скорее к играющим хоть изредка в дартс в 501: не секрет, что одни сектора выбиваются чаще других. Нужна статистика, в общем. Для того, чтобы расположить числа не по порядку, а по частоте их выбивания — имхо так удобней будет вводить.
<< Если человек рождается бедным и некрасивым, то в дальнейшем он имеет много шансов развить оба этих качества. >>