int AlphaBeta(int tiefe, int alpha, int beta) {
   BOOL PVgefunden = FALSE;
   if (tiefe == 0) return Bewerten();
   GeneriereMoeglicheZuege()
   while (ZuegeUebrig()) {
     FuehreNaechstenZugAus()
     if (PVgefunden) {
       wert = -AlphaBeta(tiefe-1, -alpha-1, -alpha);
       if (wert > alpha && wert < beta) // Fenster war zu klein :(
         wert = -AlphaBeta(tiefe-1, -beta, -alpha);
     } else
       wert = -AlphaBeta(depth-1, -beta, -alpha);
     MacheZugRueckgaengig()
     if (wert >= beta) return beta;
     if (wert > alpha) {
       alpha = wert;
       PVgefunden = TRUE;
     }
   }
   return alpha;
 }