void CollisionPackmanProjectileToWall() { if (proj.X >= 0 && proj.Y >= 0) { if (proj.D_x != 0) { for (int x = (proj.X / 10); x < 26; x++) { if (proj.flagRunProjectilePackman) { if ( (Math.Abs(proj.X - wall.tiles[x, (proj.Y - 5) / 10].x) < 10 && Math.Abs(proj.X - wall.tiles[x, (proj.Y - 5) / 10].x) > 0 && wall.tiles[x, (proj.Y - 5) / 10].status) || (Math.Abs(proj.X - wall.tiles[x, (proj.Y + 5) / 10].x) < 10 && Math.Abs(proj.X - wall.tiles[x, (proj.Y + 5) / 10].x) > 0 && wall.tiles[x, (proj.Y + 5) / 10].status) ) { wall.tiles[x, (proj.Y - 5) / 10].RewriteTiles(proj.X, proj.Y, proj.D_x, proj.D_y, packman.name, "upRow"); wall.tiles[x, (proj.Y + 5) / 10].RewriteTiles(proj.X, proj.Y, proj.D_x, proj.D_y, packman.name, "downRow"); proj.DefaultProjectile(); } } } } if (proj.D_y != 0) { for (int y = (proj.Y / 10); y < 26; y++) { if (proj.flagRunProjectilePackman) { if ( (Math.Abs(proj.Y - wall.tiles[(proj.X - 5) / 10, y].y) < 10 && Math.Abs(proj.Y - wall.tiles[(proj.X - 5) / 10, y].y) > 0 && wall.tiles[(proj.X - 5) / 10, y].status) || (Math.Abs(proj.Y - wall.tiles[(proj.X + 5) / 10, y].y) < 10 && Math.Abs(proj.Y - wall.tiles[(proj.X + 5) / 10, y].y) > 0 && wall.tiles[(proj.X + 5) / 10, y].status) ) { wall.tiles[(proj.X - 5) / 10, y].RewriteTiles(proj.X, proj.Y, proj.D_x, proj.D_y, packman.name, "upRow"); wall.tiles[(proj.X + 5) / 10, y].RewriteTiles(proj.X, proj.Y, proj.D_x, proj.D_y, packman.name, "downRow"); proj.DefaultProjectile(); } } } } } }