public void UpdateGrid(TetrominoOnLANV2 tetromino, string IdPlayer) //заполнение массива grid { Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Обновление внутренней информации об " + tetromino.name + " с id: " + IdPlayer + " в игровом поле"); int num = GetNumPlayer(IdPlayer); for (int x = 0; x < gridArr[num].GetLength(0); x++) { for (int y = 0; y < gridArr[num].GetLength(1); y++) { if (gridArr[num][x, y] != null) { if (gridArr[num][x, y].parent == tetromino.transform) { gridArr[num][x, y] = null; Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Очищена устаревшая внутренняя информация об " + tetromino.name + " с id: " + IdPlayer + " в ячейке" + " Х: " + x + " Y: " + y); } } } } Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Удалена устаревшая внутренняя информация об " + tetromino.name + " с id: " + IdPlayer + " в игровом поле"); foreach (Transform mino in tetromino.transform) { Vector2 pos = RoundVec2(mino.position); Vector2 vec = new Vector2(pos.x - num * shiftFactorFrame, pos.y); if (ToLowerCoordinates(pos).y < gridMaxHeight && ToLowerCoordinates(vec).x < gridMaxWidth && ToLowerCoordinates(vec).x >= 0) { gridArr[num][(int)(ToLowerCoordinates(vec).x), (int)(ToLowerCoordinates(vec).y)] = mino; Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Внесенна новая внутренняя информация об " + tetromino.name + " с id: " + IdPlayer + " в ячейке" + " Х: " + ((int)vec.x / stepSize) + " Y: " + ((int)vec.y / stepSize)); } } Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Внесенна новая внутренняя информация об " + tetromino.name + " с id: " + IdPlayer + " в игровом поле"); }
public bool ItGameOver(TetrominoOnLANV2 tetromino) //Проверка на проигрыш { int num = GetNumPlayer(tetromino.IdPlayer); Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Проверка на проигрыш для " + num + " игрока"); for (int x = 0; x < gridMaxWidth; x++) { foreach (Transform tetramino in tetromino.transform) { Vector2 vec = RoundVec2(tetramino.position); if (ToLowerCoordinates(vec).y > gridMaxHeight - 1) { Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Проверка на проигрыш дала результат: " + num + " игрок проиграл"); return(true); } } } Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Проверка на проигрыш дала результат: " + num + " игрок НЕ проиграл"); return(false); }