/// <summary> /// Umístìní hracího kamene na hrací plochu. /// </summary> /// <param name="souradnice">Souøadnice, kam bude kámen umístìn</param> /// <param name="barva">Barva kamene, který je tøeba umístit</param> /// <returns>Vrací true, pokud bylo pole neobsazené a kámen byl umístìn, jinak false</returns> public bool UmistiKamen(SouradnicePole souradnice, BarvaKamene barva) { if ((hraciPole[souradnice.Radek,souradnice.Sloupec]!=BarvaKamene.Zadny) || JeVitez) return false; else { hraciPole[souradnice.Radek,souradnice.Sloupec]=barva; ZkusNajitViteznouRaduPoli(); return true; } }
private void Start1_Click(object sender, System.EventArgs e) { barvaEnginu=BarvaKamene.Cerny; barvaCloveka=BarvaKamene.Bily; StartInit(); ProvedTahEnginu(); }
private void Start2_Click(object sender, System.EventArgs e) { barvaEnginu=BarvaKamene.Bily; barvaCloveka=BarvaKamene.Cerny; StartInit(); panelPlocha.Aktivni=true; Zprava.Text="Jsi na tahu."; }
//--------------------------------------------------------------------------- public SouradnicePole NajdiNejlepsiTah(BarvaKamene[,] hraciPole, BarvaKamene barvaNaTahu, TimeSpan zbyvajiciCasNaPartii) { int p,x,y; //nastav hloubku p�em��len� podle zb�vaj�c�ho �asu depth= 4+(int)zbyvajiciCasNaPartii.TotalSeconds/60; //p�i prvn�m tahu zjisti, jestli jsem b�l� nebo �ern� if(moves==0) { player=0; if(barvaNaTahu==BarvaKamene.Bily) player=1; } //najdi v hrac�m poli posledn� tah soupe�e p=6*height2+1; for(x=0; x<width; x++){ for(y=0; y<height; y++){ switch(hraciPole[y,x]){ case BarvaKamene.Bily: if(board[p].z!=1){ doMove(p); goto mujTah; } break; case BarvaKamene.Cerny: if(board[p].z!=2){ doMove(p); goto mujTah; } break; } p++; } p+=2; } //tah soupe�e nenalezen => j� za��n�m player=0; if(barvaNaTahu==BarvaKamene.Cerny) player=1; //prove� sv�j tah mujTah: computer1(); return new SouradnicePole(board[lastMove].y, board[lastMove].x); }