Exemple #1
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="grid">Het grid waar de kaarten in komen</param>
        /// <param name="cols"> hoeveel kolommen het grid krijgt</param>
        /// <param name="rows"> hoeveel rijen het grid krijgt</param>
        /// <param name="diff"> of alle kaartjes in 1x geladen kunnen worden</param>
        public MultiPlayerGame(Grid grid, int cols, int rows, bool diff)
        {
            theme = app.currentTheme;

            _diff = diff;

            if (theme != string.Empty)
            {
                _grid = grid;
                _cols = cols;
                _rows = rows;

                SetGameGrid(_cols, _rows);
                GetImagesList();
                AddImages();
                SetBackground();
                Scores.SetScore((string)player1score.ToString(), 1);
                Scores.SetScore((string)player2score.ToString(), 2);
                Scores.SetPlayerTurn(currentplayer);
            }
            else
            {
                ((WindowViewModel)((MainWindow)Application.Current.MainWindow).DataContext).CurrentPage = ApplicatiePage.Newgame;
            }
        }
Exemple #2
0
 /// <summary>
 /// refresht de informatie aan het GameGrid.
 /// </summary>
 private void ResetGameGrid()
 {
     Timer.Resetbutton();
     _grid.Children.Clear();
     _grid.RowDefinitions.Clear();
     _grid.ColumnDefinitions.Clear();
     images.Clear();
     currentplayer = 0;
     player1score  = 0;
     player2score  = 0;
     correctcount  = 0;
     Scores.SetScore((string)player1score.ToString(), 1);
     Scores.SetScore((string)player2score.ToString(), 2);
     Scores.SetPlayerTurn(currentplayer);
 }
Exemple #3
0
        /// <summary>
        /// houdt de klik actie bij van de user wanneer die op een plaatje klikt.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void CardClick(object sender, MouseButtonEventArgs e)
        {
            if (allowclick == true)
            {
                Sound1.Open((new Uri("Assets/Themes/Warcraft/Audio/click.wav", UriKind.Relative)));
                Sound1.Play();

                Image       card  = (Image)sender;
                ImageSource front = (ImageSource)card.Tag;
                card.Source = front;
                List <ImageSource> images = GetImagesList();

                if (firstGuess == null)
                {
                    firstGuess = card;
                    Console.WriteLine("First guess is set");
                    firstGuess.MouseDown -= new MouseButtonEventHandler(CardClick);
                    return;
                }

                if (card.Source.ToString() == firstGuess.Source.ToString() && card != firstGuess)
                {
                    //GOED GEKLIKT
                    Sound2.Volume = 0.3;
                    Sound2.Open((new Uri("Assets/Themes/Warcraft/Audio/matched.wav", UriKind.Relative)));
                    Sound2.Play();
                    correctcount += 2;
                    Console.WriteLine("Goedzo");
                    firstGuess.Opacity    = 0.5;
                    card.Opacity          = 0.5;
                    firstGuess.MouseDown -= new MouseButtonEventHandler(CardClick);
                    card.MouseDown       -= new MouseButtonEventHandler(CardClick);
                    if (currentplayer == 0)
                    {
                        player1score++;
                        score1.Content = player1score;
                        Scores.SetScore((string)score1.Content.ToString(), 1);
                    }
                    else
                    {
                        player2score++;
                        score2.Content = player2score;
                        Scores.SetScore((string)score2.Content.ToString(), 2);
                        Scores.SetPlayerTurn(currentplayer);
                    }
                    allowclick = true;
                }
                else
                {
                    //FOUT GEKLIKT
                    if (currentplayer == 0)
                    {
                        currentplayer = 1;
                        Scores.SetPlayerTurn(currentplayer);
                        Console.WriteLine("Player 2's turn");
                    }
                    else
                    {
                        currentplayer = 0;
                        Scores.SetPlayerTurn(currentplayer);
                        Console.WriteLine("Player 1's turn");
                    }

                    allowclick = false;
                    Console.WriteLine("Niet goed");
                    await Task.Delay(1000);

                    firstGuess.Source     = new BitmapImage(new Uri("Assets/Themes/Warcraft/Back/question.png", UriKind.Relative));
                    card.Source           = new BitmapImage(new Uri("Assets/Themes/Warcraft/Back/question.png", UriKind.Relative));
                    firstGuess.MouseDown += new MouseButtonEventHandler(CardClick);
                    allowclick            = true;
                }

                if (correctcount == images.Count)
                {
                    Timer.StopTimer();
                    if (player1score > player2score)
                    {
                        MessageBox.Show(app.namePlayer1 + " heeft gewonnen!");
                    }
                    else if (player1score < player2score)
                    {
                        MessageBox.Show(app.namePlayer2 + " heeft gewonnen!");
                    }
                    else
                    {
                        MessageBox.Show(app.namePlayer1 + " tegen " + app.namePlayer2 + " is geëindigd in een gelijk spel.");
                    }

                    dialogResult = MessageBox.Show("Wil je het spel herstarten met dezelfde instellingen?", "Vraagje", MessageBoxButton.YesNo);

                    if (dialogResult == MessageBoxResult.Yes)
                    {
                        ResetGameGrid();
                        SetGameGrid(_cols, _rows);
                        GetImagesList();
                        AddImages();
                    }
                    else if (dialogResult == MessageBoxResult.No)
                    {
                        Grid parentGrid = (Grid)VisualTreeHelper.GetParent(_grid);
                        parentGrid.Visibility = Visibility.Collapsed;
                        Sound3.Stop();
                        ResetGameGrid();
                        ((WindowViewModel)((MainWindow)Application.Current.MainWindow).DataContext).CurrentPage = ApplicatiePage.Hoofdmenu;
                    }
                }
                firstGuess = null;
            }
        }