/// <summary> /// Default constructor. /// </summary> public SnakeView() { InitializeComponent(); // Create the View Model. ViewModel = new SnakeViewModel(); }
private bool IsCollisionWithBorder(SnakeViewModel snakeVM, WindowViewModel windowVM) { return(snakeVM.HeadX < 0 || snakeVM.HeadX + snakeVM.Width > windowVM.BoardWidth || snakeVM.HeadY < 0 || snakeVM.HeadY + snakeVM.Height > windowVM.WindowHeight - 40); }
private bool IsCollisionWithFood(SnakeViewModel snakeVM, FoodViewModel foodVM) { return(snakeVM.HeadX + snakeVM.Width > foodVM.X && snakeVM.HeadX < foodVM.X + foodVM.Width && snakeVM.HeadY < foodVM.Y + foodVM.Height && snakeVM.HeadY + snakeVM.Height > foodVM.Y); }
/// <summary> /// Default constructor. /// </summary> public SnakeView() { InitializeComponent(); // Create the View Model. SnakeViewModel viewModel = new SnakeViewModel(); DataContext = viewModel; // Set the data context for all data binding operations. }
private bool IsCollisionWithTail(SnakeViewModel snakeVM) { foreach (var tailPart in snakeVM.GuiTail) { if (snakeVM.HeadX == tailPart.X && snakeVM.HeadY == tailPart.Y) { return(true); } } return(false); }
/// <summary> /// Startup eventhandler. Creates components, hooks up events. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void App_Startup(object sender, StartupEventArgs e) { dataAccess = new TextFilePersistence(); model = new SnakeModel(dataAccess); model.GameOver += new EventHandler <GameOverEventArgs>(Model_GameOver); viewModel = new SnakeViewModel(model); viewModel.ExitGame += new EventHandler(ViewModel_Exit); viewModel.LoadLevel += new EventHandler(ViewModel_LoadLevel); window = new SnakeWindow(); window.DataContext = viewModel; window.Show(); }
public MainWindow() { //Initialize InitializeComponent(); background = new Rectangle(); _svm = new SnakeViewModel(); KeyDown += OnKeyDown; Field.Focus(); gameTimer = new DispatcherTimer(); DataContext = _svm; gameTimer.Tick += GameLogic; gameTimer.Interval = TimeSpan.FromMilliseconds(Params.frameDuration); DrawBackground(); Field.Children.Add(background); }
public void CollisionAction(SnakeViewModel snakeVM, FoodViewModel foodVM, WindowViewModel windowVM) { if (IsCollisionWithFood(snakeVM, foodVM)) { foodVM.GenerateNewPosition(); snakeVM.TailExtend(); } if (IsCollisionWithBorder(snakeVM, windowVM)) { snakeVM.SetToBeginningState(); } if (IsCollisionWithTail(snakeVM)) { snakeVM.SetToBeginningState(); } }
private void App_StartUp(object sender, StartupEventArgs e) { DbPersistence _dataAccess = new DbPersistence("name=SnakeModel"); _model = new SnakeModel(_dataAccess); _viewmodel = new SnakeViewModel(_model); _viewmodel.LoadGameOpen += new EventHandler(ViewModel_LoadGameOpen); _viewmodel.LoadGameClose += new EventHandler <String>(ViewModel_LoadGameClose); _viewmodel.SaveGameOpen += new EventHandler(SaveGameOpen); _viewmodel.SaveGameClose += new EventHandler <String>(SaveGameClose); _view = new MainWindow(); _view.DataContext = _viewmodel; _view.Show(); }
private void App_Startup(object sender, StartupEventArgs e) { _model = new SnakeGameModel(10); _model.GameOver += new EventHandler <SnakeEventArgs>(Model_GameOver); // nézemodell létrehozása _viewModel = new SnakeViewModel(10, _model); _viewModel.NewGame += new EventHandler(ViewModel_NewGame); _viewModel.ExitGame += new EventHandler(ViewModel_ExitGame); _viewModel.LoadGame += new EventHandler(ViewModel_LoadGame); _viewModel.SaveGame += new EventHandler(ViewModel_SaveGame); //_model = _viewModel.GameModel; _mapSize = 10; // nézet létrehozása _view = new MainWindow(); _view.DataContext = _viewModel; _view.Closing += new System.ComponentModel.CancelEventHandler(View_Closing); // eseménykezelés a bezáráshoz _view.Show(); }
public GamesViewModel() { LoginViewModel = new LoginViewModel(); ScoreboardViewModel = new ScoreboardViewModel(); TicTacToeViewModel = new TicTacToeViewModel(); PairGameViewModel = new PairGameViewModel(); RatingViewModel = new RatingViewModel(); SnakeViewModel = new SnakeViewModel(); DoorsGameViewModel = new DoorsGameViewModel(); MoneyViewModel = new MoneyViewModel(); _playerManager = new PlayerManager(); NewGameCommand = new RelayCommand(param => StartGame((string)param)); ShopCommand = new RelayCommand(param => { ShopWindow shopWindow = new ShopWindow(); shopWindow.ShowDialog(); }); ScoreboardCommand = new RelayCommand(param => { ScoreboardViewModel.Refresh(); ScoreboardView scoreboardView = new ScoreboardView(); scoreboardView.ShowDialog(); }); RatingCommand = new RelayCommand(param => { RatingView ratingView = new RatingView(); ratingView.ShowDialog(); }); PlayerEditCommand = new RelayCommand(param => { EditView editView = new EditView(); editView.ShowDialog(); }); AddMoneyCommand = new RelayCommand(param => { MoneyView moneyView = new MoneyView(); moneyView.ShowDialog(); }); StartGameTestingCommand = new RelayCommand(param => { StartGameTesting((string)param); }); BuyItemCommand = new RelayCommand(param => { if (int.Parse(param.ToString()) > Money) { MessageBox.Show("You do not have enough to buy this game.\n Consider adding money to your balance.", "Message", MessageBoxButton.OK); } else { _playerManager.AddMoney(LoginViewModel.Player.Id, -int.Parse(param.ToString())); Money = Money; } }); }
public MovementManager(SnakeViewModel snakeVM, FoodViewModel foodVM) { Locator = new LocatorViewModel(); this.snakeVM = snakeVM; this.foodVM = foodVM; }
public SnakeView() { InitializeComponent(); snakeViewModel = new SnakeViewModel(this); }