if (spielfeld_xsfC.felder_xsf[x2_i,y2_i]=fLeer)then begin//Wenn das Feld nicht blockiert ist
  if ((x2_i<>3)or(y2_i<>3))or(spielfeld_xsfC.felder_xsf[x_i,y_i]=fkoenig) then begin //und nicht der Thron
    tempspielfeld_xsfC.BewegeFigur(x_i,y_i,x2_i,y2_i);
    if (tiefe_i=1)or(tempspielfeld_xsfC.status_xs=sWeisGewann)or(tempspielfeld_xsfC.status_xs=sSchwarzGewann) then begin
      tempspielfeld_xsfC.Stellungsanalyse(temp_xbsf.wert_i);
      if (temp_xbsf.wert_i<bewertetesSpielFeld_xbsf.wert_i) xor not (schwarzAmZug_b) then
        with bewertetesSpielFeld_xbsf do begin
          Spielfeld_xsfC:=TSpielFeldC.create;
          Spielfeld_xsfC.felder_xsf:=tempSpielfeld_xsfC.felder_xsf;
          wert_i:=temp_xbsf.wert_i;
       end;
    end else begin
      Rekursion(tempSpielfeld_xsfC,not schwarzAmZug_b,tiefe_i-1,alpha_i,beta_i,temp_xbsf);
      if  schwarzAmZug_b then begin
        if temp_xbsf.wert_i<bewertetesSpielfeld_xbsf.wert_i then
          bewertetesSpielfeld_xbsf:=temp_xbsf
      end else
        if temp_xbsf.wert_i>bewertetesSpielfeld_xbsf.wert_i then
          bewertetesSpielfeld_xbsf:=temp_xbsf;
    end;
    if (KIModus_b)or(tiefe_i<>starttiefe_i) then begin
      if schwarzAmZug_b then begin
        if beta_i>temp_xbsf.wert_i then
          beta_i:=temp_xbsf.wert_i;
      end else begin
        if alpha_i<temp_xbsf.wert_i then
          alpha_i:=temp_xbsf.wert_i;
      end;
      if (alpha_i>=beta_i) then begin
        tempSpielfeld_xsfC.Free;
        exit;
      end;
    end;
    tempSpielfeld_xsfC.CloneOther(Spielfeld_xsfC);
    if (tiefe_i=starttiefe_i) then  begin
      erreichbareFelder_ab[x2_i,y2_i]:=true;
      with zuege_a300bz[arrayindex_i] do begin
        startfeld_xp.x:=x_i;
        startfeld_xp.y:=y_i;
        zielfeld_xp.x:=x2_i;
        zielfeld_xp.y:=y2_i;
        wert_i:=temp_xbsf.wert_i;
        spielfeld_xp:=temp_xbsf.Spielfeld_xsfC.felder_xsf;
      end;
      inc(arrayindex_i);
    end;
  end;
end else 
  break;
