/// <summary> /// Console version of mine sweeper /// </summary> /// <param name="args"></param> static void Main(string[] args) { var height = 4; var width = 4; var numbumbs = 4; var engine = new Engine(height, width, numbumbs); while (engine.GameState == GameState.Running) { var board = engine.GetBoardAs2DArray(); PrintBoard(board, height, width); Console.WriteLine("Row: "); var row = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Col: "); var col = Convert.ToInt32(Console.ReadLine()); var userMove = new UserMove(row, col, false); engine.MakeMove(userMove); } PrintBoard(engine.GetBoardAs2DArray(), height, width); Console.WriteLine(engine.GameState == GameState.Win ? "YOU WIN!!!" : "YOU LOSE!!!"); Console.ReadKey(); }
/// <summary> /// Initial function call when activity loads /// </summary> /// <param name="bundle"></param> protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); IsOver = false; // game not over // Set our view from the "main" layout resource SetContentView(Resource.Layout.Game); // Grab UI Componets _mineTable = FindViewById<TableLayout>(Resource.Id.mineTableLayout); MinesRemainingTextView = FindViewById<TextView>(Resource.Id.minesRemaining); Timer = FindViewById<Chronometer>(Resource.Id.chronometer); //var height = int.Parse((FindViewById<EditText>(Resource.Id.editTextHeight)).Text); //var width = int.Parse((FindViewById<EditText>(Resource.Id.editTextWidth)).Text); //var numMines = int.Parse((FindViewById<EditText>(Resource.Id.editTextMines)).Text); var numMines = int.Parse(Intent.GetStringExtra("mines") ?? "5"); var height = int.Parse(Intent.GetStringExtra("height") ?? "11"); var width = int.Parse(Intent.GetStringExtra("width") ?? "6"); NumFlags = numMines; // Create new engine with current game settings _gameEngine = new Engine(height, width, numMines); SetMinesText(); PopulateTable(); _run = true; // Set runner thread to loop _runnerThread = new Thread(new ThreadStart(Runner)); _runnerThread.Start(); // start runner }