public Spelare(ArgumentFörSpelare parametrar) { this.EgetTecken = parametrar.spelarTecken; this.Teckenvärde = (int)parametrar.spelarTecken; this.Teckenfärg = parametrar.spelarFärg; this.EgenTyp = parametrar.typ; tid = new DateTime().AddMinutes(parametrar.starttid); if (parametrar.typ == Typ.MonteCarlo) { // Parametrarna används när två drag har lika bra statistik // INTE när motorn spelar mot sig själv this.användAI = new MonteCarloAI((int)this.EgetTecken, motståndarminus: 0.1, sekundärhotKonstant: 0.01, motståndarhotKonstant: 0.001, totalaHotKonstant: 0.0001, motståndarsekundärKonstant: 0.00001, motståndartotalKonstant: 0.000001); } else if (parametrar.typ == Typ.Originalgangster) { this.användAI = new OriginalgangsterAI((int)this.EgetTecken, 0, motståndarminus: 0.1, sekundärhotKonstant: 0.01, motståndarhotKonstant: 0.01); } }
private ArgumentFörSpelare spelareTvåsArgument; // spelareTvås public Form1() { InitializeComponent(); #region Fixar font storleken Graphics g = CreateGraphics(); for (int storleksIndex = 8; storleksIndex < 256; storleksIndex++) { SizeF storleken = g.MeasureString("X", new Font(FontFamily.GenericSerif, storleksIndex)); if (storleken.Height >= fältstorlek) { teckenstorlek = storleksIndex + 4; break; } } #endregion spelplansstorlekY += menuStrip1.Size.Height; // Sätter fönsterstorleken this.ClientSize = new System.Drawing.Size(spelplansstorlekX + 400, spelplansstorlekY); // Initialiserar startknappen Button startKnapp = new Button(); startKnapp.Text = "Nytt parti"; startKnapp.Size = new Size(200, 50); startKnapp.Location = new Point(spelplansstorlekX + 100, spelplansstorlekY / 2 + menuStrip1.Height + 100); this.Controls.Add(startKnapp); startKnapp.Click += new EventHandler(startKnapp_Click); // Initialiserar ångraknappen Button ångraKnapp = new Button(); ångraKnapp.Text = "Ångra drag"; ångraKnapp.Size = new Size(200, 50); ångraKnapp.Location = new Point(spelplansstorlekX + 100, spelplansstorlekY / 2 + menuStrip1.Height + 175); this.Controls.Add(ångraKnapp); ångraKnapp.Click += ångraKnapp_Click; // Sätter positionerna för rektanglarna där tiderna skrivs spelareEttsKlockposition = new Rectangle(spelplansstorlekX + 50, menuStrip1.Height + 30, 300, 75); spelareTvåsKlockposition = new Rectangle(spelplansstorlekX + 50, menuStrip1.Height + 200, 300, 75); spelareEttsArgument = new ArgumentFörSpelare(Spelare.Tecken.Cirkel, Color.Black, 100, Spelare.Typ.Originalgangster); spelareTvåsArgument = new ArgumentFörSpelare(Spelare.Tecken.Kryss, Color.Black, 100, Spelare.Typ.Människa); spelareEtt = new Spelare(spelareEttsArgument); spelareTvå = new Spelare(spelareTvåsArgument); spelarePåDrag = spelareEtt; }
private ArgumentFörSpelare spelareTvåsArgument; // spelareTvås #endregion Fields #region Constructors public Form1() { InitializeComponent(); #region Fixar font storleken Graphics g = CreateGraphics(); for (int storleksIndex = 8; storleksIndex < 256; storleksIndex++) { SizeF storleken = g.MeasureString("X", new Font(FontFamily.GenericSerif, storleksIndex)); if (storleken.Height >= fältstorlek) { teckenstorlek = storleksIndex + 4; break; } } #endregion spelplansstorlekY += menuStrip1.Size.Height; // Sätter fönsterstorleken this.ClientSize = new System.Drawing.Size(spelplansstorlekX + 400, spelplansstorlekY); // Initialiserar startknappen Button startKnapp = new Button(); startKnapp.Text = "Nytt parti"; startKnapp.Size = new Size(200, 50); startKnapp.Location = new Point(spelplansstorlekX + 100, spelplansstorlekY / 2 + menuStrip1.Height + 100); this.Controls.Add(startKnapp); startKnapp.Click += new EventHandler(startKnapp_Click); // Initialiserar ångraknappen Button ångraKnapp = new Button(); ångraKnapp.Text = "Ångra drag"; ångraKnapp.Size = new Size(200, 50); ångraKnapp.Location = new Point(spelplansstorlekX + 100, spelplansstorlekY / 2 + menuStrip1.Height + 175); this.Controls.Add(ångraKnapp); ångraKnapp.Click += ångraKnapp_Click; // Sätter positionerna för rektanglarna där tiderna skrivs spelareEttsKlockposition = new Rectangle(spelplansstorlekX + 50, menuStrip1.Height + 30, 300, 75); spelareTvåsKlockposition = new Rectangle(spelplansstorlekX + 50, menuStrip1.Height + 200, 300, 75); spelareEttsArgument = new ArgumentFörSpelare(Spelare.Tecken.Cirkel, Color.Black, 100, Spelare.Typ.Originalgangster); spelareTvåsArgument = new ArgumentFörSpelare(Spelare.Tecken.Kryss, Color.Black, 100, Spelare.Typ.Människa); spelareEtt = new Spelare(spelareEttsArgument); spelareTvå = new Spelare(spelareTvåsArgument); spelarePåDrag = spelareEtt; }