Example #1
0
 public MainForm()
 {
     this.Width = 1000;
     this.Height = 800;
     InitializeComponent();
     CenterToScreen();
     this.Click += new EventHandler(this.MainForm_Click);
     this.KeyPress += new KeyPressEventHandler(this.MainForm_KeyPress);
     curCtxt = BufferedGraphicsManager.Current;
     buffer = curCtxt.Allocate(this.CreateGraphics(), this.DisplayRectangle);
     s = new State();
     r = new Renderer(this, s);
     camera = new CAMERA();
 }
Example #2
0
        //Update
        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            warten += (float)gameTime.ElapsedGameTime.TotalSeconds; //speichert vergangene Spielzeit in Sekunden //
            warten2 += (float)gameTime.ElapsedGameTime.TotalSeconds; //speichert vergangene Spielzeit in Sekunden

            //Spielstatus
            switch (spielStatus) //Entscheidung welcher Spielstatus erreicht wurde  Menü, spielen GameOVer
            {
                case State.Menue:
                    {
                        status = 1;
                        //
                        KeyboardState keyState = Keyboard.GetState();
                        if (keyState.IsKeyDown(Keys.N))
                        {
                            spielStatus = State.spielen;
                            MediaPlayer.Play(sound.bgrSong);
                            sound.bewaffnet.Play();
                        }
                        else if (keyState.IsKeyDown(Keys.Q))
                        {
                            this.Exit();
                        }

                        break;
                    }

                case State.spielen:
                    {
                        KeyboardState keyState = Keyboard.GetState();

                        //Fkt die Lvl unabhängig sind
                        status = 2;
                        spieler.Update(gameTime);
                        gc.Update(gameTime); //remove, schneller, bewegen

                        spielerTrifft(); //iteminteraktion + unsichtbarmachen + punkteberechnung
                        itemZerstoeren();
                        gegnerTrifft();
                        minionKontakt();
                        projektilTreffen();
                        schutzGetroffen();
                        minionTod();
                        itemInteraktGeg(); //Prüft ob Iteminteraktion stattfindet
                        punkteBerechnung();
                        itemTeemo();
                        foreach (Item it in ListeItem)
                            it.Update(gameTime);
                        foreach (Animation a in listeAnimation)
                            a.Update(gameTime);
                        ItemSporn();

                        neuesLevel();
                        lvlSkip();

                        if (skipLvl3 == false && warten2 >= 5)
                            {
                                sound.wahlSound();
                                sound.veigarSpruch(sound.swahl);
                                warten2 = 0;
                            }

                        switch (level) //Je nachdem welches Level geladen wird andere Funktionen
                        {
                            case Level.Lvl1:
                                {
                                    break;
                                } //Case Lvl1 Ende

                            case Level.Lvl2:
                                {
                                    status = 22; //Für Hintergrundklasse Hintergrund Lvl 2 zeichnen
                                    break;
                                }    //Case Lvl2 Ende
                            case Level.Lvl3:
                                {
                                    status = 23; //Für Hintergrundklasse Hintergrund Lvl 3 zeichnen
                                    break;
                                }//Case Lvl3 Ende
                        } //Case Level Ende

                        if (spieler.leben > 0 && gc.ListeGegner.Count == 0)
                        {
                            sound.wahlSound();
                            sound.playLachen(sound.swahl);
                            MediaPlayer.Play(sound.menuSong);
                            spielStatus = State.gewonnen;
                        }

                        //Spieler hat kein Leben mehr
                        if (spieler.leben == 0)
                        {
                            sound.tod.Play();
                            MediaPlayer.Play(sound.goSong);
                            spielStatus = State.GameOver;
                        }
                        break;
                    } //Case State:spielen ende

                case State.GameOver:
                    {
                        status = 3; //GameOver Hintergrund
                        KeyboardState keyState = Keyboard.GetState();
                        if (keyState.IsKeyDown(Keys.J))
                        {
                            //Clearen & Neustart vorbereiten
                            gc.ListeGegner.Clear(); //Leert die Gegner Liste
                            gc.ListeGProjektil.Clear(); //Löscht Gegnerprojektile
                            spieler.ListeSchuss.Clear(); //Löscht eigene Schüsse
                            ListeItem.Clear(); //Leert Itemliste
                            gc.spornRechteck(); //Lässt Gegner wieder neu erscheinen
                            spieler.leben = 3;
                            spielStatus = State.spielen;
                            status = 21;
                            for (int i = 0; i < 27; i++)  //Pilz weieder komplett sichtbar machen
                                schutz.texVisi[i] = true;

                            MediaPlayer.Play(sound.bgrSong);
                            sound.bewaffnet.Play();

                        }
                        else if (keyState.IsKeyDown(Keys.Q))
                        {
                            this.Exit();
                        }
                        break;
                    }
                case State.gewonnen:
                    {
                        status = 4;
                        KeyboardState keyState = Keyboard.GetState();
                        if (keyState.IsKeyDown(Keys.J))
                        {
                            //Clearen & Neustart vorbereiten
                            gc.ListeGegner.Clear(); //Leert die Gegner Liste
                            gc.ListeGProjektil.Clear(); //Löscht Gegnerprojektile
                            spieler.ListeSchuss.Clear(); //Löscht eigene Schüsse
                            ListeItem.Clear(); //Leert Itemliste
                            gc.spornRechteck(); //Lässt Gegner wieder neu erscheinen
                            spieler.leben = 3;
                            spielStatus = State.spielen;
                            status = 21;

                            for (int i = 0; i < 27; i++)  //Pilz weieder komplett sichtbar machen
                                schutz.texVisi[i] = true;

                            MediaPlayer.Play(sound.bgrSong);
                            sound.bewaffnet.Play();

                        }
                        else if (keyState.IsKeyDown(Keys.Q))
                        {
                            this.Exit();
                        }
                        break;
                    }
            }
            base.Update(gameTime);
        }
Example #3
0
        //Wenn alle gegner tot starte neues level
        public void neuesLevel()
        {
            if (gc.ListeGegner.Count == 0)
                {
                    ListeItem.Clear();
                    listeAnimation.Clear();
                    ListeItem.Clear();

                    foreach (Item it in ListeItem)
                        it.isVisible = false;

                    foreach (Animation la in listeAnimation)
                        la.isVisible= false;

                    gc.ListeGProjektil.Clear(); //Gegner Projektile beim Levelübergang löschen

                    if (skipLvl2 == true && skipLvl3 == true)
                        level = Level.Lvl2;

                    if (skipLvl2 == false && skipLvl3 == true)
                        level = Level.Lvl3;

                    if (skipLvl2 == false && skipLvl3 == false)
                        spielStatus = State.gewonnen;
                }
        }