Простые и сложные условия: что такое логика
Разбираем игру "Букашка"
Игра "букашка" на одной сцене. Букашка идет по дороге. Нельзя с нее свернуть – это проигрыш.
Выигрыш – добраться до финиша.
Работа с большой сценой
Как сделать сцену больше, чем у нас есть? Так же, как сделать кота движущимся – нужно несколько сцен. Тогда по мере движения букашка переползает с одного куска карты на другой.
Когда букашка подползает к краю карты, мы подкладываем ей новую сцену, и она идет дальше.
Для того, чтобы понять, как правильно перейти от одной карты к другой нам понадобиться понятие "система координат".
Мы уже знакомы с координатами точек. Для того чтобы их вычислить, нужно иметь координатные оси. А что будет, если мы нарисуем координатные оси как-то по-другому? Можем мы так сделать? Можем. А как теперь быть с координатами точки в новых координатах?
Пересчет координат в новой системе координат
Теория
Рассмотрим картинку.
На ней нарисованы 2 системы координат.
Точка О' – это начало координат в системе координат X', Y'.
Координаты точки О' в системе координат X',Y' (вопрос, пауза) – (0,0).
Координаты точки О' в системе координат X,Y (120,-70).
А наоборот, начало координат 0 в системе X, Y (-120, 70) – то же самое, только с минусом. Это и понятно.
А теперь попробуем понять, как по координате в системе X, Y рассчитать координату в системе X',Y'?
Картинка А, 0, O' является треугольником векторов.
Если вектор пройти по вектору потом пройти по вектору мы попадем в точку А. То есть мы пройдем вектор
Пройти по двум векторам – это означает их сложить. Складываем векторы мы покомпонентно, то есть координату X с X, Y с Y.
Действительно сложив вектора и мы получим (120,-70) + (-70, 110) = (120-70, -70+110) = (50, 40) – как раз вектор
Получается, что чтобы перейти от координат точки А в системе координат с началом в точке О' к системе координат с началом в точке 0 надо к вектору координат точки А прибавить вектор
Вообще-то мы, наверное хотели бы сделать наоборот, от знакомой системы с началом координат в точке 0 перейти к новой системе координат с началом в точке О'. Для этого нам надо прибавить к вектору координат точки А вектор = (-120, 70) или, что тоже, вычесть из вектора вектор = (120, -70).
Действительно,
+ = (50, 40) + (-120, 70) = -(70, 110)
Примеры
- Найдите в координатах X',Y' координаты точек В, С, D, E
- Если начало координат перенести в точку С, какими окажутся координаты точек С, 0, А, В?
Практическая работа – разбиение карты на сцены и пересчет координат.
Теперь мы покажем, как применять данные знания практически.
Каждая сцена имеет свои координаты на карте. То есть большая карта может быть разбита на две или больше сцен. У нас будет всего 2 сцены.
Развитие игры "букашка"
Вставьте сложную сцену в игру.
Сделайте свою сцену.
Добавьте букашке второй костюм (из упражнения) – и добейтесь того, чтобы букашка, когда движется, передвигала лапками.