示例#1
0
		public Controller ()
		{
			dt = DateTime.MinValue;

			players = new List<Player> ();
			board = new Board (15);
			turn = 0;
			rules = new Rules ();
			rand.Next (0, 2);
		}
示例#2
0
		public bool ValidateBoard(Board board)
		{
			for (int i = 0; i < board.GetBoardSize(); i++)
			{
				if (ValidateRow (board, true, i) == false || ValidateRow (board, false, i) == false)
				{
					return false;
				}
			}
			return true;
		}
示例#3
0
		public void applyConfig()
		{
			if (System.IO.File.Exists ("Savestate.xml") && (System.IO.File.GetLastWriteTime("Savestate.xml") > dt))
			{
				dt = System.IO.File.GetLastWriteTime ("Savestate.xml");
				State state = new State ();
				state.loadFromXML ();
				board = new Board ((char[][])state.board.Clone ());
				players = new List<Player> (state.players);
				turn = state.playerturn;
			}
		}
示例#4
0
		public bool ValidateRow(Board board, bool isvert, int row)
		{
			char current;
			string str = "";
			for (int i = 0; i < board.GetBoardSize(); ++i)
			{
				if (isvert) 
				{
					current = board.GetBoard() [row] [i];
				} 
				else 
				{
					current = board.GetBoard() [i] [row];
				}
				if (current == '#')
				{
					if (str.Length > 1)
					{
						if (ValidateWord (str) == false)
						{
							return false;
						}
					}
					str = "";
				}
				else
				{
					str += current;
				}
			}
			if (str.Length > 1)
			{
				if (ValidateWord (str) == false)
				{
					return false;
				}
			}
			return true;
		}