public void StartGame(IAi aiModule) { _ai = aiModule; //use the aiModule to calculate the computer movements. (probably inject to logic!) _model = new MillModel(); // nézemodell létrehozása _viewModel = new MillViewModel(_model); //_viewModel.GameEnded += GameEnded; // nézet létrehozása _view = new MainWindow(); _view.DataContext = _viewModel; _view.Show(); }
public MillViewModel(MillModel model) { _model = model; PP = true; PC = false; CC = false; PlayerChangedCommand = new DelegateCommand(PlayerSettingsChanged); Elements = new ObservableCollection <ViewElement>(); Elements.Add(new ViewElement() { X = 0, Y = 0, Parameter = "0,0", ButtonMargin = "56,44,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 0, Y = 3, Parameter = "0,3", ButtonMargin = "306,44,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 0, Y = 6, Parameter = "0,6", ButtonMargin = "554,44,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 1, Y = 1, Parameter = "1,1", ButtonMargin = "129,118,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 1, Y = 3, Parameter = "1,3", ButtonMargin = "306,118,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 1, Y = 5, Parameter = "1,5", ButtonMargin = "480,118,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 2, Y = 2, Parameter = "2,2", ButtonMargin = "202,192,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 2, Y = 3, Parameter = "2,3", ButtonMargin = "306,192,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 2, Y = 4, Parameter = "2,4", ButtonMargin = "406,192,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 3, Y = 0, Parameter = "3,0", ButtonMargin = "56,294,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 3, Y = 1, Parameter = "3,1", ButtonMargin = "129,294,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 3, Y = 2, Parameter = "3,2", ButtonMargin = "203,294,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 3, Y = 4, Parameter = "3,4", ButtonMargin = "406,294,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 3, Y = 5, Parameter = "3,5", ButtonMargin = "480,294,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 3, Y = 6, Parameter = "3,6", ButtonMargin = "554,294,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 4, Y = 2, Parameter = "4,2", ButtonMargin = "204,393,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 4, Y = 3, Parameter = "4,3", ButtonMargin = "306,393,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 4, Y = 4, Parameter = "4,4", ButtonMargin = "406,393,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 5, Y = 1, Parameter = "5,1", ButtonMargin = "129,469,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 5, Y = 3, Parameter = "5,3", ButtonMargin = "306,469,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 5, Y = 5, Parameter = "5,5", ButtonMargin = "480,469,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 6, Y = 0, Parameter = "6,0", ButtonMargin = "56,544,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 6, Y = 3, Parameter = "6,3", ButtonMargin = "306,544,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); Elements.Add(new ViewElement() { X = 6, Y = 6, Parameter = "6,6", ButtonMargin = "554,544,0,0", Dummy = -1, MillStepCommand = new DelegateCommand(MillFieldChosen) }); _model.Mill = false; _model.LastStep = "3,3"; }