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; }
// TO DO // bug starpositie 9, isOpzGoozeBeland // cleanup Game.cs public void PlayNewRound() { _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; continue; } if (Spelers[i].Pion.Locatie.SpelersVak == InnLocatie.InnLocation) { if (!Spelers.Where(x => x.Pion.Locatie.SpelersVak == InnLocatie.InnLocation && x.Id != Spelers[i].Id).Any()) { _logger.LogInformationMessage($"Speler { Spelers[i].Name} staat als enige op de well en mag geen beurt maken"); continue; } } _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(""); } }
public async Task <string> CreateRound(int gameId) { try { var idRound = await _roundService.CreateRound(gameId); var result = JsonConvert.SerializeObject(idRound); return(result); } catch (Exception e) { LogWriter.WriteLog(e.Message, "GameApiController"); throw; } }
public RoundDto CreateRound(Guid gameId, Guid playerId, [FromBody] RoundDto round) { return(_roundService.CreateRound(round)); }