public void Poloz() { //počítač projde pole kamenů for (int i = 0; i < 8; i++) { for (int y = 0; y < 8; y++) { //zjistí zda může na danou pozici zahrát svůj tah if (hracipole.MoznostPolozeni(i, y, 2)) { //zjistí jestli je pole volné if (hracipole.poleKamenu[i, y] == 0) { //přidá si pozici mezi možné tahy MozneBody.Add(new Point(i, y)); } } } } //zjistí zda může zahrát alespoň nějaký tah if (MozneBody.Count != 0) { //vybere náhodný tah z možných a ten zahraje int cislo; cislo = generator.Next(0, MozneBody.Count()); hracipole.poleKamenu[MozneBody[cislo].X, MozneBody[cislo].Y] = 2; hracipole.PrepisKameny(MozneBody[cislo].X, MozneBody[cislo].Y, 2); } }
private void KlientOrServerKlik(MouseEventArgs aE) { VycetTypuKamene kamen = JeHracBily ? VycetTypuKamene.Bily : VycetTypuKamene.Cerny; int kamenInt = JeHracBily ? 2 : 1; if (hraciPole.MoznostPolozeni(aE.Location.X / hraciPole.cellSize, aE.Location.Y / hraciPole.cellSize, kamenInt)) { Zvuk(); hraciPole.hrajeCerny = !hraciPole.hrajeCerny; hraciPole.UlozDoPole(aE.Location.X / hraciPole.cellSize, aE.Location.Y / hraciPole.cellSize, kamen); hraciPole.PrepisKameny(aE.Location.X / hraciPole.cellSize, aE.Location.Y / hraciPole.cellSize, kamenInt); VyvolejUdalost(PoZmeneHracihoPole); Zprava z = new Zprava(); z.TypZpravy = TypZpravyEnum.ZpracovavacNovePoziceKamene; z.Parametry.Add(new ParametrZpravy("X", aE.X.ToString())); z.Parametry.Add(new ParametrZpravy("Y", aE.Y.ToString())); PosliZpravu(z); timeoutTimer.Stop(); } }