} // Номер строки клетки с которой произошло столкновение /// <summary> /// Проверяет столкновение героя с игровыми клетками /// </summary> /// <param name="hero">Герой</param> public static void HCollisionWithCell(Eric hero) { for (int i = 0; i < 8; i++) { for (int j = 0; j < 17; j++) { if (hero.CheckCollision(Map.GameMap[i, j].Rectangle)) { hero.IsCollision = true; LocationCellCollistion = Map.GameMap[i, j].Location; RowIndexCollision = i; CollumnIndexCollision = j; break; } else { hero.IsCollision = false; } } if (hero.IsCollision) { break; } } }
public void Start(string patch) { string[] _LevelName = File.ReadAllLines(patch); int _X = 0; int _Y = 0; for (int i = 0; i < 8; i++) { string str = _LevelName[i]; for (int j = 0; j < 16; j++) { char ch = str[j]; if (ch == '+') { Map.GameMap[i, j].Enabled = true; Map.GameMap[i, j].i = i; Map.GameMap[i, j].j = j; Map.GameMap[i, j].Location = new Vector2(_X, _Y); } _X += 80; } _X = 0; _Y += 80; } eric = new Eric(Game, Map.GameMap[3, 3].Location); }
/// <summary> /// Проверяет столкновение героя с игровыми клетками /// </summary> /// <param name="hero">Герой</param> public static void HCollisionWithCell(Eric hero) { for(int i = 0; i < 8; i++) { for (int j = 0; j < 17; j++) { if (hero.CheckCollision(Map.GameMap[i, j].Rectangle)) { hero.IsCollision = true; LocationCellCollistion = Map.GameMap[i, j].Location; RowIndexCollision = i; CollumnIndexCollision = j; break; } else hero.IsCollision = false; } if (hero.IsCollision) break; } }