/// <summary> /// Method converts splitted string to highest field value and field values /// </summary> /// <param name="highestValue"></param> /// <param name="gameBoardModel"></param> public void ImportGameBoardModelFromString(string highestValue, string gameBoardModel) { this.highestValue = (FieldValue)Math.Pow(2, TranslateData.TranslateCharToNumber(highestValue[0])); int fieldValue = 0; EmptyFieldsPosition emptyFieldsPositions = EmptyFieldsPosition.Instance; emptyFieldsPositions.ClearListOfEmptyFields(); for (int z = 0; z < numberOfLayers; z++) { for (int x = 0; x < boardSize; x++) { for (int y = 0; y < boardSize; y++) { fieldValue = (int)Math.Pow(2, TranslateData.TranslateCharToNumber( gameBoardModel[z * boardSize * boardSize + x * boardSize + y])); if (fieldValue > 1) { this.fields[z][x, y] = (FieldValue)fieldValue; } else { this.fields[z][x, y] = FieldValue.empty; emptyFieldsPositions.AddEmptyFieldToList(z, x, y); } } } } }
/// <summary> /// Method converts splitted string to game settings /// </summary> /// <param name="boardSize"></param> /// <param name="numberOfLayers"></param> /// <param name="numberOfFieldsToAdd"></param> /// <param name="targetFieldValue"></param> /// <param name="continuousGame"></param> public void ImportSettingsFromString(string boardSize, string numberOfLayers, string numberOfFieldsToAdd, string targetFieldValue, string continuousGame) { this.boardSize = TranslateData.TranslateCharToNumber(boardSize[0]); this.numberOfLayers = TranslateData.TranslateCharToNumber(numberOfLayers[0]); this.numberOfFieldsToAdd = TranslateData.TranslateCharToNumber(numberOfFieldsToAdd[0]); this.targetValueOfTheField = (FieldValue)Math.Pow(2, TranslateData.TranslateCharToNumber(targetFieldValue[0])); if (TranslateData.TranslateCharToNumber(continuousGame[0]) == 0) { this.ifTheGameIsOver = false; } else { this.ifTheGameIsOver = true; } }