Assuming you are not using CollideImage (perhaps you should, I do) unoptimised way is to loop though a list of types, and for each type in the list, loop through the list again testing against all the other types. Don't forget to not test the current type on itself or it will collide. This is easy though e.g.
If currenttype <> testtype then ...
A more optimised way will reduce the tests by half so you don't test A on B and then later B on A, which is pointless.
If currenttype <> testtype then ...
A more optimised way will reduce the tests by half so you don't test A on B and then later B on A, which is pointless.