Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2013, 21:44   #1
AleksandraM
 
Регистрация: 07.05.2013
Сообщений: 3
По умолчанию Программа на delphi

Суть программы в следующем: будет три одинаковых джойстика, на них в определенный промежуток времени, около 2-х минут будут нажиматься кнопки. Если были нажаты одинаковые кнопки, хотя бы на двух джойстиках в течении 3-х секунд, то на экран необходимо вывести какое то число.
AleksandraM вне форума Ответить с цитированием
Старый 07.05.2013, 23:46   #2
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

А как общается с средствами ввода типа кнопкотыкалки программа?
hemn6vyr вне форума Ответить с цитированием
Старый 08.05.2013, 15:13   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от hemn6vyr Посмотреть сообщение
А как общается с средствами ввода типа кнопкотыкалки программа?
Сообщениями на нажатие и на отпускание кнопки - как же еще?

Цитата:
Сообщение от AleksandraM Посмотреть сообщение
Суть программы в следующем: будет три одинаковых джойстика, на них в определенный промежуток времени, около 2-х минут будут нажиматься кнопки. Если были нажаты одинаковые кнопки, хотя бы на двух джойстиках в течении 3-х секунд, то на экран необходимо вывести какое то число.
Не совсем понятно, что подразумевается под "нажиматься": должно быть нажато одновременно две кнопки в течение 3 секунд или допускаются короткие нажатия так, чтобы между отпусканием одной и нажатием другой было не более 3 секунд.

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

Если точно знать, что подразумевается под "нажиматься", вероятно, можно выбрать и более оптимальный алгоритм.
s-andriano вне форума Ответить с цитированием
Старый 08.05.2013, 15:19   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...а вопрос-то, вопрос-то в чем? Пока видна только констатация от ТС. Да и раздел на фриланс слабо похож.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.05.2013, 15:27   #5
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Сообщениями на нажатие и на отпускание кнопки - как же еще?


Не совсем понятно, что подразумевается под "нажиматься": должно быть нажато одновременно две кнопки в течение 3 секунд или допускаются короткие нажатия так, чтобы между отпусканием одной и нажатием другой было не более 3 секунд.

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

Если точно знать, что подразумевается под "нажиматься", вероятно, можно выбрать и более оптимальный алгоритм.
Я имел ввиду джойстик от денди или какого нибудь ХАбокса. Дравер там или что.
hemn6vyr вне форума Ответить с цитированием
Старый 09.05.2013, 10:14   #6
AleksandraM
 
Регистрация: 07.05.2013
Сообщений: 3
По умолчанию

Программа нужна для электронного судейства детских соревнований(так как на лицензионную у нас денег нет). Будет трое боковых судей, у каждого по джойстику, каждая кнопка которого будет обозначать определенный удар. Допустим судья №1 засчитал удар в голову, если в течении 3-х секунд с ним согласился хотя бы один, из 2-х других судей, то на экране должны отобразиться баллы.
AleksandraM вне форума Ответить с цитированием
Старый 09.05.2013, 11:51   #7
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вполне подходит алгоритм, изложенный в сообщении №3.
Остается лишь вопрос - нужно ли чистить буфер после фиксации удара. Это зависит от правил игры, в частности, может ли быть ситуация, когда в пределах 3 секунд нужно засчитывать более одного удара, причем так, что нажатия "пересекаются" во времени.
Например:
- судья 1 засчитал удар А
- судья 2 засчитал удар Б
- судья 3 засчитал удар А - срабатывание и фиксация
- судья 4 засчитал удар Б - такое может быть?
s-andriano вне форума Ответить с цитированием
Старый 09.05.2013, 12:34   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Если вы планируете использовать настоящие джойстики, то:
1- без МК вам не обойтись. Писать за вас прошивку никто не будет, но можете воспользоваться готовыми сэмплами для ардуины. Разумеется ее придется прикупить.
2- использовать удлинители USB. Для работы с джйстиком http://programmersforum.ru/showpost....68&postcount=4.

Если же кнопки будут сами по себе, то варианты:
1- использование той же ардуины http://habrahabr.ru/post/178633/
2- использование готовых плат дискретного ввода, есть промышленные USB модели, SDK производителем предоставляется
3- можно и без программирования на нижнем уровне - на регистрах, навскидку несколько 74HC165 (параллельного кода в последовательный), далее на конвертор UART/USB (есть готовые, можно и самому на CP2102)
4- можно все кнопки посадить на гирлянду сопротивлений и по токовой петле, на приемной стороне нагрузкой в напряжение и далее преобразователь напряжение-частота (ГУН). В качестве ГУН использовать классику - 555 или на инструментальном AD654. Далее, дабы не покупать внешнюю плату аналогового ввода или даже дискретного ввода, заводим нашу частоту (подобрать так, чтобы укладывалось в диапазон аудиокарты) на аудиокарту и далее ЧОТ или спектроанализ.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.05.2013, 13:54   #9
AleksandraM
 
Регистрация: 07.05.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Вполне подходит алгоритм, изложенный в сообщении №3.
Остается лишь вопрос - нужно ли чистить буфер после фиксации удара. Это зависит от правил игры, в частности, может ли быть ситуация, когда в пределах 3 секунд нужно засчитывать более одного удара, причем так, что нажатия "пересекаются" во времени.
Например:
- судья 1 засчитал удар А
- судья 2 засчитал удар Б
- судья 3 засчитал удар А - срабатывание и фиксация
- судья 4 засчитал удар Б - такое может быть?
Судей всего трое. В течение раунда они будут засчитывать различные удары, кнопок обозначающих тот или иной удар будет 6-8. Если первый судья нажал на кнопку А, то от нажатия нужно отсчитать 3 секунды, если в течение 3-х секунд еще один из судей нажмет кнопку А, то засчитать бал. Во время этих 3-х секунд может произойти такое, что второй судья нажмет кнопку В и от этого нажатия тоже надо будет отсчитывать 3 секунды, и так далее.
AleksandraM вне форума Ответить с цитированием
Старый 09.05.2013, 21:35   #10
Rero9
Новичок
Джуниор
 
Регистрация: 09.05.2013
Сообщений: 1
Печаль

Дано целое числ n и набор из n положительных вещественных чисел Вывести в том же порядке дробные части всех чисел из данного набора (как вещественные числа с нулевой целой частью), а также произведение всех дробных частей!
Rero9 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Delphi 7 romanln2012 Фриланс 8 29.11.2012 18:09
delphi программа Oliver Qeen Помощь студентам 8 11.12.2011 22:59
Народ у каво есть программа Биоритмов в Delphi или хотя бы исходник для Delphi Student_174 Помощь студентам 0 20.04.2011 12:53
программа в Delphi Селякова Елена Помощь студентам 0 22.04.2009 19:03
Программа-тест в Delphi) скиньте))а то програмку здавать преподу надо,и самой хочется понять Delphi Верчик Помощь студентам 9 02.03.2009 17:46