let snakeWidth, snakeHeight, /* ширина и высота квадрата, я так понимаю, у вас это переменная box */
snakeX, snakeY, /* координаты x,y верхнего левого угла квадрата головы первой змеи */
secondSnakeX, secondSnakeY; /* координаты x,y верхнего левого угла квадрата хвоста второй змеи */
/* Массив координат 4х углов квадрата головы первой змеи */
let coordsFirstSnake = [
[snakeX, snakeY],
[snakeX + snakeWidth, snakeY],
[snakeX, snakeY + snakeHeight],
[snakeX + snakeWidth, snakeY + snakeHeight]
];
/* Массив координат 4х углов квадрата хвоста второй змеи */
let coordsSecondSnake = [
[secondSnakeX , secondSnakeY],
[secondSnakeX + snakeWidth, secondSnakeY],
[secondSnakeX , secondSnakeY + snakeHeight],
[secondSnakeX + snakeWidth, secondSnakeY + snakeHeight]
];
/* В первом цикле перебираем координаты головы первой */
for (let coordFirst of coordsFirstSnake) {
/* Во втором сравниваем каждую координату с координатами хвоста второй */
for (let coordSecond of coordsSecondSnake) {
if (coordFirst[0] == coordSecond[0] && coordFirst[1] == coordSecond[1])
console.log('координаты совпали! ' + coordFirst[0] +',' + coordFirst[1] + ' ' + coordSecond[0] + ',' + coordSecond[1]);
}
}
<script src="{{ asset('js/app.js') }}"></script>
Предметы:
id предмета и прочие атрибуты
Предметы, купленные пользователем: (та самая pivot таблица, belongsToMany)
id пользователя, id урока
Расписание:
id расписания, id пользователя, день недели, дата и прочее, что нужно
-- Если один предмет может относиться к нескольким расписаниям у пользователя, то
Уроки:
id расписания, id предмета, время урока
-- Если один предмет может относиться только к одному расписанию, то
Предметы, купленные пользователем:
id пользователя, id урока, id расписания, к которому предмет и будет относиться
Тут уже уроки не нужны.