Ich würde die Zufallszahl so oft neu generieren, bis sie passt, also while-Schleife:
Delphi-Quellcode:
randomize; //randomize nur einmal, sonst kommt immer das gleiche raus, glaub ich
repeat
begin
while karte[zufall] > 0 do
zufall := (random(15)+1);
if karte[zufall] = 0 then
karte[zufall] := lauf;
inc(lauf);
end;
until lauf = 17;