示例#1
0
        private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            for (int i = 0; i < AntallKloser; i++)
            {
                Klosser[i].Draw(g);
            }

            //			g.FillRectangle(Brushes.Black, 0, 0, ClientRectangle.Width, ClientRectangle.Height);
            VarFartoy.Draw(g);
            TheScore.Draw(g);
            TheHighScore.Draw(g);
            _livesIndicator.Draw(g);
            if (AktivKule)
            {
                Kulen.Draw(g);
            }

            if (StorbatStart)
            {
                VarStorbat.Draw(g);
            }

            for (int i = 0; i < AntallRad; i++)
            {
                FremmedFartoyene = FremmedFartoyer[i];
                FremmedFartoyene.Draw(g);
            }
        }
示例#2
0
        void TestKuleKollisjon()
        {
            int rowNum = 0;

            for (int i = 0; i < AntallRad; i++)
            {
                FremmedFartoyene = FremmedFartoyer[i];
                rowNum           = i;
                int kollisjonIndex = FremmedFartoyene.KollisjonTest(Kulen.GetBounds());

                if ((kollisjonIndex >= 0) && AktivKule)
                {
                    FremmedFartoyene.Fremmede2[kollisjonIndex].Truffet = true;
                    TheScore.AddScore(BeregnPoengsumFraRad(rowNum));
                    PlaySoundInThread("1.wav", 1);

                    AktivKule = false;
                    Kulen.Reset();
                }

                if (StorbatStart && AktivKule && VarStorbat.GetBounds().IntersectsWith(Kulen.GetBounds()))
                {
                    VarStorbat.Truffet = true;
                    if (VarStorbat.PoengsumRegnet == false)
                    {
                        TheScore.AddScore(VarStorbat.RegnPoengsum());
                        VarStorbat.PoengsumRegnet = true;
                        PlaySoundInThread("3.wav", 1);
                    }
                }
            }
        }
示例#3
0
 void NullstillAlleBombeCounter()
 {
     for (int i = 0; i < AntallRad; i++)
     {
         FremmedFartoyene = FremmedFartoyer[i];
         FremmedFartoyene.NullstillBombeCounter();
     }
 }
示例#4
0
 private void SettAlleRetninger(bool bDirection)
 {
     for (int i = 0; i < AntallRad; i++)
     {
         FremmedFartoyene = FremmedFartoyer[i];
         FremmedFartoyene.HoyreRetning = bDirection;
     }
 }
示例#5
0
 private void FlyttFremmedeIPlass()
 {
     for (int i = 0; i < AntallRad; i++)
     {
         FremmedFartoyene = FremmedFartoyer[i];
         FremmedFartoyene.FlyttIPlass();
     }
 }
示例#6
0
 void InitializeFremedFartoyer(int level)
 {
     FremmedFartoyer[0] = new FremedFartoy("fremmed1.gif", "fremmed1c.gif", 2 + level);
     FremmedFartoyer[1] = new FremedFartoy("fremmed2.gif", "fremmed2c.gif", 3 + level);
     FremmedFartoyer[2] = new FremedFartoy("fremmed2.gif", "fremmed2c.gif", 4 + level);
     FremmedFartoyer[3] = new FremedFartoy("fremmed3.gif", "fremmed3c.gif", 5 + level);
     FremmedFartoyer[4] = new FremedFartoy("fremmed3.gif", "fremmed3c.gif", 6 + level);
     //FremmedFartoyer[4] = new FremedFartoy("I.gif", "I.gif", 6 + level);
 }
