//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; }
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; }
private void newround(Spieler spieler1, Spieler spieler2, Levels level) { spieler1.setMoney(spieler1.getMoney() + level.getRoundMoney()); spieler2.setMoney(spieler2.getMoney() + level.getRoundMoney()); schussphase1done = schussphase2done = false; }
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 }
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 }
public static void setmoney(Spieler spieler, int money, Vector2 pos) { spieler.setMoney(spieler.getMoney() + money); change = money; from = pos; prozent = 100; }