//Bombs hit Gunners
 private bool BombGunnerHitTest(Bomb thisBomb)
 {
     Rect recBomb = new Rect(Canvas.GetLeft(thisBomb), Canvas.GetTop(thisBomb), thisBomb.ActualWidth, thisBomb.ActualHeight);
     Rect recGunner = new Rect(Canvas.GetLeft(imgGunner), Canvas.GetTop(imgGunner), imgGunner.ActualWidth, imgGunner.ActualHeight);
     return recBomb.IntersectsWith(recGunner);
 }
 //Bombs Hit shield elements
 private bool BombShieldElementHitTest(Bomb thisBomb, shieldElement thisShieldElement)
 {
     Rect recBomb = new Rect(Canvas.GetLeft(thisBomb), Canvas.GetTop(thisBomb), thisBomb.ActualWidth, thisBomb.ActualHeight);
     Rect recShieldElement = new Rect(Canvas.GetLeft(thisShieldElement), Canvas.GetTop(thisShieldElement), 10, 20);
     return recBomb.IntersectsWith(recShieldElement);
 }
        //the idea behind this is that every game tick each invader has a 1 in 1000 chance of dropping a bomb
        //the chances of dropping get higher for each new level.
        private void invadersDropBombs()
        {
            //so run through all the invaders
            foreach (Invader thisInvader in Aliens)
            {   
                //pick a random integer between 0 and intBombRate and if it is a 1 drop the bomb
                if (randomObj.Next(intBombRate) == 1)
                {
                    //instanciate a new bomb and add it to the canvas and add a reference to it to the list Bombs.
                    Bomb newBomb = new Bomb();

                    cnvSpace.Children.Add(newBomb);
                    Bombs.Add(newBomb);
                    //set the position of the bomb to be that of the alien that dropped it
                    Canvas.SetLeft(newBomb, Canvas.GetLeft(thisInvader)+15);
                    Canvas.SetTop(newBomb, Canvas.GetTop(thisInvader)+30);
                }
            }
            
        }