|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.01.2015, 20:15 | #1 |
Пользователь
Регистрация: 14.04.2012
Сообщений: 16
|
Как остановить действие до опредленного момента.
Доброго времени суток форумчане. я новичок, поэтому прошу не кидать помидорами.
Пишу программку под рулетку. Постараюсь описать все как можно подробнее. Имеется последовательность. Красное - Черное - Черное -Красное - Красное - Красное. Всего 6 пунктов. Сперва программа говорит ставить на первый пункт , то есть на красное, далее происходит ввод с клавиатуры и если выпал проигрыш, программа говорит ставить на второй пункт ( то есть черное ) и так далее пока не выиграет. После выигрыша, программа опять сразу переходит на первый пункт. для перехода к началу я использую break; Теперь представим что у меня 3 РАЗНЫЕ последовательности. И программа должна работать сразу по 3. Например в первой последовательности выиграл первый пункт, программа должна сразу начаться заново, но это она не должна делать пока не выиграют 2 другие последовательности. Вопрос в том . как сделать , чтобы процесс перехода по пунктам последовательности становился на паузу до тех пор , пока остальные не выиграют ??? Каждая последовательность написана отдельным методом. То есть как приостановить метод , пока другой метод не дойдет до определенного момента ? Код:
Последний раз редактировалось Legrandes; 14.01.2015 в 20:19. |
14.01.2015, 20:43 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ничего непонятно.
Что "остановить"? Как вы их запустите все 3 одновременно? Если ввод из консоли, то вы же можете запустить их только по очереди, как-то так: Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
14.01.2015, 20:53 | #3 |
Пользователь
Регистрация: 14.04.2012
Сообщений: 16
|
Ок тогда стоит вопрос как можно несколько методов запустить одновременно ?
Тут нужно использовать потоки ? Или есть другой способ |
14.01.2015, 20:57 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Дык дело не в методах и потоках, а в вводе от пользователя.
Смотря как это должно выглядеть, я не очень понял чего вы хотите добиться. Наверно проще не в консоли, а на форме (windows forms или wpf) с 3 полями ввода.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
14.01.2015, 21:09 | #5 |
Пользователь
Регистрация: 14.04.2012
Сообщений: 16
|
Ок. постараюсь проще объяснить.
Есть 3 цикла действий.В каждом цикле по 6 действий. Все циклы должны работать одновременно. При вводе с клавиатуры , происходят действия сразу в 3 циклах. То есть сразу 3 цикла начинают работу одновременно. При запуске будет выведено на экран " Первый цикл. Красное ? Y/N Второй Цикл. Красное ? Y/N Третий Цикл. Черное ? Y/N " Понятно что будет один вариант из двух. То есть. Если выпало красное , первые два цикла должны закончится , а третий будет продолжаться пока не будет ответ "Y". Когда и в третьем цикле будет "Y", тогда все циклы должны опять начать работу заново. Вопрос : " Если первый цикл закончился после ввода "Y", Как остановить этот цикл, до тех пор пока в других циклах не будет "Y". ? |
14.01.2015, 21:39 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так пользователь в любом случае не может вводить одновременно, даже если будет несколько потоков.
Можно просто сделать выбор что вводить. Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
15.01.2015, 07:16 | #7 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Благодарить в репутацию. Проклинать — туда же
|
15.01.2015, 09:38 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Толку тут от потоков? Все равно придется их синхронизировать для ввода пользователем (+ практически вся работа в нем и состоит).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как меняется со временем температура паяльника от момента включения (Pascal) | Mike9362 | Помощь студентам | 0 | 04.06.2012 19:28 |
Бейсик. Вычисление момента инерции,момента сопротивления площади поперечного сечения для кольца | kostia-92 | Помощь студентам | 0 | 26.06.2011 09:58 |
Как остановить Excel | kzld | Microsoft Office Excel | 5 | 07.11.2010 13:33 |
Как остановить процесс | Volkogriz | Общие вопросы Delphi | 1 | 15.01.2009 10:40 |
Как остановить поток? | Никки | Win Api | 3 | 06.12.2007 22:04 |