コード例 #1
0
ファイル: Game.cs プロジェクト: remy22/GameOfLife_C_Sharp
        /*
         * Having received the whole information saved in the file as to what
         * elements the game has, now this method is parsing it from string
         * and populating a new game object which could be returned to the main game and
         * take over the flow of information.
         */
        public static Game parseFromFile(String info)
        {
            //define deliminator of new line
            string [] delim = new string[1];
            delim[0]= (string)(System.Environment.NewLine);
            //split the text by new lines
            string[] splitText = info.Split(delim,System.StringSplitOptions.RemoveEmptyEntries);
            //get size from the string
            int size = Convert.ToInt32(splitText[0]);
            //get rate from the string
            int rate = Convert.ToInt32(splitText[1]);
            //create a new game object with the new size and rate
            Game theGame = new Game(size, rate);

            //set new deliminator
            delim[0] = ",";

            //start splitting each row into seperate values - for each value check if it is a zero or one and populate the cell
            for (int x = 2; x < splitText.Length; x++)
            {
                //split row into characters by the comma
                string[] array = splitText[x].Split(delim, System.StringSplitOptions.RemoveEmptyEntries);

                //for each of the characters check one or zero and set the value at row and column index to proper cell value
                for (int y = 0; y < array.Length; y++)
                {
                    //(x-2) is the row index because the 0th and the 1st element in the array for the rows (whose index is x) where size and rate
                    if (array[y] == "1") theGame.setValueAt(x - 2, y, true);
                    else theGame.setValueAt(x - 2, y, false);
                }
            }

            return theGame;
        }