Guest User

Untitled

a guest
Jun 18th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.86 KB | None | 0 0
  1. int AlfaBetaCut(Hráč hrac1, Hráč hrac2, int hloubka, int alfa, int beta)
  2.         {
  3.             pruchody++;
  4.             int cena;
  5.             int pocetVyhozenych = 0;
  6.  
  7.             if (((hrac1.Barva == barva.bílý) && (rozhodci.KRALobklicen(deskaKlon)))
  8.                 ||
  9.                 (hrac1.Barva == barva.černý) && (rozhodci.KRALuprchl(deskaKlon)))
  10.             {
  11.                 return -MAX;
  12.             }
  13.             else if (hloubka == 0)
  14.             {
  15.                 return Ohodnoceni();
  16.             }
  17.             else
  18.             {
  19.                 List<Tah> vsechnyTahyHrace = rozhodci.MozneTahyHrace(hrac1, deskaKlon);
  20.  
  21.                 foreach (Tah t in vsechnyTahyHrace)
  22.                 {
  23.                     if (worker.CancellationPending)
  24.                     {
  25.                         return 0;
  26.                     }
  27.                     this.deskaKlon.FigurkaPOHYB(t.Odkud, t.Kam);
  28.                     pocetVyhozenych = rozhodci.SeznamVYHOZENI(t.Kam, deskaKlon).Count;
  29.                     this.rozhodci.VYHODFigurky(deskaKlon);
  30.                     this.rozhodci.ZmenHraceNaTahu();
  31.                     cena = -AlfaBetaCut(hrac2, hrac1, hloubka - 1, BlizKMatu(-beta), BlizKMatu(-alfa));
  32.                     cena = DalOdMatu(cena);
  33.                     this.deskaKlon.FigurkaPOHYB(t.Kam, t.Odkud);
  34.                     if (pocetVyhozenych != 0)
  35.                     {
  36.                         this.deskaKlon.FigurkaVRATIT(hrac2, pocetVyhozenych);
  37.                     }
  38.                     this.rozhodci.ZmenHraceNaTahu();
  39.                     if (cena > alfa)
  40.                     {
  41.                         alfa = cena;
  42.                         if (cena >= beta)
  43.                         {
  44.                             return beta;
  45.                         }
  46.                     }
  47.                 }
  48.             }
  49.             return alfa;
  50.         }
Add Comment
Please, Sign In to add comment