public MinesweeperViewModel(MinesweeperModel model)
        {
            _model             = model;
            _model.Draw       += new EventHandler(Model_OnDraw);
            _model.PlayerLost += new EventHandler <MinesweeperEventArgs>(Model_OnPlayerLost);
            _model.Loaded     += new EventHandler((x, y) => GenerateTable());

            NewGameEasyCommand   = new DelegateCommand(param => OnNewGame(6));
            NewGameMediumCommand = new DelegateCommand(param => OnNewGame(10));
            NewGameHardCommand   = new DelegateCommand(param => OnNewGame(16));
            LoadGameOpenCommand  = new DelegateCommand(async param =>
            {
                Games = new ObservableCollection <SaveEntry>(await _model.ListGamesAsync());
                OnLoadGameOpen();
            });
            LoadGameCloseCommand = new DelegateCommand(
                param => SelectedGame != null, // parancs végrehajthatóságának feltétele
                param => { OnLoadGameClose(SelectedGame.Name); });
            SaveGameOpenCommand = new DelegateCommand(async param =>
            {
                Games = new ObservableCollection <SaveEntry>(await _model.ListGamesAsync());
                OnSaveGameOpen();
            });
            SaveGameCloseCommand = new DelegateCommand(
                param => NewName.Length > 0, // parancs végrehajthatóságának feltétele
                param => { OnSaveGameClose(NewName); });

            Fields = new ObservableCollection <MinesweeperField>();
            GenerateTable();
        }
Пример #2
0
        public ActionResult Game()
        {
            MinesweeperModel minesweeper = new MinesweeperModel(90);

            Session["minesweeper"] = minesweeper;
            return(View(minesweeper));
        }
Пример #3
0
 public HomeController(ILogger <HomeController> logger, IDatabase db) // dependency injection
 {
     _logger = logger;
     _mm     = new MinesweeperModel(10, 5, 8); // store as a session variable
     // session variables stored locally in RAM
     // 5 servers load balanced
 }
Пример #4
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            IView view      = new MainWindow();
            var   model     = new MinesweeperModel();
            var   presenter = new MinesweeperPresenter(view, model);
        }
Пример #5
0
 public Minesweeper() : base()
 {
     model          = new MinesweeperModel();
     this.Text      = "Aknakereső";
     this.Resize   += OnResize;
     rnd            = new Random();
     mineCount      = originalMineCount;
     btnArray       = new Button[fieldSize.Width, fieldSize.Height];
     field          = new int[fieldSize.Width, fieldSize.Height]; //1 = mine, 0 = free space
     timer.Interval = 1000;
     timer.Tick    += new EventHandler(Timer_Tick);
     Label_Create();
     Button_Create();
 }
Пример #6
0
    public void initGame()
    {
        Random.InitState(System.DateTime.Now.Millisecond);
        rend = displayObject.GetComponent <Renderer>();
        game = new MinesweeperModel(width, height, mineCount);


        blockWidth  = numbers[0].width;
        blockHeight = numbers[0].height;

        scaledWidth  = width * blockWidth;
        scaledHeight = height * blockHeight;
        board        = new Texture2D(scaledWidth, scaledHeight);

        game.getSafeStart(out currentX, out currentY);
    }
Пример #7
0
 public void Reset()
 {
     model = new MinesweeperModel();
     field = new int[fieldSize.Width, fieldSize.Height];
     for (int i = 0; i < fieldSize.Width; i++)
     {
         for (int j = 0; j < fieldSize.Height; j++)
         {
             btnArray[i, j].Text      = "";
             btnArray[i, j].BackColor = (i + j) % 2 == 0 ? Color.FromArgb(170, 215, 81) : Color.FromArgb(162, 209, 73);
             btnArray[i, j].ForeColor = Color.Black;
             btnArray[i, j].Enabled   = true;
         }
     }
     generate     = true;
     timerCounter = 0;
     mineCount    = originalMineCount;
     SetText();
 }
        public MinesweeperPresenter(IView view, MinesweeperModel model)
        {
            _view  = view;
            _model = model;

            _view.SetPresenter(this);

            _currentDifficultMode = _model.DifficultModes["Test"];

            _model.Timer.TimeUpdated        += GameTimerUpdate;
            _model.Timer.SynchronizingObject = (ISynchronizeInvoke)_view;

            _model.Win    += Win;
            _model.Defeat += Defeat;

            StartNewGame(this, EventArgs.Empty);

            _view.StartView();
        }
        public void Initialize()
        {
            _mock = new Mock <IMinesweeperDataAccess>();
            _mock.Setup(_mock => _mock.LoadAsync(It.IsAny <string>())).Returns(
                Task.FromResult(new MinesweeperTable(6))
                );
            _mock.Setup(_mock => _mock.SaveAsync(It.IsAny <String>(), new MinesweeperTable(6)));

            _model     = new MinesweeperModel(_mock.Object);
            _mockField = new Field[, ] {
                {
                    new Field {
                        value = 1, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                    new Field {
                        value = 4, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                    new Field {
                        value = 3, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 1, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                },
                {
                    new Field {
                        value = 2, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 3, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                    new Field {
                        value = 3, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                },
                {
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                    new Field {
                        value = 3, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 3, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 3, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 4, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 2, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                },
                {
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                    new Field {
                        value = 3, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 1, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                    new Field {
                        value = 2, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                },
                {
                    new Field {
                        value = -1, fieldType = FieldType.BOMB, visible = false,
                    },
                    new Field {
                        value = 2, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 1, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 1, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 2, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 1, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                },
                {
                    new Field {
                        value = 1, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 1, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 0, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 0, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 0, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                    new Field {
                        value = 0, fieldType = FieldType.NOT_BOMB, visible = false,
                    },
                },
            };
        }