コード例 #1
0
 private void AlleVersprechenEntfernen(Spieler c)
 {
     foreach (Karte k in c.versprechungen)
     {
         deck.Ablegen(k);
     }
     c.versprechungen.Clear();
 }
コード例 #2
0
ファイル: Kampf.cs プロジェクト: wirebug/junta
 public void addAngriff(Spieler spieler)
 {
     try {
         this.angriffswürfel.Add(spieler, 1);
     } catch (ArgumentException) {
         addAngriffWert(spieler, 1);
     }
 }
コード例 #3
0
ファイル: Kampf.cs プロジェクト: wirebug/junta
 public void addAngriffWert(Spieler spieler, int value)
 {
     try {
         this.angriffswürfel.Add(spieler, value);
     } catch (ArgumentException) {
         this.angriffswürfel[spieler] += value;
     }
 }
コード例 #4
0
 public void KarteKlauen(Spieler taeter, Spieler opfer)
 {
     if (!opfer.hand.isEmpty)
     {
         Karte temp = opfer.hand.RandomHandkarte();
         taeter.hand.AddHandkarte(temp);
         _hub.KarteIDEntfernen(opfer, temp);
         _hub.KarteIdHinzu(taeter, temp);
         _hub.ZeigeNachricht(taeter, "Du hast Spieler " + opfer.ID + " " + temp.titel + " geklaut");
         _hub.ZeigeNachricht(opfer, "Dir wurde von Spieler " + taeter.ID + " " + temp.titel + " geklaut");
     }
 }
コード例 #5
0
 public static void initSpieler()
 {
     if (anzSpieler < 5)
     {
         Planet  planet = new Planet();
         Hand    hand   = new Hand();
         Spieler a      = new Spieler(1, 1, anzSpieler == 0, planet, hand, sv);
         planet.spieler = a;
         hand.spieler   = a;
         sv.spieler.Add(a);
         if (a.imperator)
         {
             sv.imperator = a;
         }
         sv._hub.setSpieler(a);
         anzSpieler++;
     }
 }
コード例 #6
0
ファイル: Kampf.cs プロジェクト: wirebug/junta
        public List <Spieler> ErgebnisBerechnen()
        {
            List <Spieler> ergebnis = new List <Spieler>();

            if (Würfeln())
            {
                return(ergebnis);
            }
            else
            {
                int s = angriffswürfel.Count;
                for (int i = 0; i < s; i++)
                {
                    Spieler temp = ergA.Max().Key;
                    ergebnis.Add(temp);
                    angriffswürfel.Remove(temp);
                }
                return(ergebnis);
            }
        }
コード例 #7
0
        /// <summary>
        /// Falls der Spieler eine EinbrecherKarte hat, wird die Methode aufgerufen.
        /// Die Methode übergibt den Spieler mit der Karte an den Hub
        /// Der Spieler kann sich aussuchen ob er den Einbrecher spielen möchte
        /// </summary>
        public void EinbrecherKarteSpielen()
        {
            Spieler temp = null;

            foreach (Spieler s in spieler)
            {
                if (s.hand.hatEinbrecher)
                {
                    temp = s;
                    break;
                }
            }
            if (temp != null)
            {
                _hub.SpieleEinbrecher(temp);
            }
            else
            {
                FlottenStart();
            }
        }
コード例 #8
0
        /// <summary>
        /// Spielphase III: Flotten befehligen
        /// </summary>
        /// <param name="sp">Spieler der sich verteidigt</param>
        /// <param name="würfel">einzelne Würfelwerte des Spielers</param>
        public void FlottenBefehligen(int idSpieler, int[] würfel)
        {
            Spieler temp = GetSpieleraById(idSpieler);

            foreach (int i in würfel)
            {
                if (i == 6)
                {
                    (imperator.kampf as ImperatorKampf).addVerteidigung(temp);
                }
                else if (i == idSpieler)
                {
                    temp.kampf.addVerteidigung();
                }
                else
                {
                    GetSpieleraById(i).kampf.addAngriff(temp);
                }
            }
            schedule++;
            FlottenScheduler();
        }
