На этом уроке мы добавим в форму класс GameCatch, Разместим таймер и наконец-таки запустим нашу игру - Шарики начнут гоняться друг за другом!
Дата отправки отчёта:
21 мая 2017 г.
Задание выполнено: за
20 мин.
Чему научился:
Понял, как сделать движение кружков.
Что было сложным:
Я еще сам не понял. Добавили в круг какие-то sx. sy. Что такое int sx = random.Next(-5, +6); int sy = random.Next(-5, +6); ? Случайное смещение начальных координат от предыдущего круга?
Комментарии:
Нашел ошибку. Не зря я писал в прошлом каменте про return Convert.ToInt16(Math.Sqrt((p.X - q.X) * (p.X - q.X) + (p.Y - q.Y) * (p.Y - q.Y)));. Возвращаемое значение было непонятном, не тольше, не то меньше инт32, так что вышло исключение. А все потому, что скобки Sqrt(( надо было две, а я одну написал, хотя никакой ошибки синтаксиса не было. Интуитивно думал, что где-то скобки должны стоять, чтобы был правильный порядок вычислений со скобками. Поэтому я и ненавижу игры из-за матана.
Как вы там 7 часов на вебинаре высидели? Я месяц делаю понемногу и уже мозги все сварились.
Здесь нет никакого матана :-) это элементарная школьная геометрия. Sqrt без дополнительных скобок вычисляет квадратный корень только первой разности. Скорее всего там получилось отрицательное число, из-за чего и вышло исключение
Научился: Закрепление материала Два варианта.
1. После передачи, сделать паузу на некоторое время в течение которого он не может голить других.
2. После передачи голи они отлетают друг от друга.