示例#7
0
        void TestBombeKollisjon()
        {
            if (VarFartoy.Dod)
            {
                AntallFartoy--;
                _livesIndicator.DecrementLives(); // also show on lives indicator
                Invalidate();
                if (AntallFartoy == 0)
                {
                    TheHighScore.Skriv(TheScore.Count);
                    TheScore.GameOver = true;
                    SpillPagar        = false;
                }
                else
                {
                    VarFartoy.Nullstill();
                    NullstillAlleBombeCounter();
                }
            }

            if (VarFartoy.Truffet == true)
            {
                return;
            }

            for (int i = 0; i < AntallRad; i++)
            {
                FremmedFartoyene = FremmedFartoyer[i];
                for (int j = 0; j < FremmedFartoyene.Fremmede2.Length; j++)
                {
                    for (int k = 0; k < AntallKloser; k++)
                    {
                        bool kuleHull = false;
                        if (Klosser[k].TestKollisjon(FremmedFartoyene.Fremmede2[j].GetBombBounds(), true, out kuleHull))
                        {
                            FremmedFartoyene.Fremmede2[j].NullstillBombePosisjon();
                            Invalidate(Klosser[k].GetBounds());
                        }


                        if (Klosser[k].TestKollisjon(Kulen.GetBounds(), false, out kuleHull))
                        {
                            AktivKule = false;
                            Invalidate(Klosser[k].GetBounds());
                            Kulen.Reset();
                        }
                    }

                    if (FremmedFartoyene.Fremmede2[j].BombeKolliderer(VarFartoy.GetBounds()))
                    {
                        VarFartoy.Truffet = true;
                        PlaySoundInThread("2.wav", 1);
                    }
                }
            }
        }
示例#8
0
        private int TotaltAntallFremmede()
        {
            int sum = 0;

            for (int i = 0; i < AntallRad; i++)
            {
                FremmedFartoyene = FremmedFartoyer[i];
                sum += FremmedFartoyene.AntallLivFremmede();
            }

            return(sum);
        }
示例#9
0
 void TestLanding()
 {
     for (int i = 0; i < AntallRad; i++)
     {
         FremmedFartoyene = FremmedFartoyer[i];
         if (FremmedFartoyene.FremmedHarLandet(ClientRectangle.Bottom))
         {
             VarFartoy.Truffet = true;
             PlaySoundInThread("2.wav", 1);
             TheScore.GameOver = true;
             TheHighScore.Skriv(TheScore.Count);
             SpillPagar = false;
         }
     }
 }
示例#10
0
        private int BeregnStorsteSistePosisjon()
        {
            int max = 0;

            for (int i = 0; i < AntallRad; i++)
            {
                FremmedFartoyene = FremmedFartoyer[i];
                int nLastPos = FremmedFartoyene.HentSisteFremmed().Posisjon.X;
                if (nLastPos > max)
                {
                    max = nLastPos;
                }
            }

            return(max);
        }
示例#11
0
        private void FlyttFremmedFartoyer()
        {
            bool bMoveDown = false;

            for (int i = 0; i < AntallRad; i++)
            {
                FremmedFartoyene = FremmedFartoyer[i];
                FremmedFartoyene.Flytt();
            }

            //			if (FremmedLydCounter % 5)
            PlaySoundInThread("4.wav", 3);


            if ((BeregnStorsteSistePosisjon()) > ClientRectangle.Width - FremmedFartoyer[4][0].GetWidth())
            {
                FremmedFartoyene.HoyreRetning = false;
                SettAlleRetninger(false);
            }

            if ((BeregnMinsteForstePosisjon()) < FremmedFartoyer[4][0].Width / 3)
            {
                FremmedFartoyene.HoyreRetning = true;
                SettAlleRetninger(true);
                for (int i = 0; i < AntallRad; i++)
                {
                    bMoveDown = true;
                }
            }

            if (bMoveDown)
            {
                for (int i = 0; i < AntallRad; i++)
                {
                    FremmedFartoyene = FremmedFartoyer[i];
                    FremmedFartoyene.FlyttNed();
                }
            }
        }
示例#12
0
        private int BeregnMinsteForstePosisjon()
        {
            int min = 50000;

            try
            {
                for (int i = 0; i < AntallRad; i++)
                {
                    FremmedFartoyene = FremmedFartoyer[i];
                    int nFirstPos = FremmedFartoyene.HentForsteFremmed().Posisjon.X;
                    if (nFirstPos < min)
                    {
                        min = nFirstPos;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }

            return(min);
        }