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 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 }