public static void refreshObj(Spieler spieler1, Spieler spieler2)
        {
            foreach (Objekte temp in objListe)
            {
                if (temp.getLP() <= 0)
                {
                    scene.Remove(temp.getSceneObject()); //Löscht Objekte aus Scene
                }
            }

            objListe.RemoveAll(x => x.getLP() <= 0); //Löscht Objekte aus Liste

            foreach (Waffen temp in spieler1.getList())
            {
                if (temp.getLP() <= 0)
                {
                    scene.Remove(temp.getController());
                    spieler1.resetWaffen(temp);
                }
            }

            foreach (Waffen temp in spieler2.getList())
            {
                if (temp.getLP() <= 0)
                {
                    scene.Remove(temp.getController());
                    spieler2.resetWaffen(temp);
                }
            }
           
        }
示例#2
0
文件: Logik.cs 项目: kvowinckel/CCC
        public Gamestart.States uebergang(Gamestart.States actuellState, Spieler spieler1, Spieler spieler2, Levels level)
        {
            #region Bauphase 1
            if (actuellState == Gamestart.States.Bauphase1O)
            {
                if (spieler2.getMoney() < level.getMinMoney())                  //Spieler2 hat nicht genug Geld
                {
                    if (spieler1.getMoney() > spieler2.getMoney())                      //Spieler1 ist reicher
                    {
                        if (spieler1.getList().Count > 0)                                       //Spieler1 hat Waffen
                        {
                            schussphase1done = true;
                            return Gamestart.States.Schussphase1;
                        }
                        else if (spieler2.getList().Count > 0)                                  //nein, aber Spieler2 hat Waffen
                        {
                            schussphase1done = true; /*Da Spieler 1 eh nicht Schießen kann*/
                            zielstate = Gamestart.States.Schussphase2;
                            return Gamestart.States.Camto2;
                        }
                        else                                                                    //beide haben keine Waffen
                        {
                            newround(spieler1, spieler2, level);
                            return Gamestart.States.Bauphase1O;
                        }
                    }
                    else                                                                //Spieler2 ist reicher
                    {
                        if (spieler2.getList().Count > 0)                                       //Spieler2 hat Waffen
                        {
                            zielstate = Gamestart.States.Schussphase2;
                            return Gamestart.States.Camto2;
                        }
                        else if (spieler1.getList().Count > 0)                                  //nein, aber Spieler1 hat Waffen
                        {
                            schussphase2done = true; /*Da Spieler 2 eh nicht Schießen kann*/
                            schussphase1done = true;
                            return Gamestart.States.Schussphase1;
                        }
                        else                                                                    //beide haben keine Waffen
                        {
                            newround(spieler1, spieler2, level);
                            return Gamestart.States.Bauphase1O;
                        }
                    }
                }
                else                                                            //Spieler2 hat genug Geld
                {
                    zielstate = Gamestart.States.Bauphase2O;
                    return Gamestart.States.Camto2;
                }
            }
            #endregion
            #region Bauphase 2
            else if(actuellState == Gamestart.States.Bauphase2O)
            {
                if (spieler1.getMoney() > spieler2.getMoney())                  //Spieler1 hat mehr Geld als Spieler2
                {
                    if (spieler1.getList().Count > 0)                                       //Spieler1 hat Waffen
                    {
                        zielstate = Gamestart.States.Schussphase1;
                        return Gamestart.States.Camto1;
                    }
                    else if (spieler2.getList().Count > 0)                                  //nein, aber Spieler2 hat Waffen
                    {
                        schussphase1done = true; /*Da Spieler 1 eh nicht Schießen kann*/
                        schussphase2done = true;
                        return Gamestart.States.Schussphase2;
                    }
                    else                                                                    //beide haben keine Waffen
                    {
                        newround(spieler1, spieler2, level);
                        zielstate = Gamestart.States.Bauphase1O;
                        return Gamestart.States.Camto1;
                    }
                }
                else                                                           //Spieler2 ist reicher
                {
                    if (spieler2.getList().Count > 0)                                       //Spieler2 hat Waffen
                    {
                        schussphase2done = true;
                        return Gamestart.States.Schussphase2;
                    }
                    else if (spieler1.getList().Count > 0)                                  //nein, aber Spieler1 hat Waffen
                    {
                        schussphase2done = true; /*Da Spieler 2 eh nicht Schießen kann*/
                        zielstate = Gamestart.States.Schussphase1;
                        return Gamestart.States.Camto1;
                    }
                    else                                                                    //beide haben keine Waffen
                    {
                        newround(spieler1, spieler2, level);
                        zielstate = Gamestart.States.Bauphase1O;
                        return Gamestart.States.Camto1;
                    }
                }
            }
            #endregion
            #region Schussphase 1
            else if (actuellState == Gamestart.States.Schussphase1)
            {
                if (schussphase2done)                                           //War schon in Schussphase2
                {
                    newround(spieler1, spieler2, level);
                    return Gamestart.States.Bauphase1O;
                }
                else                                                            //War noch nicht in Schussphase2
                {
                    if (spieler2.getList().Count > 0)                                    //Spieler2 hat Waffen
                    {
                        zielstate = Gamestart.States.Schussphase2;
                        return Gamestart.States.Camto2;
                    }
                    else                                                                 //Spieler2 hat keine Waffe
                    {
                        newround(spieler1, spieler2, level);
                        return Gamestart.States.Bauphase1O;
                    }
                }
            }
            #endregion
            #region Schussphase 2
            else if (actuellState == Gamestart.States.Schussphase2)
            {
                if (schussphase1done)                                           //War schon in Schussphase1
                {
                    newround(spieler1, spieler2, level);
                    zielstate = Gamestart.States.Bauphase1O;
                    return Gamestart.States.Camto1;
                }
                else                                                            //War noch nicht in Schussphase1
                {
                    if (spieler1.getList().Count > 0)                                    //Spieler1 hat Waffen
                    {
                        zielstate = Gamestart.States.Schussphase1;
                        return Gamestart.States.Camto1;
                    }
                    else                                                                 //Spieler1 hat keine Waffe
                    {
                        newround(spieler1, spieler2, level);
                        zielstate = Gamestart.States.Bauphase1O;
                        return Gamestart.States.Camto1;
                    }
                }
            }
            #endregion
            #region Cam -> 1
            else if (actuellState == Gamestart.States.Camto1)
            {
                if (zielstate == Gamestart.States.Bauphase1O)
                {
                    return Gamestart.States.Bauphase1O;
                }
                else //(zielstate == Gamestart.States.Schussphase1)
                {
                    schussphase1done = true;
                    return Gamestart.States.Schussphase1;
                }
            }
            #endregion
            #region Cam -> 2
            else if (actuellState == Gamestart.States.Camto2)
            {
                if (zielstate == Gamestart.States.Bauphase2O)
                {
                    return Gamestart.States.Bauphase2O;
                }
                else //(zielstate == Gamestart.States.Schussphase2)
                {
                    schussphase2done = true;
                    return Gamestart.States.Schussphase2;
                }
            }
            #endregion

            return Gamestart.States.End;
        }
 public static Waffen getWaffe(Spieler spieler, int firedwappons)
 {
     //firedwappons = 0 ==> erste Waffe
    
      return spieler.getList()[firedwappons]; 
     // TODO darf nur zurück geben wenn es noch unabgefeuerte Waffen gibt sonst -> exception!    
     
     // TODO darf nur zurück geben wenn es noch unabgefeuerte Waffen gibt sonst -> exception!           
 }