Пример #1
0
        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;
        }
Пример #2
0
        public static void run(Gamestart.States state, Vector2 rHv2s, Vector2 lHv2s, Vector2 screenDim, bool showWaffe, Spieler spieler1, Spieler spieler2, bool bulletInAir)
        {
            #region Bau/Tex/Waf - Auswahl
            if (state == Gamestart.States.Bauphase1O || state == Gamestart.States.Bauphase1T || state == Gamestart.States.Bauphase2O || state == Gamestart.States.Bauphase2T)
            {
                String bild;
                if (state == Gamestart.States.Bauphase1T || state == Gamestart.States.Bauphase2T)
                {
                    bild = "Material";
                }
                else
                {
                    if (showWaffe)
                    {
                        bild = "Waffenauswahl_transparent";
                    }
                    else
                    {
                        bild = "Bau";
                    }
                }

                Vector2 dim = new Vector2(screenDim.X * 0.5f, screenDim.Y * 0.15f);
                Vector2 pos = new Vector2(dim.X * 0.5f, 5);
                drawBox(pos, dim, bild);

            }
            #endregion

            #region Geldanzeige
            if (state == Gamestart.States.Bauphase1O || state == Gamestart.States.Bauphase1T || state == Gamestart.States.Schussphase1)
            {
                Vector2 pos = new Vector2(1, 1);
                Vector2 dim = screenDim / 800;
                string aktuellerText = "$" + spieler1.getMoney();
                drawText(aktuellerText, Color.Gold, pos, dim);
            }
            if (state == Gamestart.States.Bauphase2O || state == Gamestart.States.Bauphase2T || state == Gamestart.States.Schussphase2)
            {
                Vector2 pos = new Vector2(1, 1);
                Vector2 dim = screenDim / 800;
                string aktuellerText = "$" + spieler2.getMoney();
                drawText(aktuellerText, Color.Gold, pos, dim);
            }
            #endregion

            #region Obj-Waffen Switch
            if (state == Gamestart.States.Bauphase1O || state == Gamestart.States.Bauphase2O)
            {
                String bild;
                if (showWaffe)
                {
                    bild = "Bau";
                }
                else
                {
                    bild = "Waffenauswahl_transparent";
                }

                Vector2 dim = new Vector2(screenDim.X * 0.125f, screenDim.Y * 0.15f);
                Vector2 pos = new Vector2((screenDim.X * 0.875f) - 5, 5);
                drawBox(pos, dim, bild);
            }
            #endregion

            #region Weiterbutton
            if (state == Gamestart.States.Bauphase1O || state == Gamestart.States.Bauphase2O)
            {
                Vector2 dim = new Vector2((screenDim.X * 0.09f), (screenDim.Y * 0.09f));
                Vector2 pos = new Vector2(screenDim.X - dim.X - screenDim.X * 0.01f, screenDim.Y * 0.45f);
                drawBox(pos, dim, "weiter2");
            }
            #endregion

            #region Poweranzeige
            if (state == Gamestart.States.Schussphase1 || state == Gamestart.States.Schussphase2 /* && !bulletInAir*/ || state == Gamestart.States.Bauphase1O)
            {
                float pro;
                if (lHv2s.Y < 0.15f * screenDim.Y)
                {
                    pro = 0.15f * screenDim.Y;
                }
                else if (lHv2s.Y > 0.95f * screenDim.Y)
                {
                    pro = 0.95f * screenDim.Y;
                }
                else
                {
                    pro = lHv2s.Y;
                }

                Vector2 pos1 = new Vector2(screenDim.X * 0.01f, screenDim.Y * 0.15f);
                Vector2 pos2 = new Vector2(screenDim.X * 0.01f, pro);
                Vector2 dim1 = new Vector2(screenDim.X * 0.05f, pro);
                Vector2 dim2 = new Vector2(screenDim.X * 0.05f, screenDim.Y * 0.95f - pro);

                drawBox(pos1, dim1, Color.Green);
                drawBox(pos2, dim2, Color.Red);
            }
            #endregion

            #region Geldfliegen
            if (prozent > 0)
            {
                Color farbe = (change > 0) ? Color.Green : Color.Red;
                String text = (change > 0) ? "+" + change.ToString() : change.ToString();
                Vector2 pos = from * prozent / 100;
                Vector2 dim = new Vector2(0.05f * prozent, 0.05f * prozent);
                drawText(text, farbe, pos, dim);
                prozent--;
            }
            #endregion

            #region Handpos
            if (state == Gamestart.States.Bauphase1O || state == Gamestart.States.Bauphase1T || state == Gamestart.States.Bauphase2O || state == Gamestart.States.Bauphase2T)
            {
                Handkreise(rHv2s, lHv2s);
            }
            #endregion
        }