![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Niakita |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 22.12.2010 Репутация: нет Всего: нет |
(Моделирование: черепаха и заяц).
В этой задаче мы воссоздадим один из истинно великих моментов истории, а именно, классическую гонку черепахи и зайца. Вы будете использовать генерацию случайных чисел для разработки модели этого памятного события. Наши соперники начинают гонку в первой клетке из 70. Каждая клетка представляет собой возможную позицию вдоль трассы гонки. Первый из соперников, достигший или миновавший клетку 70, вознаграждается ведром моркови и салата. Трасса вьется по склону скользкой горы, так что соперникам случается падать на землю. Имеются часы, которые отбивают такт раз в секунду. С каждым тактом ваша программа должна устанавливать позицию животных. Начните движение печатью ГОНГ !!! И ОНИ ПОШЛИ !!! Затем на каждом такте (т.е. при каждом повторении цикла) печатайте 70-позиционную строку, показывающую букву Ч в позиции черепахи и букву 3 в позиции зайца. Может случиться, что оба животных окажутся на одной и той же клетке. В этом случае черепаха кусает зайца и ваша программа должна печатать ОХ!, начиная с этой позиции. Все печатаемые позиции, отличающиеся от Ч, 3 или ОХ!, должны быть пробелами. После печати каждой строки проверяйте, достигло или миновало животное клетку 70. Если да, то печатайте, кто победитель, и заканчивайте моделирование. Если победила черепаха, печатайте ПОБЕДИЛА ЧЕРЕПАХА!!! УРА!!! Если победил заяц, печатайте: Победил заяц. Эх. Если оба животных победили одновременно, вы можете отдать предпочтение черепахе или напечатать: Равный счет. Если ни одно животное не победило, повторяйте цикл моделирования для следующего отрезка времени. ------------------------------------------------------------ Какую функцию времени использовать для отсчёта? Как примерно это будет выглядеть? |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
надо после каждого хода делать задержку в 1сек
в windows это функция Sleep(milliseconds); т.е. основной цикл программы будет примерно такой
|
|||
|
||||
Niakita |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 22.12.2010 Репутация: нет Всего: нет |
Не могу понять то что выделено жирным шрифтом. (ход мыслей) процент времени равен 50% -> черепаха перемещается на три клетки вправо процент времени равен 20% -> черепаха перемещается на 6 клеток влево процент времени равен 30% -> черепаха перемещается на одну клетку вправо Дальше всё. Если следовать моим мыслям то возникает вопрос - процент времени от чего? (то есть что брать за 100% времени?) ну и дальше совсем немогу понять куда прикрутить вот это:
если следовать моей логике то: когда черепаха проползла половину отведённого на гонку времени (процент времени равен 50% -> черепаха перемещается на три клетки вправо) должно наступить событие (то есть нужно начать вырабатывать случайные числа) Смущает факт того, что при таких рассуждениях при наступлении одно события черепаха у меня может - быстро ползать, Скользить или Медленно ползать, хотя должна делать что то одно, в данном случае - Быстро ползать ((процент времени равен 50% -> черепаха перемещается на три клетки вправо) ). Думаю где то не там свернул. Помогите разобраться. |
|||
|
||||
qwerty233 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 3.10.2010 Репутация: нет Всего: нет |
Там же всё написано! Генерируете случайное число от 1 до 10. Если число <= 5 сдвигаете черепаху на 3 позиции в массиве вправо. Если было получено 6 или 7 сдвигаете на 6 позиций влево и т.д. Для зайца тоже самое.
|
|||
|
||||
asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
процент от общего времени гонки, т.е. просто вероятность того что они будут идти с этой скоростью. При заходе в stepIt() генерируешь случайное число от 1 до 10 как говорится в инструкции, если выпало значение от 1 до 5 для черепахи проходишь 3 клетки вправо ... , для зайца от 1 до 2 ничего не делаешь, от 2 до 4 -> 9 клеток вправо и.т.д. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |