public void TestFindWinner() { Contest contest1 = new Contest(); Contender contender1 = new Contender(); Contender contender2 = new Contender(); Contender contender3 = new Contender(); Contender contender4 = new Contender(); Contender contender5 = new Contender(); contest1.add_contender(contender1); contest1.add_contender(contender2); contest1.add_contender(contender3); contest1.add_contender(contender4); contest1.add_contender(contender5); contender1.Name = "Mike"; contender2.Name = "Dredd"; contender3.Name = "Dante"; contender4.Name = "Jason"; contender5.Name = "Trevor"; contender1.totalPoints = 14; contender2.totalPoints = 16; contender3.totalPoints = 5; contender4.totalPoints = 34; contender5.totalPoints = 6; contest1.find_winner(); Assert.AreEqual(34, contest1.ContenderList[3].totalPoints); Assert.AreEqual("Jason", contest1.find_winner()); }
private bool IsSpellAlreadyCasted(SpellDefinitionTooltipData spellDefinitionTooltipData, ref bool isThisSpellActive) { Contender firstAlliedContenderFromEmpireWithUnits = spellDefinitionTooltipData.Encounter.GetFirstAlliedContenderFromEmpireWithUnits(spellDefinitionTooltipData.Empire); foreach (SpellDefinition spellDefinition in this.spellDefinitionDatabase) { if (DepartmentOfTheTreasury.CheckConstructiblePrerequisites(spellDefinitionTooltipData.Empire, spellDefinition, new string[] { ConstructionFlags.Prerequisite })) { for (int i = 0; i < spellDefinition.SpellBattleActions.Length; i++) { StaticString name = spellDefinition.SpellBattleActions[i].BattleActionUserDefinitionReference.Name; BattleAction.State state; if (firstAlliedContenderFromEmpireWithUnits.TryGetBattleActionUserState(name, out state) && state != BattleAction.State.Available) { isThisSpellActive = (spellDefinition.Name == spellDefinitionTooltipData.SpellDefinition.Name); return(true); } } } } return(false); }
private void UpdateBracketEntrants(string[] selectedEntrants, Bracket bracketToUpdate) { if (selectedEntrants == null) { bracketToUpdate.Contenders = new List <Contender>(); return; } var selectedEntrantsHS = new HashSet <string>(selectedEntrants); var bracketEntrants = new HashSet <int>(bracketToUpdate.Contenders.Select(c => c.Entrant.EntrantID)); foreach (var entrant in _context.Entrants) { if (selectedEntrantsHS.Contains(entrant.EntrantID.ToString())) { if (!bracketEntrants.Contains(entrant.EntrantID)) { bracketToUpdate.Contenders.Add(new Contender { BracketID = bracketToUpdate.BracketID, EntrantID = entrant.EntrantID, Eliminated = false, RoundsAlive = 0 }); } } else { if (bracketEntrants.Contains(entrant.EntrantID)) { Contender contenderToRemove = bracketToUpdate.Contenders.SingleOrDefault(i => i.EntrantID == entrant.EntrantID); _context.Remove(contenderToRemove); } } } }
public Contender GetEnemyContenderWithAbilityFromContender(Contender contender, StaticString unitAbility) { Contender contender2 = null; if (this.Contenders != null) { for (int i = 0; i < this.Contenders.Count; i++) { if (this.Contenders[i].Group != contender.Group) { if (contender2 != null && this.Contenders[i].IsMainContender) { contender2 = this.Contenders[i]; } for (int j = 0; j < this.Contenders[i].EncounterUnits.Count; j++) { if (this.Contenders[i].EncounterUnits[j].Unit.CheckUnitAbility(unitAbility, -1)) { return(this.Contenders[i]); } } } } } return(contender2); }
private void AddWinnerToQuestVariable(QuestBehaviour questBehaviour, EventEncounterStateChange e) { Contender contender = e.EventArgs.Encounter.Contenders.FirstOrDefault((Contender match) => match.Empire == questBehaviour.Initiator && match.ContenderState == ContenderState.Survived); if (contender != null) { this.WinnerArmyGUID = contender.GUID; QuestVariable questVariable = questBehaviour.QuestVariables.FirstOrDefault((QuestVariable match) => match.Name == this.Output_WinnerVarName); if (questVariable == null) { questVariable = new QuestVariable(this.Output_WinnerVarName); questBehaviour.QuestVariables.Add(questVariable); } DepartmentOfDefense agency = questBehaviour.Initiator.GetAgency <DepartmentOfDefense>(); Diagnostics.Assert(agency != null); Army army = agency.Armies.FirstOrDefault((Army match) => match.GUID == this.WinnerArmyGUID); if (army == null) { Diagnostics.LogError("Decorator_KillArmy: the army (GUID:'{0}') cannot be found in the empire (index:'{1}') armies", new object[] { this.WinnerArmyGUID, questBehaviour.Initiator.Index }); } questVariable.Object = army; } }
private bool IsThereOneTargetEnemyDead(QuestBehaviour questBehaviour, EventEncounterStateChange e) { if (this.EnemyArmyGUIDs != null) { if (questBehaviour.Quest.QuestDefinition.Category != "GlobalQuest" && !this.IgnoreDisbandedArmies) { for (int i = 0; i < this.EnemyArmyGUIDs.Length; i++) { IGameEntity gameEntity; this.gameEntityRepositoryService.TryGetValue(this.EnemyArmyGUIDs[i], out gameEntity); if (gameEntity != null) { break; } if (gameEntity == null && i == this.EnemyArmyGUIDs.Length - 1) { return(true); } } } for (int j = 0; j < this.EnemyArmyGUIDs.Length; j++) { ulong enemyArmyGUID = this.EnemyArmyGUIDs[j]; if (enemyArmyGUID == 0UL) { Diagnostics.LogError("Enemy contender corresponding to quest variable (varname: '{0}') isn't valid in quest definition (name: '{1}')", new object[] { this.EnemyArmyGUIDs, questBehaviour.Quest.QuestDefinition.Name }); } else { Func <ContenderSnapShot, bool> < > 9__2; Contender contender = e.EventArgs.Encounter.Contenders.FirstOrDefault(delegate(Contender match) { IEnumerable <ContenderSnapShot> contenderSnapShots = match.ContenderSnapShots; Func <ContenderSnapShot, bool> predicate; if ((predicate = < > 9__2) == null) { predicate = (< > 9__2 = ((ContenderSnapShot snapshot) => snapshot.ContenderGUID == enemyArmyGUID)); } return(contenderSnapShots.Any(predicate)); }); if (contender != null && contender.Empire != e.Empire && contender.ContenderState == ContenderState.Defeated) { return(true); } } } return(false); } IEnumerable <Contender> enemiesContenderFromEmpire = e.EventArgs.Encounter.GetEnemiesContenderFromEmpire(e.Empire as global::Empire); if (enemiesContenderFromEmpire == null) { return(false); } return(enemiesContenderFromEmpire.Any((Contender match) => match.ContenderState == ContenderState.Defeated)); }
public async Task <IActionResult> Edit(int id, [Bind("ContenderID,EntrantID,BracketID,Eliminated,RoundsAlive")] Contender contender) { if (id != contender.ContenderID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(contender); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ContenderExists(contender.ContenderID)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } ViewData["EntrantID"] = new SelectList(_context.Entrants, "EntrantID", "Name", contender.EntrantID); return(View(contender)); }
public IEnumerable <Contender> GetEnemiesContenderFromEmpire(global::Empire empire) { Contender firstEnemyContenderFromEmpire = this.GetFirstEnemyContenderFromEmpire(empire); if (firstEnemyContenderFromEmpire != null) { return(this.GetAlliedContenderFromGroup(firstEnemyContenderFromEmpire.Group)); } return(null); }
public IEnumerable <Contender> GetAlliedContendersFromContender(Contender contender) { if (this.Contenders != null) { return(from match in this.Contenders where match.Group == contender.Group select match); } return(null); }
public IEnumerable <Contender> GetAlliedContendersFromEmpire(global::Empire empire) { Contender firstAlliedContenderFromEmpire = this.GetFirstAlliedContenderFromEmpire(empire); if (firstAlliedContenderFromEmpire != null) { return(this.GetAlliedContendersFromContender(firstAlliedContenderFromEmpire)); } return(null); }
public bool DidYaBite(Contender Other) { if (this.iPosition == Other.iPosition) { return(true); } else { return(false); } }
public async Task <IActionResult> Create([Bind("ContenderID,EntrantID,BracketID,Eliminated,RoundsAlive")] Contender contender) { if (ModelState.IsValid) { _context.Add(contender); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewData["EntrantID"] = new SelectList(_context.Entrants, "EntrantID", "Name", contender.EntrantID); return(View(contender)); }
public override void CleanAfterEncounter(Encounter encounter) { global::Empire occupant = this.Occupant; bool flag = false; global::Empire empire = null; Contender contender = null; foreach (Contender contender2 in base.Encounter.Contenders) { if (!contender2.IsAttacking && contender2.Garrison.GUID == this.GUID) { DepartmentOfDefense agency = this.Empire.GetAgency <DepartmentOfDefense>(); agency.UpdateLifeAfterEncounter(this); agency.CleanGarrisonAfterEncounter(this); if (base.Units.Count <Unit>() <= 0 && contender2.IsMainContender) { flag = true; foreach (Contender contender3 in base.Encounter.GetAlliedContendersFromContender(contender2)) { if (contender3.IsTakingPartInBattle && contender3.ContenderState != ContenderState.Defeated) { flag = false; } } } } if (contender2.IsMainContender && contender2.IsAttacking) { empire = contender2.Empire; contender = contender2; } } if (flag && empire != null) { DepartmentOfTheInterior departmentOfTheInterior = null; if (empire is MajorEmpire) { departmentOfTheInterior = (empire as MajorEmpire).GetAgency <DepartmentOfTheInterior>(); } else if (occupant is MajorEmpire) { departmentOfTheInterior = (occupant as MajorEmpire).GetAgency <DepartmentOfTheInterior>(); } if (departmentOfTheInterior != null) { departmentOfTheInterior.SwapFortressOccupant(this, empire, new object[] { contender.Garrison as Army }); } } base.LeaveEncounter(); }
public Contender GetMainEnemyContenderFromContender(Contender contender) { if (this.Contenders != null) { for (int i = 0; i < this.Contenders.Count; i++) { if (this.Contenders[i].Group != contender.Group && this.Contenders[i].IsMainContender) { return(this.Contenders[i]); } } } return(null); }
public List <Contender> ReturnContendersByListOfIds(List <int> ids) { List <Contender> result = new List <Contender>(); foreach (int i in ids) { Contender c = ContendersList.Where(x => x.SystemID == i).Select(d => d).SingleOrDefault(); if (c != null) { result.Add(c); } } return(result); }
private void AddWinnerEmpireToQuestVariable(QuestBehaviour questBehaviour, EventEncounterStateChange e) { Contender contender = e.EventArgs.Encounter.Contenders.FirstOrDefault((Contender match) => match.ContenderState == ContenderState.Survived); if (contender != null) { this.WinnerEmpireIndex = contender.Empire.Index; QuestVariable questVariable = questBehaviour.QuestVariables.FirstOrDefault((QuestVariable match) => match.Name == this.Output_WinnerEmpire); if (questVariable == null) { questVariable = new QuestVariable(this.Output_WinnerEmpire); questBehaviour.QuestVariables.Add(questVariable); } questVariable.Object = this.WinnerEmpireIndex; } }
private void AddPositionToQuestVariable(QuestBehaviour questBehaviour, EventEncounterStateChange e) { Contender contender = e.EventArgs.Encounter.Contenders.FirstOrDefault((Contender match) => match.ContenderState == ContenderState.Defeated); if (contender != null) { this.BattlePosition = contender.WorldPosition; QuestVariable questVariable = questBehaviour.QuestVariables.FirstOrDefault((QuestVariable match) => match.Name == this.Output_Position); if (questVariable == null) { questVariable = new QuestVariable(this.Output_Position); questBehaviour.QuestVariables.Add(questVariable); } questVariable.Object = this.BattlePosition; } }
private void HandleBrackets() { if (ContendersList.Count <= 1) { return; } while (ContendersList.AsEnumerable().Select(x => x.MostRecomendedBracketFrequency).DefaultIfEmpty().Max() >= MartialArts.GeneralBracket.NumberOfContenders && ContendersList.Count > 0) { // extract contender with Max Recomended Bracket int MaxRecBracket = ContendersList.AsEnumerable().Select(x => x.MostRecomendedBracketFrequency).DefaultIfEmpty().Max(); Contender ContMaxRec = ContendersList. Where(x => x.MostRecomendedBracketFrequency == MaxRecBracket).Select(x => x).First(); // for safty check if not placed if (ContMaxRec.IsPlaced == false) { // extract all the contenders of that recomnded bracket var Conts = ReturnContendersByListOfIds(ContMaxRec.GetMostRecommendedBracket().ParticipantsIDs); // for safty check that no body is placed if (Conts.All(x => x.IsPlaced == false)) { if (Conts.Count > MartialArts.GeneralBracket.NumberOfContenders) { SplitBigBracket(Conts, ContMaxRec.GetMostRecommendedBracket()); } else { // builed bracket and arage potential brackets again BuiledBracket(Conts, ContMaxRec.GetMostRecommendedBracket().IdAndScore); ArrangePotentialBracketsAgain(); } if (ContendersList.Count == 1) { return; } } } } if (ContendersList.AsEnumerable().Select(x => x.MostRecomendedBracketFrequency).DefaultIfEmpty().Max() < MartialArts.GeneralBracket.NumberOfContenders) { HandleSmallBrackets(); } }
internal Contender getContender(string id) { SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.Connection = con; cmd.CommandText = "SELECT Citizens.name,Citizens.birthdate,Citizens.street,Citizens.house,Citizens.gender,Citizens.pass,Citizens.neighborhood , Contenders.platform FROM Citizens,Contenders WHERE Citizens.id=" + id + "and Contenders.id=Citizens.id"; SqlDataAdapter sda = new SqlDataAdapter(); DataSet ds = new DataSet(); sda.SelectCommand = cmd; sda.Fill(ds, "Conn_DB"); DataRow row = ds.Tables[0].Rows[0]; Contender c = new Contender(id, row[0].ToString(), row[2].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), Int32.Parse(row[3].ToString()), Convert.ToDateTime(row[1].ToString()), row[7].ToString()); return(c); }
public IActionResult AddContender(Contender contender) { try { _log4net.Info("Contender Details Getting Added - " + "ContenderID is " + (contender.ContenderId + 1).ToString()); if (ModelState.IsValid) { var added = _contenderRepo.Add(contender); return(CreatedAtAction(nameof(AddContender), new { id = contender.ContenderId }, contender)); } return(BadRequest()); } catch { _log4net.Error("Error in Adding Contender Details " + "ContenderID is " + contender.ContenderId.ToString()); return(new NoContentResult()); } }
private void CleanAfterEncounter(Kaiju kaiju, GameEntityGUID garrisonGUID, Encounter encounter) { bool setKaijuFree = false; bool flag = false; foreach (Contender contender in encounter.GetAlliedContendersFromEmpire(kaiju.Empire)) { if (contender.IsTakingPartInBattle && contender.GUID == garrisonGUID && contender.ContenderState == ContenderState.Defeated) { flag = true; break; } } if (kaiju.IsTamed()) { switch (encounter.GetEncounterResultForEmpire(kaiju.Empire)) { case EncounterResult.Draw: setKaijuFree = true; break; case EncounterResult.Victory: setKaijuFree = true; break; } } if (flag) { global::Empire stunner = null; IEnumerable <Contender> enemiesContenderFromEmpire = encounter.GetEnemiesContenderFromEmpire(kaiju.Empire); if (enemiesContenderFromEmpire.Count <Contender>() > 0) { Contender contender2 = enemiesContenderFromEmpire.FirstOrDefault <Contender>(); if (contender2.Empire != null) { stunner = encounter.GetEnemiesContenderFromEmpire(kaiju.Empire).FirstOrDefault <Contender>().Empire; } } this.KaijuLostEncounter(kaiju, stunner, setKaijuFree); } }
private int ComputeDeadEnemyTargetCount(QuestBehaviour questBehaviour, EventEncounterStateChange e) { if (this.EnemyArmyGUIDs == null) { return(0); } int num = 0; for (int i = 0; i < this.EnemyArmyGUIDs.Length; i++) { ulong enemyArmyGUID = this.EnemyArmyGUIDs[i]; if (enemyArmyGUID == 0UL) { Diagnostics.LogError("Enemy contender corresponding to quest variable (varname: '{0}') isn't valid in quest definition (name: '{1}')", new object[] { this.EnemyArmyGUIDs, questBehaviour.Quest.QuestDefinition.Name }); } else { Func <ContenderSnapShot, bool> < > 9__1; Contender contender = e.EventArgs.Encounter.Contenders.FirstOrDefault(delegate(Contender match) { IEnumerable <ContenderSnapShot> contenderSnapShots = match.ContenderSnapShots; Func <ContenderSnapShot, bool> predicate; if ((predicate = < > 9__1) == null) { predicate = (< > 9__1 = ((ContenderSnapShot snapshot) => snapshot.ContenderGUID == enemyArmyGUID)); } return(contenderSnapShots.Any(predicate)); }); if (contender != null && contender.Empire != e.Empire && contender.ContenderState == ContenderState.Defeated) { num++; } } } return(num); }
private void AddLooserToQuestVariable(QuestBehaviour questBehaviour, EventEncounterStateChange e) { if (this.SelectLooserWithTag != string.Empty) { using (IEnumerator <Contender> enumerator = (from match in e.EventArgs.Encounter.Contenders where match.ContenderState == ContenderState.Defeated select match).GetEnumerator()) { while (enumerator.MoveNext()) { Contender contender = enumerator.Current; if (contender.Garrison.HasTag(this.SelectLooserWithTag)) { this.LooserArmyGUID = contender.GUID; QuestVariable questVariable = questBehaviour.QuestVariables.FirstOrDefault((QuestVariable match) => match.Name == this.Output_LooserVarName); if (questVariable == null) { questVariable = new QuestVariable(this.Output_LooserVarName); questBehaviour.QuestVariables.Add(questVariable); } questVariable.Object = contender.Garrison; } } return; } } Contender contender2 = e.EventArgs.Encounter.Contenders.FirstOrDefault((Contender match) => match.ContenderState == ContenderState.Defeated); if (contender2 != null) { this.LooserArmyGUID = contender2.GUID; QuestVariable questVariable2 = questBehaviour.QuestVariables.FirstOrDefault((QuestVariable match) => match.Name == this.Output_LooserVarName); if (questVariable2 == null) { questVariable2 = new QuestVariable(this.Output_LooserVarName); questBehaviour.QuestVariables.Add(questVariable2); } questVariable2.Object = contender2.Garrison; } }
public IActionResult Add(Contender contender) { try { _log4net.Info("Contender Details Getting Added - " + "ContenderID is " + (contender.ContenderID + 1).ToString()); var added = _contenderRepo.Add(contender); if (added) { return(StatusCode(201)); } else { return(StatusCode(400)); } } catch { _log4net.Error("Error in Adding Contender Details " + "ContenderID is " + (contender.ContenderID + 1).ToString()); return(new NoContentResult()); } }
private void CheckIfThereAlreadyIsASpellCasted() { this.thereAlreadyIsASpellCasted = false; Contender firstAlliedContenderFromEmpireWithUnits = this.Encounter.GetFirstAlliedContenderFromEmpireWithUnits(base.Empire); int num = 0; while (num < this.availableSpellDefinitions.Count && !this.thereAlreadyIsASpellCasted) { SpellDefinition spellDefinition = this.availableSpellDefinitions[num]; int num2 = 0; while (num2 < spellDefinition.SpellBattleActions.Length && !this.thereAlreadyIsASpellCasted) { StaticString name = spellDefinition.SpellBattleActions[num2].BattleActionUserDefinitionReference.Name; BattleAction.State state; if (firstAlliedContenderFromEmpireWithUnits.TryGetBattleActionUserState(name, out state)) { this.thereAlreadyIsASpellCasted = (state > BattleAction.State.Available); } num2++; } num++; } }
public async Task <IActionResult> Create(BoardCreateViewModel bingoBoardViewModel) { List <int> positions = new List <int>(); for (int i = 0; i < REQUIRED_PIECES; i++) { positions.Add(i); } // TODO: validate distinct //var distinctEntrants = bingoBoard.Entrants.Select(e => e.EntrantID).Distinct().ToList(); var rand = new Random(DateTime.Now.Millisecond); var bracket = _context.Brackets .Include(b => b.Contenders) .Include(b => b.Rounds) .Single(b => b.BracketID == bingoBoardViewModel.BracketID); var bracketEntrants = bracket.Contenders.Select(b => b.EntrantID).ToList(); var contenders = new List <Contender>(); var roundId = bracket.Rounds != null && bracket.Rounds.Count == 1 ? bracket.Rounds.First().RoundID : -1; for (int i = 0; i < bingoBoardViewModel.Entrants.Count; i++) { Contender contender; if (!bracketEntrants.Contains(bingoBoardViewModel.Entrants[i])) { contender = new Contender { BracketID = bracket.BracketID, EntrantID = bingoBoardViewModel.Entrants[i], }; _context.Add(contender); if (roundId != -1) { _context.Add(new RoundContender { RoundID = roundId, ContenderID = contender.ContenderID }); } } else { contender = bracket.Contenders.Single(c => c.EntrantID == bingoBoardViewModel.Entrants[i]); } contenders.Add(contender); } //await _context.SaveChangesAsync(); var bingoBoard = new BingoBoard { BracketID = bracket.BracketID, Title = bingoBoardViewModel.Title, RoundEliminated = -1 }; bingoBoard.BoardPieces = new List <BoardPiece>(); for (int i = 0; i < contenders.Count; i++) { var pos = i == 0 ? positions.Count / 2 : rand.Next(0, positions.Count); var boardPieceToAdd = new BoardPiece { BingoBoardID = bingoBoard.BingoBoardID, ContenderID = contenders[i].ContenderID, BoardPosition = positions[pos] }; positions.Remove(positions[pos]); bingoBoard.BoardPieces.Add(boardPieceToAdd); } if (ModelState.IsValid) { _context.Add(bingoBoard); await _context.SaveChangesAsync(); return(RedirectToAction("Manage", "Brackets", new { id = bingoBoard.BracketID })); } return(View(bingoBoard)); }
public void TestContenderClass() { Contender contender1 = new Contender(); Contender contender2 = new Contender(); Contender contender3 = new Contender(); Contender contender4 = new Contender(); contender1.Id = 1; contender2.Id = 2; contender3.Id = 3; contender4.Id = 4; Assert.AreEqual(1, contender1.Id); Assert.AreEqual(2, contender2.Id); Assert.AreEqual(3, contender3.Id); Assert.AreEqual(4, contender4.Id); contender1.Name = "Ivar"; contender2.Name = "Carlos"; contender3.Name = "Tomas"; contender4.Name = "Viktor"; Assert.AreEqual("Ivar", contender1.Name); Assert.AreEqual("Carlos", contender2.Name); Assert.AreEqual("Tomas", contender3.Name); Assert.AreEqual("Viktor", contender4.Name); contender1.Nationality = "Swe"; contender2.Nationality = "Swe"; contender3.Nationality = "Swe"; contender4.Nationality = "Swe"; Assert.AreEqual("Swe", contender1.Nationality); Assert.AreEqual("Swe", contender2.Nationality); Assert.AreEqual("Swe", contender3.Nationality); Assert.AreEqual("Swe", contender4.Nationality); //Test av konstruktor Contender contender = new Contender(); contender.AddContender(5, "Kjell", "Swe"); Assert.AreEqual("Kjell", contender.Name); Assert.AreEqual("Swe", contender.Nationality); Assert.AreEqual(5, contender.Id); Jump jump1 = new Jump(); Jump jump2 = new Jump(); Jump jump3 = new Jump(); Jump jump4 = new Jump(); jump1.Point = 5; jump2.Point = 10; jump4.Point = 15; jump3.Point = 1; Assert.AreEqual(true, contender1.IsJumpListEmpty()); contender1.add_jump(jump1); contender1.add_jump(jump2); contender2.add_jump(jump3); contender2.add_jump(jump4); contender3.add_jump(jump1); contender3.add_jump(jump4); contender4.add_jump(jump2); contender4.add_jump(jump3); Assert.AreEqual(false, contender1.IsJumpListEmpty()); contender1.summeraPoints(); contender2.summeraPoints(); contender3.summeraPoints(); contender4.summeraPoints(); Assert.AreEqual(15, contender1.totalPoints); Assert.AreEqual(16, contender2.totalPoints); Assert.AreEqual(20, contender3.totalPoints); Assert.AreEqual(11, contender4.totalPoints); }
public void TestSimulationOfContest() { //Skapar tävling och slänger in all information för att kunna vara en fungerande tävling Contest SimOS2017 = new Contest(); SimOS2017.Name = "SimOS2017"; SimOS2017.Date = "21/02-2017"; SimOS2017.GenderContest = "Male"; SimOS2017.Jumpheight = 7; Contender contender1 = new Contender(); Contender contender2 = new Contender(); Contender contender3 = new Contender(); Jump c0jump0 = new Jump(); c0jump0.Jumpstyle = "302A"; c0jump0.jumpDifficulty = 0.6; Jump c0jump1 = new Jump(); c0jump1.Jumpstyle = "355B"; c0jump1.jumpDifficulty = 0.1; Jump c0jump2 = new Jump(); c0jump2.Jumpstyle = "222B"; c0jump2.jumpDifficulty = 0.4; Jump c0jump3 = new Jump(); c0jump3.Jumpstyle = "288B"; c0jump3.jumpDifficulty = 0.8; Jump c0jump4 = new Jump(); c0jump4.Jumpstyle = "128B"; c0jump4.jumpDifficulty = 0.9; Jump c0jump5 = new Jump(); c0jump5.Jumpstyle = "488B"; c0jump5.jumpDifficulty = 0.8; Jump c0jump6 = new Jump(); c0jump6.Jumpstyle = "138B"; c0jump6.jumpDifficulty = 0.9; Jump c1jump0 = new Jump(); c1jump0.Jumpstyle = "303A"; c1jump0.jumpDifficulty = 0.8; Jump c1jump1 = new Jump(); c1jump1.Jumpstyle = "352B"; c1jump1.jumpDifficulty = 0.5; Jump c1jump2 = new Jump(); c1jump2.Jumpstyle = "222A"; c1jump2.jumpDifficulty = 0.4; Jump c1jump3 = new Jump(); c1jump3.Jumpstyle = "289B"; c1jump3.jumpDifficulty = 0.2; Jump c1jump4 = new Jump(); c1jump4.Jumpstyle = "128B"; c1jump4.jumpDifficulty = 0.9; Jump c1jump5 = new Jump(); c1jump5.Jumpstyle = "280B"; c1jump5.jumpDifficulty = 0.2; Jump c1jump6 = new Jump(); c1jump6.Jumpstyle = "100B"; c1jump6.jumpDifficulty = 0.9; Jump c2jump0 = new Jump(); c2jump0.Jumpstyle = "300A"; c2jump0.jumpDifficulty = 0.6; Jump c2jump1 = new Jump(); c2jump1.Jumpstyle = "351B"; c2jump1.jumpDifficulty = 0.4; Jump c2jump2 = new Jump(); c2jump2.Jumpstyle = "222A"; c2jump2.jumpDifficulty = 0.4; Jump c2jump3 = new Jump(); c2jump3.Jumpstyle = "289B"; c2jump3.jumpDifficulty = 0.2; Jump c2jump4 = new Jump(); c2jump4.Jumpstyle = "129B"; c2jump4.jumpDifficulty = 0.8; Jump c2jump5 = new Jump(); c2jump5.Jumpstyle = "289B"; c2jump5.jumpDifficulty = 0.2; Jump c2jump6 = new Jump(); c2jump6.Jumpstyle = "129B"; c2jump6.jumpDifficulty = 0.5; Assert.AreEqual(true, contender1.IsJumpListEmpty()); Assert.AreEqual(true, contender2.IsJumpListEmpty()); Assert.AreEqual(true, contender3.IsJumpListEmpty()); contender1.Id = 1; contender1.Name = "Alfred Fjällvard"; contender1.Nationality = "Norway"; contender1.add_jump(c0jump0); contender1.add_jump(c0jump1); contender1.add_jump(c0jump2); contender1.add_jump(c0jump3); contender1.add_jump(c0jump4); contender1.add_jump(c0jump5); contender1.add_jump(c0jump6); contender2.Id = 2; contender2.Name = "Dicken Larsen"; contender2.Nationality = "Denmark"; contender2.add_jump(c1jump0); contender2.add_jump(c1jump1); contender2.add_jump(c1jump2); contender2.add_jump(c1jump3); contender2.add_jump(c1jump4); contender2.add_jump(c1jump5); contender2.add_jump(c1jump6); contender3.Id = 3; contender3.Name = "Stefan Lundmark"; contender3.Nationality = "Sweden"; contender3.add_jump(c2jump0); contender3.add_jump(c2jump1); contender3.add_jump(c2jump2); contender3.add_jump(c2jump3); contender3.add_jump(c2jump4); contender3.add_jump(c2jump5); contender3.add_jump(c2jump6); Assert.AreEqual(false, contender1.IsJumpListEmpty()); Assert.AreEqual(false, contender2.IsJumpListEmpty()); Assert.AreEqual(false, contender3.IsJumpListEmpty()); Assert.AreEqual(true, SimOS2017.IsContenderListEmpty()); SimOS2017.add_contender(contender1); SimOS2017.add_contender(contender2); SimOS2017.add_contender(contender3); Assert.AreEqual(false, SimOS2017.IsContenderListEmpty()); //tävling skapad och ska nu öppnas för att bli dömd av domare Judge judge1 = new Judge(); Judge judge2 = new Judge(); Judge judge3 = new Judge(); SimOS2017.add_judge(judge1); SimOS2017.add_judge(judge2); SimOS2017.add_judge(judge3); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Assert.AreEqual(0, SimOS2017.ii); Assert.AreEqual(0, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(4, 2, 2); //hoppnr1 Assert.AreEqual(1, SimOS2017.ii); Assert.AreEqual(0, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(2, 6, 4); Assert.AreEqual(2, SimOS2017.ii); Assert.AreEqual(0, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(8, 8, 7); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Assert.AreEqual(3, SimOS2017.ii); Assert.AreEqual(0, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(5, 5, 5); //hoppnr2 Assert.AreEqual(1, SimOS2017.ii); Assert.AreEqual(1, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(4, 4, 4); Assert.AreEqual(2, SimOS2017.ii); Assert.AreEqual(1, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(8, 8, 8); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Assert.AreEqual(3, SimOS2017.ii); Assert.AreEqual(1, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(10, 9, 9); //hoppnr3 Assert.AreEqual(1, SimOS2017.ii); Assert.AreEqual(2, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(8, 7, 8); Assert.AreEqual(2, SimOS2017.ii); Assert.AreEqual(2, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(6, 6, 6); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Assert.AreEqual(3, SimOS2017.ii); Assert.AreEqual(2, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(7, 6, 6); //hoppnr4 Assert.AreEqual(1, SimOS2017.ii); Assert.AreEqual(3, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(8, 7, 8); Assert.AreEqual(2, SimOS2017.ii); Assert.AreEqual(3, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(7, 9, 6); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Assert.AreEqual(3, SimOS2017.ii); Assert.AreEqual(3, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(5, 5, 4); //hoppnr5 Assert.AreEqual(1, SimOS2017.ii); Assert.AreEqual(4, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(3, 3, 2); Assert.AreEqual(2, SimOS2017.ii); Assert.AreEqual(4, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(7, 5, 5); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Assert.AreEqual(3, SimOS2017.ii); Assert.AreEqual(4, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(5, 5, 5); //hoppnr6 Assert.AreEqual(1, SimOS2017.ii); Assert.AreEqual(5, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(4, 6, 4); Assert.AreEqual(2, SimOS2017.ii); Assert.AreEqual(5, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(7, 6, 8); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Assert.AreEqual(3, SimOS2017.ii); Assert.AreEqual(5, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(6, 3, 4); //hoppnr7 Assert.AreEqual(1, SimOS2017.ii); Assert.AreEqual(6, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(5, 6, 7); Assert.AreEqual(3, SimOS2017.ContenderList.Count); Assert.AreEqual(2, SimOS2017.ii); Assert.AreEqual(6, SimOS2017.jj); SimOS2017.judge_gives_jumpPoints_to_contender_in_contest(9, 9, 6); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// SimOS2017.printShit(); Assert.AreEqual(48, (int)(SimOS2017.ContenderList[0].ListJumps[0].Point * 10)); Assert.AreEqual(96, (int)(SimOS2017.ContenderList[1].ListJumps[0].Point * 10)); Assert.AreEqual(138, (int)(SimOS2017.ContenderList[2].ListJumps[0].Point * 10)); Assert.AreEqual(15, (int)(SimOS2017.ContenderList[0].ListJumps[1].Point * 10)); Assert.AreEqual(60, (int)(SimOS2017.ContenderList[1].ListJumps[1].Point * 10)); Assert.AreEqual(96, (int)(SimOS2017.ContenderList[2].ListJumps[1].Point * 10)); Assert.AreEqual(112, (int)(SimOS2017.ContenderList[0].ListJumps[2].Point * 10)); Assert.AreEqual(92, (int)(SimOS2017.ContenderList[1].ListJumps[2].Point * 10)); Assert.AreEqual(72, (int)(SimOS2017.ContenderList[2].ListJumps[2].Point * 10)); Assert.AreEqual(152, (int)(SimOS2017.ContenderList[0].ListJumps[3].Point * 10)); Assert.AreEqual(46, (int)(SimOS2017.ContenderList[1].ListJumps[3].Point * 10)); Assert.AreEqual(44, (int)(SimOS2017.ContenderList[2].ListJumps[3].Point * 10)); Assert.AreEqual(126, (int)(SimOS2017.ContenderList[0].ListJumps[4].Point * 10)); Assert.AreEqual(72, (int)(SimOS2017.ContenderList[1].ListJumps[4].Point * 10)); Assert.AreEqual(136, (int)(SimOS2017.ContenderList[2].ListJumps[4].Point * 10)); Assert.AreEqual(120, (int)(SimOS2017.ContenderList[0].ListJumps[5].Point * 10)); Assert.AreEqual(28, (int)(SimOS2017.ContenderList[1].ListJumps[5].Point * 10)); Assert.AreEqual(42, (int)(SimOS2017.ContenderList[2].ListJumps[5].Point * 10)); Assert.AreEqual(117, (int)(SimOS2017.ContenderList[0].ListJumps[6].Point * 10)); Assert.AreEqual(162, (int)(SimOS2017.ContenderList[1].ListJumps[6].Point * 10)); Assert.AreEqual(120, (int)(SimOS2017.ContenderList[2].ListJumps[6].Point * 10)); Assert.AreEqual("Alfred Fjällvard", SimOS2017.find_winner()); Assert.AreEqual(false, SimOS2017.ContestFinished); SimOS2017.EndContest(); Assert.AreEqual(true, SimOS2017.ContestFinished); }
public void Testjudge_gives_jumpPoints_to_contender_in_contest() { Contest contest = new Contest(); Judge judge1 = new Judge(); Judge judge2 = new Judge(); Judge judge3 = new Judge(); Contender contender1 = new Contender(); Contender contender2 = new Contender(); Jump c1Jump1 = new Jump(); c1Jump1.Jumpstyle = "100A"; c1Jump1.jumpDifficulty = 0.5; Jump c1Jump2 = new Jump(); c1Jump2.Jumpstyle = "101B"; c1Jump2.jumpDifficulty = 0.6; Jump c1Jump3 = new Jump(); c1Jump3.Jumpstyle = "123A"; c1Jump3.jumpDifficulty = 0.1; Jump c1Jump4 = new Jump(); c1Jump4.Jumpstyle = "203A"; c1Jump4.jumpDifficulty = 0.3; Jump c1Jump5 = new Jump(); c1Jump5.Jumpstyle = "431A"; c1Jump5.jumpDifficulty = 0.8; Jump c1Jump6 = new Jump(); c1Jump6.Jumpstyle = "303A"; c1Jump6.jumpDifficulty = 0.5; Jump c1Jump7 = new Jump(); c1Jump7.Jumpstyle = "309B"; c1Jump7.jumpDifficulty = 0.4; contender1.add_jump(c1Jump1); contender1.add_jump(c1Jump2); contender1.add_jump(c1Jump3); contender1.add_jump(c1Jump4); contender1.add_jump(c1Jump5); contender1.add_jump(c1Jump6); contender1.add_jump(c1Jump7); Jump c2Jump1 = new Jump(); c2Jump1.Jumpstyle = "234A"; c2Jump1.jumpDifficulty = 0.6; Jump c2Jump2 = new Jump(); c2Jump2.Jumpstyle = "300B"; c2Jump2.jumpDifficulty = 0.4; Jump c2Jump3 = new Jump(); c2Jump3.Jumpstyle = "108B"; c2Jump3.jumpDifficulty = 0.4; Jump c2Jump4 = new Jump(); c2Jump4.Jumpstyle = "103B"; c2Jump4.jumpDifficulty = 0.7; Jump c2Jump5 = new Jump(); c2Jump5.Jumpstyle = "101A"; c2Jump5.jumpDifficulty = 0.5; Jump c2Jump6 = new Jump(); c2Jump6.Jumpstyle = "100B"; c2Jump6.jumpDifficulty = 0.5; Jump c2Jump7 = new Jump(); c2Jump7.Jumpstyle = "252A"; c2Jump7.jumpDifficulty = 0.6; contender2.add_jump(c2Jump1); contender2.add_jump(c2Jump2); contender2.add_jump(c2Jump3); contender2.add_jump(c2Jump4); contender2.add_jump(c2Jump5); contender2.add_jump(c2Jump6); contender2.add_jump(c2Jump7); contest.add_contender(contender1); contest.add_contender(contender2); contest.judge_gives_jumpPoints_to_contender_in_contest(4, 2, 2); //hoppnr1 //contest.judge_gives_jumpPoints_to_contender_in_contest(2, 6, 4); //contest.judge_gives_jumpPoints_to_contender_in_contest(6, 5, 5); //hoppnr2 //contest.judge_gives_jumpPoints_to_contender_in_contest(2, 3, 5); //contest.judge_gives_jumpPoints_to_contender_in_contest(4, 4, 2); //hoppnr3 //contest.judge_gives_jumpPoints_to_contender_in_contest(5, 6, 7); //contest.judge_gives_jumpPoints_to_contender_in_contest(8, 4, 3); //hoppnr4 //contest.judge_gives_jumpPoints_to_contender_in_contest(2, 8, 6); //contest.judge_gives_jumpPoints_to_contender_in_contest(2, 7, 4); //hoppnr5 //contest.judge_gives_jumpPoints_to_contender_in_contest(1, 6, 5); //contest.judge_gives_jumpPoints_to_contender_in_contest(6, 6, 6); //hoppnr6 //contest.judge_gives_jumpPoints_to_contender_in_contest(6, 3, 6); //contest.judge_gives_jumpPoints_to_contender_in_contest(9, 4, 5); //hoppnr7 //contest.judge_gives_jumpPoints_to_contender_in_contest(10, 5, 7); Assert.AreEqual(40, (int)(contest.ContenderList[0].ListJumps[0].Point * 10)); //Assert.AreEqual(72, (int)(contest.ContenderList[1].ListJumps[0].Point * 10)); //Assert.AreEqual(96, (int)(contest.ContenderList[0].ListJumps[1].Point * 10)); //Assert.AreEqual(40, (int)(contest.ContenderList[1].ListJumps[1].Point * 10)); //Assert.AreEqual(10, (int)(contest.ContenderList[0].ListJumps[2].Point * 10)); //Assert.AreEqual(72, (int)(contest.ContenderList[1].ListJumps[2].Point * 10)); //Assert.AreEqual(45, (int)(contest.ContenderList[0].ListJumps[3].Point * 10)); //Assert.AreEqual(112, (int)(contest.ContenderList[1].ListJumps[3].Point * 10)); //Assert.AreEqual(104, (int)(contest.ContenderList[0].ListJumps[4].Point * 10)); //Assert.AreEqual(60, (int)(contest.ContenderList[1].ListJumps[4].Point * 10)); //Assert.AreEqual(90, (int)(contest.ContenderList[0].ListJumps[5].Point * 10)); //Assert.AreEqual(75, (int)(contest.ContenderList[1].ListJumps[5].Point * 10)); //Assert.AreEqual(72, (int)(contest.ContenderList[0].ListJumps[6].Point * 10)); //Assert.AreEqual(132, (int)(contest.ContenderList[1].ListJumps[6].Point * 10)); contest.printShit(); }
public static void Main(string[] args) { Contender contender = new Contender(); Contender contender1 = new Contender(); Jump jump1 = new Jump(); Jump jump2 = new Jump(); Jump jump3 = new Jump(); Jump jump4 = new Jump(); jump1.Jumpstyle = "301A"; jump2.Jumpstyle = "31A"; jump3.Jumpstyle = "3901A"; jump4.Jumpstyle = "3081A"; contender.Name = "Viktor Lundin"; contender1.Name = "Carlos Mantero"; contender.Nationality = "Sweden"; contender1.Nationality = "Sweden"; contender.add_jump(jump4); contender.add_jump(jump3); contender1.add_jump(jump1); contender1.add_jump(jump2); Contest contest = new Contest(); contest.add_contender(contender); contest.add_contender(contender1); TcpServer server = TcpServer.Instance(); //Startar servern och börjar lyssna efter domarklienter String infoStringforJudges = String.Empty, str, PointString; int j = 0; try { str = ReadLine(); foreach (var x in contest.ContenderList) { for (int i = 0; i < contest.ContenderList.Count; i++) { infoStringforJudges = (contest.ContenderList[i].Name + " " + contest.ContenderList[i].Nationality + " " + contest.ContenderList[i].ListJumps[j].Jumpstyle); server.SendToAllClients(infoStringforJudges); lock (server.ListHandleTcpClients) { foreach (var judge in server.ListHandleTcpClients) { PointString = String.Empty; PointString = judge.StreamReader.ReadLine(); contest.ContenderList[i].ListJumps[j].Point += double.Parse(PointString, System.Globalization.NumberStyles.AllowDecimalPoint); } //För att få in jumpdifficulty gör en till foreach loop som går igenom alla hopp och gångrar med dess svårighetsgrad. } } j++; } foreach (var item in contest.ContenderList) { item.summeraPoints(); } foreach (var item in contest.ContenderList) { Console.WriteLine(item.Name + " " + item.totalPoints); } } catch (Exception) { throw; } finally { Thread.Sleep(5000); server.KillThreads(); } }