public Scene1() { Entity cameraControllerEntity = new Entity(); cameraControllerEntity.Bind(new CameraController()); cameraControllerEntity.Bind(new CameraControllerDrawer()); Add(cameraControllerEntity); MainCamera.Width /= 2; MainCamera.Height /= 2; var offset = new Vector2(MainCamera.Width / 2f, MainCamera.Height / 2f); MainCamera.Offset = offset; for (int i = 0; i < 100; i++) { var p = new DummyPlayer(); Add(p); p.X = Random.Range(.2f, .8f) * MononokeGame.Width; p.Y = Random.Range(.2f, .8f) * MononokeGame.Height; /* * var b = new DummyBox(); * Add(b); * b.X = Random.Next(MononokeGame.Width); * b.Y = Random.Next(MononokeGame.Height); */ } //Space.EnableDebugDraw = true; }
protected override ISantaseGame CreateGame() { IPlayer firstPlayer = new ELRumDrinkingCapitanPlayer(); // new PlayerWithLoggerDecorator(new SmartPlayer(), new ConsoleLogger("[-]")) IPlayer secondPlayer = new DummyPlayer(); ISantaseGame game = new SantaseGame(firstPlayer, secondPlayer); // new ConsoleLogger("[game] ")); return game; }
protected override ISantaseGame CreateGame() { IPlayer firstPlayer = new DummyPlayer("First Dummy Player"); IPlayer secondPlayer = new DummyPlayer("Second Dummy Player"); ISantaseGame game = new SantaseGame(firstPlayer, secondPlayer); // new ConsoleLogger("[game] ")); return(game); }
protected override ISantaseGame CreateGame() { IPlayer firstPlayer = new SantiagoPlayer(); // new PlayerWithLoggerDecorator(new SmartPlayer(), new ConsoleLogger("[-]")) IPlayer secondPlayer = new DummyPlayer(); ISantaseGame game = new SantaseGame(firstPlayer, secondPlayer); // new ConsoleLogger("[game] ")); return(game); }
public void TestClone_CloneIgnore_Player() { var player = new DummyPlayer(); player.Color = Color.Black; player.IsChanged = true; var player2 = player.Clone(); Assert.AreEqual(player.Color, player2.Color); Assert.IsTrue(player2.IsChanged); }
public DummyLobbyMaster() { DummyPlayer player = new DummyPlayer(0, "Server", 0, 0); LobbyPlayers.Add(player); LobbyPlayersMap.Add(0, player); LobbyTeams.Add(0, new List <IClientMockPlayer>() { player }); }
public void ShouldHave_0_StartingCrystals() { //assign IDeck startingDummyDeck = new DummyDeck(); IDummyPlayer dummyPlayer = new DummyPlayer(startingDummyDeck); //act int startingCrystalCount = dummyPlayer.CrystalCount(); //assert startingCrystalCount.Should().Be(0); }
void OnTriggerEnter(Collider other) { GameObject otherObject = other.gameObject; RespondToHidingPlace actionScript = otherObject.GetComponent <RespondToHidingPlace>(); // actionScript.isInHiding = true; actionScript.EnterHiding(transform.position); // Tell the server that this player is now hiding DummyPlayer dummyScript = otherObject.GetComponent <DummyPlayer>(); dummyScript.frozen = true; }
public void ShouldHave_1_StartingCrystal() { //assign IEnumerable <ICrystal> crystals = new List <ICrystal> { new GreenCrystal() }; IDeck startingDummyDeck = new DummyDeck(); IDummyPlayer dummyPlayer = new DummyPlayer(startingDummyDeck, crystals); //act int startingCrystalCount = dummyPlayer.CrystalCount(); //assert startingCrystalCount.Should().Be(1); }
// public void InitialiseFishPositions () { // } void Start() { playerRigidbody = GetComponent <Rigidbody> (); hidingPlaceLookRotation = Quaternion.LookRotation(hidingPlaceLookDirection); cam = GameObject.Find("/WigglyFish/Camera").GetComponent <Camera>(); // sardineModel = this.gameObject.transform.GetChild(0); dummyPlayer = GetComponent <DummyPlayer> (); Debug.Log("cam = " + cam); originalCamPosition = cam.transform.localPosition; originalCamRotation = cam.transform.localRotation; // ExitHiding(); }
private static void Main() { IPlayer southPlayer = new DummyPlayer("South dummy"); // new DebugDummyPlayer("South debug dummy"); IPlayer eastPlayer = new DummyPlayer("East dummy"); IPlayer northPlayer = new DummyPlayer("North dummy", alwaysPass: false); IPlayer westPlayer = new DummyPlayer("West dummy", alwaysPass: false); var game = new GameManager(southPlayer, eastPlayer, northPlayer, westPlayer); game.GameInfo.PlayerBid += GameInfoOnPlayerBid; game.GameInfo.CardPlayed += GameInfoOnCardPlayed; for (int i = 0; i < 10000; i++) { game.StartNewGame(); //// Console.WriteLine("{0} - {1}", game.SouthNorthScore, game.EastWestScore); } }
private int SimulateGamesAndGetSmartPlayerWins(int gamesToSimulate) { var smartPlayer = new SmartPlayer(); var smartPlayerWins = 0; var dummyPlayer = new DummyPlayer(); var game = new SantaseGame(smartPlayer, dummyPlayer); for (var i = 0; i < gamesToSimulate; i++) { var winner = game.Start(i % 2 == 0 ? PlayerPosition.FirstPlayer : PlayerPosition.SecondPlayer); if (winner == PlayerPosition.FirstPlayer) { smartPlayerWins++; } } // Console.WriteLine(smartPlayerWins); return(smartPlayerWins); }
public static void Main() { // Initialize console properties Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; ConsoleHelper.ResizeConsole(80, Settings.ConsoleHeight); Console.OutputEncoding = Encoding.Unicode; Console.Title = Settings.ProgramName; ConsoleHelper.WriteOnPosition("Please enter player name: ", 20, 9, ConsoleColor.Black, ConsoleColor.DarkGray); var playerName = Console.ReadLine(); Console.Clear(); IPlayer southPlayer = new ConsoleHumanPlayer(playerName); IPlayer eastPlayer = new DummyPlayer("East dummy", alwaysPass: false); IPlayer northPlayer = new DummyPlayer("North dummy", alwaysPass: false); IPlayer westPlayer = new DummyPlayer("West dummy"); var game = new GameManager(southPlayer, eastPlayer, northPlayer, westPlayer); game.StartNewGame(); }
private IClientMockPlayer CreateClientMockPlayer(uint playerId, string playerName) { var player = new DummyPlayer(playerId, playerName, 0, 0); return(player); }
public void ComputeMechanics(ParsedLog log) { MechanicData mechData = log.MechanicData; FightData fightData = log.FightData; CombatData combatData = log.CombatData; long start = fightData.FightStart; long end = fightData.FightEnd; Mechanic.CheckSpecialCondition condition; HashSet <ushort> playersIds = new HashSet <ushort>(log.PlayerList.Select(x => x.InstID)); Dictionary <ushort, AbstractMasterPlayer> regroupedMobs = new Dictionary <ushort, AbstractMasterPlayer>(); foreach (Mechanic mech in MechanicList) { switch (mech.MechanicType) { case Mechanic.MechType.PlayerStatus: foreach (Player p in log.PlayerList) { List <CombatItem> cList = new List <CombatItem>(); switch (mech.SkillId) { case SkillItem.DeathId: cList = combatData.GetStates(p.InstID, ParseEnum.StateChange.ChangeDead, start, end); break; case SkillItem.DownId: cList = combatData.GetStates(p.InstID, ParseEnum.StateChange.ChangeDown, start, end); break; case SkillItem.ResurrectId: cList = log.GetCastData(p.InstID).Where(x => x.SkillID == SkillItem.ResurrectId && x.IsActivation.IsCasting()).ToList(); break; } foreach (CombatItem mechItem in cList) { mechData[mech].Add(new MechanicLog(mechItem.Time - start, mech, p)); } } break; case Mechanic.MechType.SkillOnPlayer: foreach (Player p in log.PlayerList) { List <DamageLog> dls = p.GetDamageTakenLogs(log, 0, fightData.FightDuration); condition = mech.SpecialCondition; foreach (DamageLog dLog in dls) { if (condition != null && !condition(new SpecialConditionItem(dLog))) { continue; } if (dLog.SkillId == mech.SkillId && dLog.Result.IsHit()) { mechData[mech].Add(new MechanicLog(dLog.Time, mech, p)); } } } break; case Mechanic.MechType.PlayerBoon: case Mechanic.MechType.PlayerOnPlayer: case Mechanic.MechType.PlayerBoonRemove: foreach (Player p in log.PlayerList) { condition = mech.SpecialCondition; foreach (CombatItem c in log.GetBoonData(mech.SkillId)) { if (condition != null && !condition(new SpecialConditionItem(c))) { continue; } if (mech.MechanicType == Mechanic.MechType.PlayerBoonRemove) { if (c.IsBuffRemove == ParseEnum.BuffRemove.Manual && p.InstID == c.SrcInstid) { mechData[mech].Add(new MechanicLog(c.Time - start, mech, p)); } } else { if (c.IsBuffRemove == ParseEnum.BuffRemove.None && p.InstID == c.DstInstid) { mechData[mech].Add(new MechanicLog(c.Time - start, mech, p)); if (mech.MechanicType == Mechanic.MechType.PlayerOnPlayer) { mechData[mech].Add(new MechanicLog(c.Time - start, mech, log.PlayerList.FirstOrDefault(x => x.InstID == c.SrcInstid))); } } } } } break; case Mechanic.MechType.HitOnEnemy: foreach (Player p in log.PlayerList) { condition = mech.SpecialCondition; IEnumerable <AgentItem> agents = log.AgentData.GetAgentsByID((ushort)mech.SkillId); foreach (AgentItem a in agents) { foreach (DamageLog dl in p.GetDamageLogs(null, log, 0, log.FightData.FightDuration)) { if (dl.DstInstId != a.InstID || dl.IsCondi > 0 || dl.Time < a.FirstAware - start || dl.Time > a.LastAware - start || (condition != null && !condition(new SpecialConditionItem(dl)))) { continue; } mechData[mech].Add(new MechanicLog(dl.Time, mech, p)); } } } break; case Mechanic.MechType.PlayerSkill: foreach (Player p in log.PlayerList) { condition = mech.SpecialCondition; foreach (CombatItem c in log.GetCastDataById(mech.SkillId)) { if (condition != null && !condition(new SpecialConditionItem(c))) { continue; } if (c.IsActivation.IsCasting() && c.SrcInstid == p.InstID) { mechData[mech].Add(new MechanicLog(c.Time - fightData.FightStart, mech, p)); } } } break; case Mechanic.MechType.EnemyBoon: case Mechanic.MechType.EnemyBoonStrip: condition = mech.SpecialCondition; foreach (CombatItem c in log.GetBoonData(mech.SkillId)) { if (condition != null && !condition(new SpecialConditionItem(c))) { continue; } AbstractMasterPlayer amp = null; if (mech.MechanicType == Mechanic.MechType.EnemyBoon && c.IsBuffRemove == ParseEnum.BuffRemove.None) { Boss target = Targets.Find(x => x.InstID == c.DstInstid && x.FirstAware <= c.Time && x.LastAware >= c.Time); if (target != null) { amp = target; } else { AgentItem a = log.AgentData.GetAgent(c.DstAgent); if (playersIds.Contains(a.InstID)) { continue; } else if (a.MasterAgent != 0) { AgentItem m = log.AgentData.GetAgent(a.MasterAgent); if (playersIds.Contains(m.InstID)) { continue; } } if (!regroupedMobs.TryGetValue(a.ID, out amp)) { amp = new DummyPlayer(a); regroupedMobs.Add(a.ID, amp); } } } else if (mech.MechanicType == Mechanic.MechType.EnemyBoonStrip && c.IsBuffRemove == ParseEnum.BuffRemove.Manual) { Boss target = Targets.Find(x => x.InstID == c.SrcInstid && x.FirstAware <= c.Time && x.LastAware >= c.Time); if (target != null) { amp = target; } else { AgentItem a = log.AgentData.GetAgent(c.SrcAgent); if (playersIds.Contains(a.InstID)) { continue; } else if (a.MasterAgent != 0) { AgentItem m = log.AgentData.GetAgent(a.MasterAgent); if (playersIds.Contains(m.InstID)) { continue; } } if (!regroupedMobs.TryGetValue(a.ID, out amp)) { amp = new DummyPlayer(a); regroupedMobs.Add(a.ID, amp); } } } if (amp != null) { mechData[mech].Add(new MechanicLog(c.Time - fightData.FightStart, mech, amp)); } } break; case Mechanic.MechType.EnemyCastEnd: case Mechanic.MechType.EnemyCastStart: condition = mech.SpecialCondition; foreach (CombatItem c in log.GetCastDataById(mech.SkillId)) { if (condition != null && !condition(new SpecialConditionItem(c))) { continue; } AbstractMasterPlayer amp = null; if ((mech.MechanicType == Mechanic.MechType.EnemyCastStart && c.IsActivation.IsCasting()) || (mech.MechanicType == Mechanic.MechType.EnemyCastEnd && !c.IsActivation.IsCasting())) { Boss target = Targets.Find(x => x.InstID == c.SrcInstid && x.FirstAware <= c.Time && x.LastAware >= c.Time); if (target != null) { amp = target; } else { AgentItem a = log.AgentData.GetAgent(c.SrcAgent); if (playersIds.Contains(a.InstID)) { continue; } else if (a.MasterAgent != 0) { AgentItem m = log.AgentData.GetAgent(a.MasterAgent); if (playersIds.Contains(m.InstID)) { continue; } } if (!regroupedMobs.TryGetValue(a.ID, out amp)) { amp = new DummyPlayer(a); regroupedMobs.Add(a.ID, amp); } } } if (amp != null) { mechData[mech].Add(new MechanicLog(c.Time - fightData.FightStart, mech, amp)); } } break; case Mechanic.MechType.Spawn: foreach (AgentItem a in log.AgentData.GetAgentByType(AgentItem.AgentType.NPC).Where(x => x.ID == mech.SkillId)) { if (!regroupedMobs.TryGetValue(a.ID, out AbstractMasterPlayer amp)) { amp = new DummyPlayer(a); regroupedMobs.Add(a.ID, amp); } mechData[mech].Add(new MechanicLog(a.FirstAware - fightData.FightStart, mech, amp)); } break; } } mechData.ComputePresentMechanics(log); }