код страшный, честно говоря

Потому и не работает.
писать стока для простенькой задачки нет нужды.
например, ты бы мог на все свои 100 классов держать одну таблицу 100x100, где заполнял бы, кто кому другом является.
а сейчас эта таблица на каждый класс - своя.

мог бы объявить "static int FriendsNumbers[10][10];"
далее, вместо того, чтоб заводить переменную-флаг, мог бы использовать какое-нить значение, напр. "-1", в качестве признака (спец. код 254 - кажется, я правильно понял - это какой-то спец. код, по которому ты определяешь что-то)
и т.д.
думай проще - программировать будет легче /старая кельтская поговорка/