Котаны, задали на дом задание написать класс который будет принимать на вход шахматную фигуру, изначальную клетку и клетку отправление и должен сказать возможен ли данный ход. Завтык случился на слоне. Язык не важен.Теоремы Сосницкого тред.
bump
>>137783852 (OP)В чем проблема?
>>137784300if (a1 != a2 and b1 != b2) and ((a1+a2+b1+b2)%2 == 0):1 условие доказывает, что слон нихуя не ладья2 доказывает, что он не может скакать с чёрной на белую и обратноНужно третье, которое докажет, что слон не может с условных a2 прыгнуть на b5
>>137784777>2 доказывает, что он не может скакать с чёрной на белую и обратно>Нужно третье, которое докажет, что слон не может с условных a2 прыгнуть на b5Все это следует из того, что слон ходит по диагонали. Тебе нужно проверить только то, находятся ли клетки на одной диагонали.(a2-a1) == (b2-b1)
>>137783852 (OP)Собственно, зачем для этого нужен класс, если это может делать метод?Ящитаю, тут городить классы - избыточно.Хотя нет, надо просто наследовать фигуры от IMovable, в котором будет определен виртуальный метод CheckMove(Position), который будет перегружен для конкретной фигуры.Но вот класс тут точно не нужен. Да и ещё принимающий на вход фигуру, клетку и клетку отправления.
>>137785208И правда, а я зациклился на доказательстве от обратного.
Алсо, твоя, ОП, задача не имеет смысла без доски с фигурами, потому что они могут перекрывать ходы друг друга.
>>137785208>(a2-a1) == (b2-b1)Но если задать:а1 = аа2 = аб1 = 1б2 = 1Условие будет верно, но такой ход невозможен.
>>137783852 (OP)> написать класс> возможен ли данный ход. Завтык случился на слоне.Тебя нахуй уже проводили? Высчитываешь линию от клетки, на которой стоил слон (x1, y1), до клетки на которую надо переместиться (x2, y2). И проверяешь стандартные условия.1) Смотришь чтобы линия была диагональю: y2-y1 == x1-x22) На всей протяжённости линии кроме (x2, y2) не должно быть фигур. Высчитать инкремент очень просто.3) (x2, y2) — либо пустая, либо с вражеской фигурой (не королём).Ну и стандартная проверка, что перемещение слона не поставит твоего короля под шах.В чём затык?
>>137787446> y2-y1 == x1-x2Да блядьy1-y2 == x1-x2
>>137787475>>137787446А, ну да, там знак не важен, надо смотреть по абсолютному значению. Ну да похуй, всё равно ты это сам должен делать.