пример моделирования дискретного события - PullRequest
2 голосов
/ 27 декабря 2011

Я хочу выполнить моделирование дискретных событий в C #.Я хочу, чтобы три шара катались по экрану одновременно, следуя схеме случайного блуждания.В момент времени 1 мяч должен появиться и начать катиться, в момент времени 5 - шар 2, а в момент времени 10 - шар 3.Когда любые два шарика подойдут достаточно близко, их цвет должен измениться (пока они остаются близко).

Я очень новичок в моделировании дискретных событий, и я хочу понять, как мы это делаем в программировании на C #?какие шаги необходимы при создании модели.Я знаю графику и другие вещи.

Ответы [ 2 ]

4 голосов
/ 09 ноября 2014

Приветствуем новичков:

Использование таймеров или потоков операционной системы НЕ является способом, которым должно работать моделирование дискретных событий.Использование одного из них в качестве строительного блока может вводить в заблуждение или вводить в заблуждение.

3 голосов
/ 27 декабря 2011

Используйте таймер (перетащите его из панели инструментов на вашу форму в конструкторе или создайте его экземпляр в коде, если хотите).Дважды щелкните по таймеру, чтобы установить в вашем коде событие _Tick, которое будет запускаться каждые N миллисекунд (этим управляет свойство .Interval таймера).Установите .Interval на 1000 (1 секунда) и используйте объекты, которые отслеживают свое положение в координатах X и Y.

Используйте объект Random, чтобы сгенерировать направление следующего изменения положения шара, и в пределах события _Tick таймера обновите переменные положения для каждого из шаров.

Использование необработанных потоков тоже возможно, но Таймер дает вам некоторую часть этой мощности, не управляя всем самостоятельно.

...