Im новый для мира кодирования и начал кодирование шахматной доски с XNA в C#. Я получил этот кусок кода, который, как мне кажется, должен быть применен в методе уменьшения беспорядка и повышения эффективности, но Im не совсем уверен, как это сделать.Есть ли более эффективный способ сделать это?
if (movement.isSelected == false)
{
if (movement.PawnBl1pos.X <= movement.mouseCord.X
&& movement.PawnBl1pos.X + 100 >= movement.mouseCord.X
&& movement.PawnBl1pos.Y <= movement.mouseCord.Y
&& movement.PawnBl1pos.Y + 100 >= movement.mouseCord.Y)
{
movement.PawnBl1Col = Color.Red;
movement.isSelected = true;
}
}
У меня есть 32 разных спрайта, и текущий план состоит в том, чтобы скопировать этот код для каждого спрайта. movement.PawnBl1pos - это Vector2 для 1-й черной пешки, и все, что мне нужно сделать, это заменить векторы для каждой части.
Можно ли изменить этот бит кода для каждой части без простой копии? Я уверен, что термин для этого будет полиморфизмом?
(movement.PawnBl1pos.X <= movement.mouseCord.X
&& movement.PawnBl1pos.X + 100 >= movement.mouseCord.X
&& movement.PawnBl1pos.Y <= movement.mouseCord.Y
&& movement.PawnBl1pos.Y + 100 >= movement.mouseCord.Y)
Это не полиморфизм. Полиморфизм - более правильно * Политизм подтипа * - это идея, что «если мой метод может кормить * любое животное *, то я могу использовать его для питания жирафа *». –