Descripción del problema:
Al aprender el caso primario de Unity Bomberman, al tomar un punto vacío en el mapa,InitMap(2,2)
el valor es incorrecto.
El número de posiciones vacías adquiridas por el programa
es el siguiente:
De la figura, se puede ver que el número de posiciones vacías debe ser 21 , pero la pantalla de la consola es 19. Después de la inspección, sabemos quelasposiciones vacías en el extremo derecho columna no se incluyen en el cálculo. Causa del problema: en C#, cuando x=1 y X=2,no son iguales,el valor de -1 yel valor de 1 .(1,0)
(1,-2)
(-(X + 1)) % 2 == x % 2
(-(X + 1)) % 2
x % 2
Solución:
Usa la función de valor absolutoabs()
y luego compara, es decir
if (Mathf.Abs((-(X + 1)) % 2) == Mathf.Abs(x % 2))
{
......
}