Public feed #604113

Untitled

public cpp v1 · immutable
Raw Edit
·published 2007-07-05 09:33 UTC
rendered paste body
const char* EChannel::FindEntityName(ECPlayer* pl){        static Entity_ID num;        assert(sizeof num == 3);        num[0] = 'A';        num[1] = 'A';        num[2] = '\0';        bool unchecked = false;        BEntityVector ev = pl ? pl->Entities()->List() : Map()->Neutres()->List();        do        {                BEntityVector::iterator it;                for(it = ev.begin(); it != ev.end() && strcmp((*it)->ID(), num); it++);                if(it == ev.end())                        unchecked = true;                else                {                        ev.erase(it);                        if(num[1] < 'Z') num[1]++;                        else if(num[1] < 'a')                                num[1] = 'a';                        else if(num[1] < 'z') num[1]++;                        else if(num[0] >= 'z') break;                        else                        {                                if(num[0] < 'Z') num[0]++;                                else if(num[0] < 'a') num[0] = 'a';                                else num[0]++;                                num[1] = 'A';                        }                }        } while(!unchecked);        if(!unchecked)                throw ECExcept(VBName(unchecked), "Il y a trop d'unités !!");        return num;}