public static int Main() { ConsoleMessages.SendGreeitngs(); RandomPlayer random = new(); Hit17Player hit17 = new(); BasicStrategyPlayer basic = new(); StandartDealer dealer = new(); int initialStack = 40000; int roundsPerGame = 40; int gameCycles = 1000; StatCollector.RunBlackjackGame(dealer, random, "RandomPlayerTest", initialStack, roundsPerGame, gameCycles).PrintMainData(Console.OpenStandardOutput()); Console.WriteLine(); StatCollector.RunBlackjackGame(dealer, hit17, "Hit17PlayerTest", initialStack, roundsPerGame, gameCycles).PrintMainData(Console.OpenStandardOutput()); Console.WriteLine(); StatCollector.RunBlackjackGame(dealer, basic, "BasicStrategyTest", initialStack, roundsPerGame, gameCycles).PrintMainData(Console.OpenStandardOutput()); return(0); }
public static int Main(string[] argv) { ConsoleMessages.SendGreetings(); if (argv.Length != 1) { return(ConsoleMessages.SendError(1, "unexcpected amount of arguments; please pass only one path")); } var players = PlayerLoader.LoadFromDLL(argv[0]); if (players == null) { return(ConsoleMessages.SendError(-1, $"could not load .dll from the given path: {argv[0]}")); } StandartDealer dealer = new(); int initialStack = 40000; int roundsPerGame = 40; int gameCycles = 1000; foreach (var player in players) { StatCollector.RunBlackjackGame(dealer, player, player.GetType().ToString(), initialStack, roundsPerGame, gameCycles).PrintMainData(Console.OpenStandardOutput()); Console.WriteLine(); } return(0); }
public override void Render(StatCollector StatCollector, Graphics Graphics) { var font = DefaultFont7.Instance; Renderer.RenderTitle(Graphics, "SYSTEM STATUS", font); // write date and time DateTime now = DateTime.Now; Renderer.RenderString(Graphics, now.ToString("yyyy-MM-dd HH:mm:ss"), font, Color.White, 0, 11); // write unix time double unixTime = DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; Renderer.RenderString(Graphics, "Unix Time: " + (uint)unixTime, font, Color.White, 0, 19); // write uptime string uptime = (now - StatCollector.BootTime).ToString(@"d\d\ hh\:mm\:ss"); Renderer.RenderString(Graphics, "Uptime: " + uptime, font, Color.White, 0, 27); // Y = 35 // write systemd status string systemdStatus = Enum.GetName(typeof(StatCollector.SysStatus), StatCollector.SystemdStatus); Renderer.RenderString(Graphics, "Systemd Status: " + systemdStatus, font, Color.White, 0, 49); // write first failed unit if (StatCollector.SystemdFailedUnits.Count > 0) { StatCollector.SystemdFailedUnits.Sort(); Renderer.RenderString(Graphics, StatCollector.SystemdFailedUnits[0], font, Color.White, 0, 57); } }
private bool DoLoadGame() { bool loaded = false; int fReq = 3; if (PlayerPrefs.HasKey("SaveData")) { SaveData data = JsonUtility.FromJson <SaveData>(PlayerPrefs.GetString("SaveData")); state = data.state; stats = data.stats; presents = data.presents; friends = data.friends; fReq = data.friendRequests; if (!string.IsNullOrEmpty(data.playerName)) { string[] nameBits = data.playerName.Split(new [] { ' ' }, 2); NameManager.SetMyName(nameBits[0], nameBits[1]); } if (!string.IsNullOrEmpty(data.ldName)) { LudumDareAPI.SetUser(data.ldName, () => {}); } loaded = true; } pendingRequests.Clear(); for (int i = 0; i < fReq; ++i) { pendingRequests.Add(GenerateFriend()); } PrepareFriends(); SetUpgrades(); ApplyUpgrades(); return(loaded); }
public override void Render(StatCollector StatCollector, Graphics Graphics) { var font = DefaultFont7.Instance; Renderer.RenderTitle(Graphics, "CPU USAGE", font); var cpuUsage = StatCollector.CPU_Usage; int yGraph = 19; if (cpuUsage.Count > 2) // multi-core (shows up to 5 cores) { yGraph = 11 + cpuUsage.Count * 8; for (byte i = 0; i < cpuUsage.Count && i < 6; i++) { byte ypos = (byte)(11 + i * 8); string coreIdentifier = i < 1 ? "T" : i.ToString(); Renderer.RenderString(Graphics, coreIdentifier, font, Color.White, 0, ypos); Renderer.RenderProgressBar(Graphics, cpuUsage[i][0], 8, ypos, 120, 7); } } else { Renderer.RenderProgressBar(Graphics, cpuUsage[0][0], 0, 11, 128, 7); } if (yGraph < 52) // if enough space is available (shows only with max. 4 cores) { Renderer.RenderGraph(Graphics, cpuUsage[0], 0, (byte)yGraph, 128, (byte)(63 - yGraph), 1f); } }
public void SimpleAverageWinsOnTieTest() { DummyDealer dealer = new(); PlayerAlwaysHit player = new(); StatContainer stat = StatCollector.RunBlackjackGame(dealer, player, "test", 1000, 2, 2); Assert.AreEqual(0, stat.AverageWins); }
public void SimpleAverageWinsTest() { DealerStackDoubler dealer = new(); PlayerAlwaysHit player = new(); StatContainer stat = StatCollector.RunBlackjackGame(dealer, player, "test", 1000, 1, 2); Assert.AreEqual(1000, stat.AverageReturn); }
protected override void DrawSlot(int par1, int par2, int par3, int par4, Tessellator par5Tessellator) { StatBase statbase = (StatBase)StatList.GeneralStats[par1]; Field_27276_a.DrawString(GuiStats.GetFontRenderer(Field_27276_a), StatCollector.TranslateToLocal(statbase.GetName()), par2 + 2, par3 + 1, par1 % 2 != 0 ? 0x909090 : 0xffffff); string s = statbase.Func_27084_a(GuiStats.GetStatsFileWriter(Field_27276_a).WriteStat(statbase)); Field_27276_a.DrawString(GuiStats.GetFontRenderer(Field_27276_a), s, (par2 + 2 + 213) - (int)GuiStats.GetFontRenderer(Field_27276_a).GetStringWidth(s), par3 + 1, par1 % 2 != 0 ? 0x909090 : 0xffffff); }
public void AddMoney(float amount) { playerMoney += amount; SetMoney(); if (statCollector == null) { statCollector = (StatCollector)FindObjectOfType(typeof(StatCollector)); } statCollector.FinanceEarn(amount); }
public override void Render(StatCollector StatCollector, Graphics Graphics) { var font = DefaultFont7.Instance; Renderer.RenderTitle(Graphics, "FONT TEST SCREEN", font); Renderer.RenderString(Graphics, "ABCDEFGHIJKLM", font, Color.White, 0, 11); Renderer.RenderString(Graphics, "NOPQRSTUVWXYZ", font, Color.White, 0, 19); Renderer.RenderString(Graphics, "abcdefghijklm", font, Color.White, 0, 27); Renderer.RenderString(Graphics, "nopqrstuvwxyz", font, Color.White, 0, 35); Renderer.RenderString(Graphics, "0 123456789 % / . :", font, Color.White, 0, 43); }
public void NoErrorPrintTest() { DummyDealer dealer = new(); PlayerAlwaysHit player = new(); StatContainer stat = StatCollector.RunBlackjackGame(dealer, player, "test", 1000, 1, 1); byte[] data = new byte[1000]; using (MemoryStream ms = new MemoryStream(data)) { Assert.AreEqual(0, stat.PrintMainData(ms)); } }
public void ClickPunish() { if (trainable == false) { return; } if (statCollector == null) { statCollector = (StatCollector)FindObjectOfType(typeof(StatCollector)); } statCollector.TrainPunish(); ActionManager.instance.punish(); }
public bool ConsumeMoney(float amount) { if (playerMoney - amount < 0) { return(false); } playerMoney -= amount; SetMoney(); if (statCollector == null) { statCollector = (StatCollector)FindObjectOfType(typeof(StatCollector)); } statCollector.FinanceSpend(amount); return(true); }
public override void Render(StatCollector StatCollector, Graphics Graphics) { var font = DefaultFont7.Instance; Renderer.RenderTitle(Graphics, "HARD DRIVE STATUS", font); for (byte i = 0; i < 10 && i < HardDrives.Length; i++) { var status = StatCollector.HardDriveStatus[HardDrives[i]]; int xpos = i > 4 ? 66 : 2; int ypos = 12 + i * 10; if (i > 4) { ypos -= 50; } Renderer.RenderString(Graphics, GetCharFromStatus(status) + " " + HardDrives[i], font, Color.White, xpos, ypos); } }
void rng_bench <T>(IDataStream <T> stream, [CallerMemberName] string caller = null) where T : unmanaged { var segment = Pow2.T08; var total = Pow2.T17; var stats = StatCollector.Create(0.0); var sw = stopwatch(false); for (var i = 0; i < total; i += segment) { sw.Start(); var sample = stream.TakeArray(segment); sw.Stop(); for (var j = 0; j < segment; j++) { stats.Collect(Numeric.force <T, double>(sample[j])); } } var opname = $"{caller}<{typeof(T).DisplayName()}>"; Deposit(BenchmarkRecord.Define(total, sw.Elapsed, opname)); }
public override void Render(StatCollector StatCollector, Graphics Graphics) { var font = DefaultFont7.Instance; Renderer.RenderTitle(Graphics, "NETWORK STATS - " + this.InterfaceName, font); var stats = StatCollector.NetworkStats[this.InterfaceName]; // draw graphs Renderer.RenderGraph(Graphics, stats.ReceiveSpeed, 0, 11, 62, 27); Renderer.RenderGraph(Graphics, stats.TransmitSpeed, 65, 11, 62, 27); // write RX stats string speed = Helper.BytesToHumanReadableString((ulong)(stats.ReceiveSpeed[0] + 0.5f)) + "/s"; Renderer.RenderString(Graphics, "S", font, Color.White, 0, 41); Renderer.RenderString(Graphics, speed, font, Color.White, 8, 41); string total = Helper.BytesToHumanReadableString(stats.ReceivedBytes); Renderer.RenderString(Graphics, "T", font, Color.White, 0, 49); Renderer.RenderString(Graphics, total, font, Color.White, 8, 49); string dropped = "0% dropped"; if (stats.ReceivedPackets > 0) { dropped = string.Format("{0:0.#}% dropped", (float)stats.DroppedPackets / stats.ReceivedPackets); } Renderer.RenderString(Graphics, dropped, font, Color.White, 0, 57); // write TX stats speed = Helper.BytesToHumanReadableString((ulong)(stats.TransmitSpeed[0] + 0.5f)) + "/s"; Renderer.RenderString(Graphics, "S", font, Color.White, 65, 41); Renderer.RenderString(Graphics, speed, font, Color.White, 73, 41); total = Helper.BytesToHumanReadableString(stats.TransmittedBytes); Renderer.RenderString(Graphics, "T", font, Color.White, 65, 49); Renderer.RenderString(Graphics, total, font, Color.White, 73, 49); }
public void Initialise_Agent(Agent_Type type, int cont_num = 0) { /*if (type == Agent_Type.Player && cont_num == 0) * { * throw new System.ArgumentException("Players cannot have a cont_num of 0: Initialise_Agent"); * }*/ // Initialise the AgentManager with all its default values based on type m_ControllerNumber = cont_num; m_StatCollector = new StatCollector(this); m_Type = type; //m_Powerup_State = null; switch (type) { case Agent_Type.Player: // Setup a player character m_Input = new Controller_Input(m_ControllerNumber); m_Strength = GLOBAL_VALUES.BASE_PLAYER_STRENGTH; m_MoveSpeed = GLOBAL_VALUES.BASE_PLAYER_MOVEMENT_SPEED; m_RotateSpeed = GLOBAL_VALUES.BASE_PLAYER_ROTATION_SPEED; m_Player_Nameplate = m_Instance.transform.Find("Player_Nameplate").gameObject; m_Player_Name_Text = m_Player_Nameplate.GetComponent <Text>(); m_Instance.GetComponent <AgentAnimations>().m_manager = this; // Set the Animation Manager m_Instance.GetComponent <AgentAnimations>().Setup(); m_Instance.GetComponent <AgentAnimations>().AnimEvent_TrailStop(); Hide_Name(); //m_Powerup_State = new AgentPowerups(this); m_Instance.transform.Find("Pickup_Box").gameObject.GetComponent <PickupBox>().Add_Agent(this); m_BadgeAllocation = "WINDOW_SHOPPER_" + m_Player_Number; break; case Agent_Type.Base_AI: // Base AI are calm, rotate slowly and move at random speeds m_Input = new BaseAI_Control(null, this); int random_speed = (int)(UnityEngine.Random.Range(GLOBAL_VALUES.BASE_PLAYER_MOVEMENT_SPEED * 0.7f, GLOBAL_VALUES.BASE_PLAYER_MOVEMENT_SPEED * 1.2f)); m_Strength = GLOBAL_VALUES.BASE_PLAYER_STRENGTH; m_MoveSpeed = random_speed; m_RotateSpeed = 10.0f; break; case Agent_Type.Large_AI: // Large AI move VERY slowly and rotate even slower m_Input = new LargeAI_Control(null, this); m_Strength = GLOBAL_VALUES.BASE_PLAYER_STRENGTH; m_MoveSpeed = GLOBAL_VALUES.BASE_PLAYER_MOVEMENT_SPEED * 0.3f; m_RotateSpeed = 2.0f; break; case Agent_Type.Security_AI: // Stronger than normal, rest is average m_Input = new SecurityAI_Control(null, this); m_Instance.GetComponentInChildren <SecurityItemVision>().m_Manager = this; m_Instance.GetComponent <SecurityAnimations>().m_manager = this; // Set the Animation Manager m_Instance.GetComponent <SecurityAnimations>().Setup(); m_Strength = GLOBAL_VALUES.BASE_PLAYER_STRENGTH * 1.1f; m_MoveSpeed = GLOBAL_VALUES.BASE_PLAYER_MOVEMENT_SPEED * 0.9f; m_RotateSpeed = GLOBAL_VALUES.BASE_PLAYER_ROTATION_SPEED; break; default: // setup a none character m_Input = new Input_Methods(cont_num); break; } m_Round_Score = 0; m_Round_Wins = 0; m_Sound_Source = m_Instance.GetComponent <AudioSource>(); m_Body = m_Instance.GetComponent <Rigidbody>(); m_Collision_Detector = m_Instance.GetComponent <CollisionDetection>(); m_Animator = m_Instance.GetComponent <Animator>(); m_State = Agent_State.Active; m_Enabled_State = Agent_Movement_State.Disabled; m_Animator.SetBool(GLOBAL_VALUES.ANIM_STUN_LOOP, false); m_Collision_Detector.Add_Manager(this); m_Actions = new AgentActions(this, m_Input); m_Movement = new AgentMovement(this, m_Input); if (isPlayer()) { // Players have extra things (UI and crown) GameObject StunCanvas = m_Instance.transform.Find("StunCanvas").gameObject; GameObject StunDuration = StunCanvas.transform.Find("StunDuration").gameObject; m_UI_Stun = StunCanvas.GetComponent <StunIndicatorUI>(); m_Crown = m_Instance.transform.Find("Crown").gameObject; m_Crown.SetActive(false); m_Round_Score_Position = 0; } else { m_UI_Stun = null; } if (isPlayer() || isSecurityAI()) { GetStunStars(); SetStunStars(false); } m_punchImpact = m_Instance.transform.Find("Impact_Punch").gameObject; m_throwImpact = m_Instance.transform.Find("Impact_Throw").gameObject; m_dashImpact = m_Instance.transform.Find("Impact_Dash").gameObject; m_Sound_Stun = Resources.Load <AudioClip>(GLOBAL_VALUES.SOUND_PLAYER_HIT); /* FIX * //m_Effect_Impact = m_Instance.transform.Find("Impact").gameObject; * //m_Effect_Stun_Lights = m_Instance.transform.Find("Player_Stun").gameObject; */ }
public abstract void Render(StatCollector StatCollector, Graphics Graphics);