コード例 #9
0
        public void GeldAusgeben(int idSpieler, int kauf)
        {
            Spieler temp = GetSpieleraById(idSpieler);

            switch (kauf)
            {
            case 1: temp.GeldZuSchreiben += 1000;
                Karte k = deck.Ziehen();
                temp.hand.AddHandkarte(k);
                _hub.KarteIdHinzu(temp, k);
                break;

            case 2: temp.GeldZuSchreiben += 2000;
                temp.flotten++;
                _hub.AddMiliz(temp);
                break;

            case 3: temp.GeldZuSchreiben += 4000;
                temp.planet.addGebäude();
                _hub.AddGebäude(temp);
                break;
            }
            if (kauf > 1 && temp.Credits - temp.GeldZuSchreiben >= 1000)
            {
                KaufenSpieler(temp, false);
            }
            else if (kauf > 0 && temp.Credits - temp.GeldZuSchreiben >= 2000)
            {
                KaufenSpieler(temp, true);
            }
            else
            {
                temp.schreibeAusgaben();
                schedule++;
                Kaufen();
            }
        }
コード例 #10
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void setSpieler(Spieler spieler)
 {
     context.Clients.All.setSpieler(spieler.ID, spieler.punkte, spieler.imperator, spieler.flotten, spieler.hand.GetHandkartenAnzahl());
 }
コード例 #11
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void RemoveMiliz(Spieler spieler)
 {
     context.Clients.All.removeMiliz(spieler.ID);
 }
コード例 #12
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void AddMiliz(Spieler spieler)
 {
     context.Clients.All.addMiliz(spieler.ID);
 }
コード例 #13
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void RemoveGebäude(Spieler spieler)
 {
     context.Clients.All.RemoveGebäude(spieler.ID);
 }
コード例 #14
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void SpieleSpion(Spieler spieler)
 {
     context.Clients.All.SpieleSpion(spieler.planet.würfelzahl);
 }
コード例 #15
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void ZeigeNachricht(Spieler spieler, string nachricht)
 {
     context.Clients.All.ZeigeNachricht(spieler.ID, nachricht);
 }
コード例 #16
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void FlottenAuswahl(Spieler spieler, int flottenAnzahl)
 {
     context.Clients.All.KampfWählen(spieler.ID, flottenAnzahl);
 }
コード例 #17
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void KarteIdHinzu(Spieler spieler, Karte karte)
 {
     context.Clients.All.AddKarte(spieler.planet.würfelzahl, karte.id, karte.titel, karte.text);
 }
コード例 #18
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void AddOtherPlayer(Spieler spieler)
 {
     context.Clients.All.AddOtherPlayer(spieler.ID, spieler.imperator);
 }
コード例 #19
0
 private void KaufenSpieler(Spieler spieler, bool second)
 {
     _hub.Kaufen2(spieler, second);
 }
コード例 #20
0
ファイル: Kampf.cs プロジェクト: wirebug/junta
 public Kampf(Spieler sp)
 {
     zuordnung      = sp;
     angriffswürfel = new Dictionary <Spieler, int>();
 }
コード例 #21
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void won(Spieler spieler)
 {
     context.Clients.All.won(spieler.ID);
 }
コード例 #22
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void SpieleVorkampfkarte(Spieler spieler)
 {
 }
コード例 #23
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void VersprechenEntfernen(Spieler spieler)
 {
     context.Clients.All.RemoveVersprechen(spieler.ID);
 }
コード例 #24
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void AusführenSpion(Spieler spieler)
 {
 }
コード例 #25
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void KarteIDEntfernen(Spieler spieler, Karte karte)
 {
     context.Clients.All.RemoveKarte(spieler.ID, karte.id);
 }
コード例 #26
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void Kaufen(Spieler spieler)
 {
     context.Clients.All.Kaufen(spieler.ID, spieler.Credits, false);
 }
コード例 #27
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void SetzeImperator(Spieler spieler, Spieler alt)
 {
     context.Clients.All.SetImperator(spieler.ID, alt.ID);
 }
コード例 #28
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void Kaufen2(Spieler spieler, bool second)
 {
     context.Clients.All.Kaufen(spieler.ID, (spieler.Credits - spieler.GeldZuSchreiben), second);
 }
コード例 #29
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void SpieleEinbrecher(Spieler spieler)
 {
     context.Clients.All.SpieleEinbrecher(spieler.planet.würfelzahl);
 }
コード例 #30
0
ファイル: JuntaHub.cs プロジェクト: wirebug/junta
 public void AddGebäude(Spieler spieler)
 {
     context.Clients.All.AddGebäude(spieler.ID);
 }