예제 #1
0
        public void VerwijderKaart(Button kaartBttn)
        {
            KaartData buttonData = kaartBttn.Tag as KaartData;

            kaartBttn.IsEnabled  = false;
            kaartBttn.Visibility = Visibility.Hidden;

            KaartStatus kaartStatus = buttonData.status;

            kaartStatus.gespeeld = true;
        }
예제 #2
0
        private List <KaartStatus> GetKaartStatus(List <UIElement> lButtons)
        {
            List <KaartStatus> lKaartStatussen = new List <KaartStatus>();

            foreach (Button button in lButtons)
            {
                KaartData   buttonData  = button.Tag as KaartData;
                KaartStatus kaartStatus = buttonData.status;

                lKaartStatussen.Add(kaartStatus);
            }

            return(lKaartStatussen);
        }
예제 #3
0
        private List <UIElement> GetBttnLijst(List <int> lGridKaartIds)
        {
            List <UIElement> lButtons = new List <UIElement>();

            // maak een eigen button style voor de kaarten
            Style bttnStyle = new Style(typeof(Button));

            bttnStyle.Setters.Add(new Setter(Button.BackgroundProperty, Brushes.Transparent));
            bttnStyle.Setters.Add(new Setter(Button.BorderBrushProperty, Brushes.Transparent));

            // laad de bitmap resource voor de achterkant van de kaart
            ImageSource achterKant = kaartResource.Find(GameData.sKaartAchterkant);;

            foreach (int kaartId in lGridKaartIds)
            {
                // laad de  bitmap resource voor de voorkant van de kaart
                ImageSource voorKant = kaartResource.Find(kaartId.ToString());

                // maak de image die als content word gezet in de kaart button
                Image kaartImg = new Image();

                // laat vanuit het begin de achterkant van de kaart zien
                kaartImg.Source = achterKant;

                // maak de kaarData informatie die word gebruikt in de game logic
                // deze word in de tag dataveld geladen zodat die beschikbaar is
                // vanuit de object sender bij een click event
                KaartData kaartData = new KaartData();
                kaartData.ID         = kaartId;    // Hiermee vergelijkt de logica de kaarten
                kaartData.voorKant   = voorKant;   // resource voor de voorkant van de kaart
                kaartData.achterKant = achterKant; // resource voor de achterkant van de kaart

                // maak de button voor de kaart
                Button kaartBttn = new Button();
                kaartBttn.Style   = bttnStyle;  // onze custom style
                kaartBttn.Content = kaartImg;   // link de kaart image
                kaartBttn.Tag     = kaartData;  // link de benodigde kaart data

                // TODO een eigen cursor
                kaartBttn.Cursor = Cursors.Hand;

                // registreer de callback functie voor de click event
                kaartBttn.Click += new RoutedEventHandler(Card_Click);

                lButtons.Add(kaartBttn);
            }
            return(lButtons);
        }
예제 #4
0
        public void showKaart(Button kaartBttn, Kaart kaartKant)
        {
            Image     kaartImg  = kaartBttn.Content as Image;
            KaartData kaartData = kaartBttn.Tag as KaartData;

            switch (kaartKant)
            {
            case Kaart.voorkant:
                kaartImg.Source = kaartData.voorKant;
                break;

            case Kaart.achterkant:
                kaartImg.Source = kaartData.achterKant;
                break;
            }
        }