public void readInput()
 {
     while (!initialized)
     {
         Thread.Sleep(100);
     }
     while (true)
     {
         string input = Console.ReadLine();
         if (input.Equals("pause"))
         {
             pause = true;
         }
         else if (input.Equals("unpause"))
         {
             pause = false;
         }
         else if (input.Equals("print board"))
         {
             board.printState();
         }
         else if (input.Equals("test"))
         {
             TurnByTurnChecker.performTest(getBoard);
         }
     }
 }
        public static DrawableHearthstoneBoard loadBoard(string path)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = path;
            openFileDialog1.RestoreDirectory = true;
            openFileDialog1.Title            = "Load a Board state";
            openFileDialog1.Filter           = "Board State|*.boardstate";
            openFileDialog1.CheckFileExists  = true;
            openFileDialog1.ShowDialog();


            if (openFileDialog1.FileName != "")
            {
                FileStream fs                = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
                IFormatter formatter         = new BinaryFormatter();
                DrawableHearthstoneBoard ret = (DrawableHearthstoneBoard)formatter.Deserialize(fs);

                ret.printState();

                return(ret);
            }
            return(null);
        }