```elem.GetName().charAt(0)``` дает не уникальное обозначение в случае если есть два игрока, у которых имена начинаются на одну и ту же букву.
Подумайте в сторону коллекции обозначений. При создании игрока будет браться символ из этой коллекции и резервироваться как "занятый". При смерти игрока - символ освобождается.