private static void FillGameMatrix() { removable_wall_possibles.Clear(); for (int i = 0; i <= GameMatrix.GetUpperBound(0); i++) { for (int j = 0; j <= GameMatrix.GetUpperBound(1); j++) { //falak behlyezése if (i % 2 == 1 && j % 2 == 1) { GameMatrix[i, j] = (int)Enums.FieldTypes.wall; } else { GameMatrix[i, j] = (int)Enums.FieldTypes.basic; //kirobbantható falak helyei lehetnek if (!( (i == 0 && j == 0) || i == 1 && j == 0 || (i == 0 && j == 1) || (i == GameMatrix.GetUpperBound(0) && j == GameMatrix.GetUpperBound(1)) || (i == GameMatrix.GetUpperBound(0) && j == GameMatrix.GetUpperBound(1) - 1) || (i == GameMatrix.GetUpperBound(0) - 1 && j == GameMatrix.GetUpperBound(1)) )) { Position p = new Position(); p.X = i; p.Y = j; removable_wall_possibles.Add(p); } } } } }
public static void GameMatrixItemAdd(int x, int y, Enums.FieldTypes fieldTypes) { if (x > GameMatrix.GetUpperBound(0) || y > GameMatrix.GetUpperBound(1)) { return; } GameMatrix[x, y] = (int)fieldTypes; }
public static bool CheckField(int left, int top, List <Enums.FieldTypes> fieldTypes) { if (left > GameMatrix.GetUpperBound(0) || top > GameMatrix.GetUpperBound(1) || left < 0 || top < 0) { return(false); } foreach (Enums.FieldTypes item in fieldTypes) { if (GameMatrix[left, top] == (int)item) { return(true); } } return(false); }
public static List <Position> GetWallPositions() { List <Position> positions = new List <Position>(); for (int i = 0; i <= GameMatrix.GetUpperBound(0); i++) { for (int j = 0; j <= GameMatrix.GetUpperBound(1); j++) { if (GameMatrix[i, j] == (int)Enums.FieldTypes.wall) { Position p = new Position(); p.X = i * field_width + (field_width / 2); p.Y = j * field_height + (field_height / 2); positions.Add(p); } } } return(positions); }