Nimm statt -1 lieber else, außerdem enthält der Pfad bei ExtractFilePath bereits einen Backslash.
Delphi-Quellcode:
procedure TMainForm.ChangeShip(Sender: TObject);
begin
with ShipImage.Picture do
case CBxYourPlayer.ItemIndex of
0: LoadFromFile(ExtractFilePath(ParamStr(0)) + 'ships\red.ico');
1: LoadFromFile(ExtractFilePath(ParamStr(0)) + 'ships\green.ico');
else
LoadFromFile(ExtractFilePath(ParamStr(0))+'ships\blue.ico');
end;
end;