//private static List<Waffen> waffenListe = new List<Waffen>();

        public static Objekte createObj(int auswahl, Spieler spieler, float xPos)
        {
            idnummer++;
            Vector3 startort = new Vector3(xPos, 2, -5);
            SceneObject newobj;
            Objekte dasobj;

            if (auswahl == 1)//Würfel
            {
                newobj = buildbox(startort, new Vector3(0.4f, 0.4f, 0.4f));
                spieler.setMoney(spieler.getMoney() - 150); //Rohkosten abziehen
                newobj.Physics.Mass = 1f;
            }
            else if (auswahl == 2)
            {
                ModelObject l = new ModelObject(startort, Quaternion.CreateFromAxisAngle(new Vector3(1,2,0),(float)Math.PI), new Vector3(1, 1, 1), CollisionType.ExactMesh, "", "L", 2f);
                newobj = l;
                spieler.setMoney(spieler.getMoney() - 200);
            }
            else if (auswahl == 3) // Latte
            {
                newobj = buildbox(startort, new Vector3(1.2f, 0.1f, 0.4f));
                spieler.setMoney(spieler.getMoney() - 200); //Rohkosten abziehen
                newobj.Physics.Mass = 2f;
            }
            else if (auswahl == 4) // Quader       das kommentierte ist die //Pyramide
            {
                newobj = buildbox(startort, new Vector3(0.8f, 0.4f, 0.4f));
                newobj.Physics.Mass = 2f;
                /*ModelObject p = new ModelObject(startort, Quaternion.CreateFromAxisAngle(new Vector3(1, 2, 0), (float)Math.PI), new Vector3(1, 1, 1), CollisionType.ExactMesh, "", "Pyramide", 1f);
                newobj = p;*/
                spieler.setMoney(spieler.getMoney() - 200);
            }
            else
            {
                newobj = buildbox(startort, new Vector3(0.1f, 0.1f, 0.1f));
            }

            //TODO z-Achse sperren
            newobj.Physics.PositionUpdateMode = BEPUphysics.PositionUpdating.PositionUpdateMode.Continuous;
            newobj.Tag = idnummer;
            newobj.PhysicsMaterial.Bounciness = 0.2f;
            scene.Add(newobj);
            dasobj = new Objekte(newobj, 1, "blank");
            objListe.Add(dasobj); //Liste hinzufügen
            return dasobj;
        }
示例#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;
        }
示例#3
0
文件: Logik.cs 项目: kvowinckel/CCC
 private void newround(Spieler spieler1, Spieler spieler2, Levels level)
 {
     spieler1.setMoney(spieler1.getMoney() + level.getRoundMoney());
     spieler2.setMoney(spieler2.getMoney() + level.getRoundMoney());
     schussphase1done = schussphase2done = false;
 }
示例#4
0
 private void Geldanzeige(Spieler spieler)
 {
     string aktuellerText = "$" + spieler.getMoney() ;
     UI2DRenderer.WriteText(new Vector2(Scene.Camera.Position.X+2, Scene.Camera.Position.Y),            //Position
                 aktuellerText,                    //Anzuzeigender Text
                 Color.Red,                   //Textfarbe
                 null,                    //Interne Schriftart verwenden
                 Vector2.One,             //Textskallierung
                 UI2DRenderer.HorizontalAlignment.Left, //Horizontal zentriert
                 UI2DRenderer.VerticalAlignment.Top);  //am unteren Bildschirmrand ausrichten
 }
示例#5
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
        }
示例#6
0
 public static void setmoney(Spieler spieler, int money, Vector2 pos)
 {
     spieler.setMoney(spieler.getMoney() + money);
     change = money;
     from = pos;
     prozent = 100;
 }