public void Init() { mcts = new Mcts(onkoPelaajanPelimerkkiValkoinen: true); solmu = new Solmu(new bool?[15, 15], new Koordinaatit(0, 1), merkinVari: true) { Vierailut = 36 }; solmu2 = new Solmu(new bool?[15, 15], new Koordinaatit(0, 6), merkinVari: true) { Vierailut = 360 }; lapsi1 = new Solmu(new bool?[15, 15], new Koordinaatit(5, 2), merkinVari: false) { Vierailut = 3, Pisteet = 0.5f }; lapsi2 = new Solmu(new bool?[15, 15], new Koordinaatit(9, 3), merkinVari: true) { Vierailut = 10, Pisteet = 0.3f }; lapsi3 = new Solmu(new bool?[15, 15], new Koordinaatit(4, 4), merkinVari: false) { Vierailut = 20, Pisteet = 0.99f }; lapsi4 = new Solmu(new bool?[15, 15], new Koordinaatit(12, 5), merkinVari: true) { Vierailut = 9, Pisteet = 0.1f }; solmu2lapsi1 = new Solmu(new bool?[15, 15], new Koordinaatit(9, 5), merkinVari: true) { Vierailut = 500, Pisteet = 0.1f }; mcts.PeliLauta.Lauta[0, 1] = true; mcts.PeliLauta.Lauta[5, 2] = false; mcts.PeliLauta.Lauta[9, 3] = true; mcts.PeliLauta.Lauta[4, 4] = false; mcts.PeliLauta.Lauta[12, 5] = true; mcts.Juuri.Lapsi = solmu; mcts.Juuri.LisaaLapselleSisarus(solmu2); solmu2.Lapsi = solmu2lapsi1; solmu.Lapsi = lapsi1; solmu.LisaaLapselleSisarus(lapsi2); solmu.LisaaLapselleSisarus(lapsi3); solmu.LisaaLapselleSisarus(lapsi4); }
public void TestSelvitaUusiJuuri_UuttaJuurtaEiLoydy() { mcts = new Mcts(onkoPelaajanPelimerkkiValkoinen: true); mcts.PeliLauta.Lauta[7, 8] = true; mcts.Juuri = new Solmu(mcts.PeliLauta.Lauta, 7, 8, merkinVari: true, onkoJuuri: true); var pelilautaLapselle = mcts.PeliLauta.KloonaaLauta(mcts.PeliLauta.Lauta); pelilautaLapselle[8, 6] = false; mcts.Juuri.Lapsi = new Solmu(pelilautaLapselle, new Koordinaatit(8, 6), false); var pelilautaLapsenSisarukselle1 = mcts.PeliLauta.KloonaaLauta(mcts.PeliLauta.Lauta); pelilautaLapsenSisarukselle1[6, 8] = false; mcts.Juuri.Lapsi.Sisarukset.AddFirst(new Solmu(pelilautaLapsenSisarukselle1, new Koordinaatit(6, 8), false)); var pelilautaLapsenSisarukselle2 = mcts.PeliLauta.KloonaaLauta(mcts.PeliLauta.Lauta); pelilautaLapsenSisarukselle2[8, 7] = false; mcts.Juuri.Lapsi.Sisarukset.AddFirst(new Solmu(pelilautaLapsenSisarukselle2, new Koordinaatit(8, 7), false)); var vastustajanLahettamaPelilauta = mcts.PeliLauta.KloonaaLauta(mcts.PeliLauta.Lauta); vastustajanLahettamaPelilauta[8, 6] = false; mcts.SelvitaUusiJuuri(vastustajanLahettamaPelilauta, new Koordinaatit(8, 8)); Assert.IsTrue(mcts.Juuri.Juurisolmu); Assert.AreEqual(8, mcts.Juuri.X); Assert.AreEqual(8, mcts.Juuri.Y); Assert.IsNull(mcts.Juuri.Sisarukset); }