private void SetUpGameBoardDecks()
        {
            for (int i = 0; i < invasion.FearDeck.Count; i++)
            {
                FearCard c = invasion.FearDeck[i];
                DealCardToNewDeck(c);
                Canvas.SetZIndex(c, invasion.FearDeck.Count - i);
                mainCanvas.Children.Add(c);
            }

            for (int i = 0; i < invasion.EventDeck.Count; i++)
            {
                EventCard c = invasion.EventDeck[i];
                DealCardToNewDeck(c);
                Canvas.SetZIndex(c, invasion.EventDeck.Count - i);
                mainCanvas.Children.Add(c);
            }

            for (int i = 0; i < invasion.InvaderDeck.Count; i++)
            {
                InvaderCard c = invasion.InvaderDeck[i];
                DealCardToNewDeck(c);
                Canvas.SetZIndex(c, invasion.InvaderDeck.Count - i);
                mainCanvas.Children.Add(c);
            }

            foreach (BlightCard c in invasion.BlightDeck)
            {
                DealCardToNewDeck(c);
                mainCanvas.Children.Add(c);
            }

            foreach (AdversaryCard c in invasion.AdversaryDeck)
            {
                if (invasion.MyAdversary.Id == c.Id)
                {
                    DealCardToNewDeck(c);
                    Canvas.SetZIndex(c, 1);
                    mainCanvas.Children.Add(c);
                }
            }

            // Check for Adversary == England Level 3+
            if (invasion.HighImmigration == true)
            {
                SetBoardForEngland();
            }
            else
            {
                RemoveHighImmigrationTile();
            }
        }
        private void CreateInvaderDeck()
        {
            InvaderBox.Clear();
            InvaderDeck.Clear();

            // construct and initialize all Invader cards by Phase
            for (int i = 1; i <= 4; i++)
            {
                String      backPath = "assets/cards/invader/cards-invader-00.png";
                ImageSource back     = new BitmapImage(new Uri(backPath, UriKind.Relative));

                String      s         = "0" + i.ToString();
                String      frontPath = "assets/cards/invader/cards-invader-" + s + ".png";
                ImageSource front     = new BitmapImage(new Uri(frontPath, UriKind.Relative));

                InvaderCard ic = new InvaderCard(i, 1, front, back);
                InvaderDeck.Add(ic);
            }
            InvaderDeck.Shuffle();

            InvaderBox.Add(InvaderDeck[0]);
            InvaderDeck.RemoveAt(0);

            ObservableCollection <InvaderCard> phase2 = new ObservableCollection <InvaderCard>();

            for (int i = 6; i <= 10; i++)
            {
                String      backPath = "assets/cards/invader/cards-invader-05.png";
                ImageSource back     = new BitmapImage(new Uri(backPath, UriKind.Relative));

                String s = "";
                if (i < 10)
                {
                    s = "0" + i.ToString();
                }
                else
                {
                    s = i.ToString();
                }
                String      frontPath = "assets/cards/invader/cards-invader-" + s + ".png";
                ImageSource front     = new BitmapImage(new Uri(frontPath, UriKind.Relative));

                InvaderCard ic = new InvaderCard(i, 2, front, back);
                phase2.Add(ic);
            }
            phase2.Shuffle();

            InvaderBox.Add(phase2[0]);
            phase2.RemoveAt(0);

            foreach (InvaderCard c in phase2)
            {
                InvaderDeck.Add(c);
            }

            ObservableCollection <InvaderCard> phase3 = new ObservableCollection <InvaderCard>();

            for (int i = 12; i <= 17; i++)
            {
                String      backPath = "assets/cards/invader/cards-invader-11.png";
                ImageSource back     = new BitmapImage(new Uri(backPath, UriKind.Relative));

                String      s         = i.ToString();
                String      frontPath = "assets/cards/invader/cards-invader-" + s + ".png";
                ImageSource front     = new BitmapImage(new Uri(frontPath, UriKind.Relative));

                InvaderCard ic = new InvaderCard(i, 3, front, back);
                phase3.Add(ic);
            }
            phase3.Shuffle();

            InvaderBox.Add(phase3[0]);
            phase3.RemoveAt(0);

            foreach (InvaderCard c in phase3)
            {
                InvaderDeck.Add(c);
            }
        }