示例#1
0
 public override Player OpDezeSoortLocatieAangekomen(Player speler, GanzenBoard ganzenBoard)
 {
     Console.WriteLine("Op special location Maze: ga naar 39");
     speler.Pion.Locatie = ganzenBoard.Spelboardvakjes.Where(x => x.SpelersVak == DeathLocationToGo).First();
     // Go back to 39
     return(speler);
 }
示例#2
0
 public override Player OpDezeSoortLocatieAangekomen(Player speler, GanzenBoard ganzenBoard)
 {
     Console.WriteLine("Op special location Inn: 1 turn geen beurt");
     speler.turnsToSkip = speler.turnsToSkip + 1;
     return(speler);
     // Skip one turn
 }
示例#3
0
 public override Player OpDezeSoortLocatieAangekomen(Player speler, GanzenBoard ganzenBoard)
 {
     // Go to 12
     Console.WriteLine("Op special location Brug: ga naar vak 12");
     speler.Pion.Locatie = ganzenBoard.Spelboardvakjes.Where(x => x.SpelersVak == BridgeLocationToGo).First();
     return(speler);
 }
示例#4
0
        public GanzenBoard GeneratePlayerBoard(int lengte)
        {
            GanzenBoard ganzenBoard = new GanzenBoard();

            ganzenBoard.Spelboardvakjes = GenerateLocations(lengte);

            var vakkenMetGans = new int[] { 5, 9, 14, 18, 23, 27, 32, 36, 41, 45, 50, 54, 59 };

            ganzenBoard.Spelboardvakjes = GenerateGoons(ganzenBoard.Spelboardvakjes, vakkenMetGans);

            return(ganzenBoard);
        }
示例#5
0
        public void PlayNewRound(ref List <Player> spelersRef, ref List <Ronde> rondeRef, ref GanzenBoard playerBoarRef)
        {
            Spelers     = spelersRef;
            Rondes      = rondeRef;
            PlayerBoard = playerBoarRef;

            _logger.LogInformationMessage($"RONDE: {Rondes.Count}");
            var ronde = _roundService.CreateRound(Rondes.Count);

            Rondes.Add(ronde);
            var dezeRondeGegooid = _roundService.PlayRound(Spelers.Count, ronde);

            for (int i = 0; i < dezeRondeGegooid.Length; i++)
            {
                if (Rondes.Count == 1)
                {
                    Spelers[i].Pion.Locatie = new CasualLocatie(0);
                }

                if (Spelers[i].turnsToSkip >= 0)
                {
                    _logger.LogInformationMessage($"Speler { Spelers[i].Name} mag geen beurt maken");
                    Spelers[i].turnsToSkip = Spelers[i].turnsToSkip - 1;
                }
                else
                {
                    _logger.LogInformationMessage($"Speler { Spelers[i].Name} gooide { dezeRondeGegooid[i] }");

                    _logger.LogInformationMessage($"Speler zijn vorige positie: {Spelers[i].Pion.Locatie.SpelersVak}");

                    if (Spelers[i].Pion.Locatie.SpelersVak + dezeRondeGegooid[i] <= GanzenBoard.AantalValkjes)
                    {
                        Spelers[i].Pion.Locatie = PlayerBoard.Spelboardvakjes.Where(x => x.SpelersVak == Spelers[i].Pion.Locatie.SpelersVak + dezeRondeGegooid[i]).First();
                    }
                    else
                    {
                        var aantalTerug = Spelers[i].Pion.Locatie.SpelersVak + dezeRondeGegooid[i] - GanzenBoard.AantalValkjes;
                        Spelers[i].Pion.Locatie = PlayerBoard.Spelboardvakjes.Where(x => x.SpelersVak == GanzenBoard.AantalValkjes - aantalTerug).First();
                    }
                    _logger.LogInformationMessage($"Speler is aangekomen op vak:  {Spelers[i].Pion.Locatie.SpelersVak}");

                    IsSpelerOpeenGoozeBeland(i, dezeRondeGegooid[i]);

                    Spelers[i] = Spelers[i].Pion.Locatie.OpDezeSoortLocatieAangekomen(Spelers[i], PlayerBoard);

                    _logger.LogInformationMessage("");
                }
            }
            spelersRef    = Spelers;
            rondeRef      = Rondes;
            playerBoarRef = PlayerBoard;
        }
示例#6
0
 public override Player OpDezeSoortLocatieAangekomen(Player speler, GanzenBoard ganzenBoard)
 {
     Console.WriteLine($"Game ended, {speler.Name} wint");
     return(speler);
     // The first player who arrives here, wins the game
 }
示例#7
0
 public abstract Player OpDezeSoortLocatieAangekomen(Player speler, GanzenBoard ganzenBoard);
示例#8
0
 public override Player OpDezeSoortLocatieAangekomen(Player speler, GanzenBoard ganzenBoard)
 {
     return(speler);
     // Go to 12
 }
示例#9
0
 public override Player OpDezeSoortLocatieAangekomen(Player speler, GanzenBoard ganzenBoardr)
 {
     Console.WriteLine("Op special location Well: nog te implementeren");
     //If you come here, you need to wait until another player arrives.  The one who was there first can continue playing
     return(speler);
 }
示例#10
0
 public override Player OpDezeSoortLocatieAangekomen(Player speler, GanzenBoard ganzenBoard)
 {
     throw new NotSupportedException();
 }