Задана тональность (ключевые знаки), появляются ноты - нажимать на кнопках цифры вместо букв.
Ага, ясно, на будущее используем эту идею (если доживём до универсального тренажёра).
... и добавил:Давай глянем, что там за ТЗ, даже интересно )
Обычная кнопка сильно ограничивает разработку. Если работа идёт с картинкой, то гораздо логичнее работать с областями. Области могут быть любой формы, их легко отслеживать, изменять и управлять ими. К примеру на сайтах большинство кнопов это такиеже "картинки-области" которые реагируют на события... но есть также и стандартные кнопки типа Button, которые встречаются гораздо реже.
Ктомуже в нашем случае нужно будет работать с грифом где в случае даже с 12 ладами их количество будет 78
А, ясно, ты о грифе думаешь. Ну наверное да, гриф может (или должен) быть картинкой с областями.
Я пока думаю совсем в другую сторону — как усовершенствовать то, что уже есть. А программу с грифом представлял себе как совершенно отдельную, другую.
"ТЗ" сейчас напишу...
... и добавил:К существующей программе "добавляем возможности", получаем некий универсальный тренажёр на распознавание чего-либо (чего угодно).
1) В специальную папку кладём любые .jpg картинки оговорённого размера (например, не больше 800х600), которые потом рандомно и выдаются как "задачи" (в существующей программе — это картинки с изображениями нот на нотном стане). Папка "system" в данной программе рядом с исполняемым файлом, в ней можно оговорить всякие подпапки.
2) В другую специальную папку кладём другие .jpg картинки оговорённого размера (маленького), которые потом отображаются на кнопках. Сколько картинок, столько и возникает кнопок при запуске.
3) В специальное место кладём текстовый файл с фиксированным именем с сопоставлением кнопок и картинок, типа
ИмяФайлаКартинки_1 = ИмяФайлаКнопки_1 = Хоткей
ИмяФайлаКартинки_2 = ИмяФайлаКнопки_1 = Хоткей
ИмяФайлаКартинки_3 = ИмяФайлаКнопки_2 = Хоткей
Если картинок по пункту два просто нет, для кнопок берутся текстовые названия из этого файла. Ну, и подразумевается, что кнопок столько же или меньше, чем "задач", но никак не больше, разумеется. В качестве хоткеев, думаю, прокатят любые печатные символы, без модификаторов.
Каким-то способом (в каком-то файле же) задать, сколько кнопок в ряд размещать (просто некое число).
Окно программы должно масштабироваться (а не фиксированный размер, как есть). Если что-то не помещается (слишком много кнопок), пускай возникнет вертикальная прокрутка в окне, а "настройщик" сам разбирается, удобно ему это или нет (хотя, так играть уже нельзя, скорее всего).
Перед началом игры пользователь задаёт количество "ходов", например, 100 — значит, картинок рандомно будет выдано 100 раз, затем игра заканчивается.
Статистика просто три числа — количество ходов, время в секундах и количество ошибочных нажатий. Ошибочные нажатия подсчитываются, но не принимаются, т.е. тыкать надо до тех пор, пока не угадаешь выданную в данный момент картинку верно.
Хранить статистику вообще никак не надо, считаю. Т.е. просто показал на экране и всё.
Использовать можно для чего угодно: угадывать ноты, тональности (знаки при ключе), аккорды, интервалы. Вплоть до портретов президентов с матерными словами на кнопках. Т.е. такую программу можно использовать не только для музыки. Хоть иероглифы китайские учи.
В идеале вместо картинок-задач ещё и mp3 файлы аналогично использовать, воспроизводя их. И настройка (в каком-то файле же), которая указывает, воспроизводить один раз или циклично. Тогда можно и тренажёр для развития слуха сконфигурировать.