void TraceMap(){
    TraceMap(Scan());
}

void TraceMap(System.Collections.ArrayList orglist){
    int iMyWorldSize = State.CellRadius * 2 // 自分のサイズ
        + this.Species.EyesightRadius * 2 // 視野は上下左右に
        + (EngineSettings.MaxMatureSize/2+7)/8 * 2 * 2; // 他の生物2匹分のサイズ
    System.Text.StringBuilder[] MyWorld = new System.Text.StringBuilder[iMyWorldSize];
    WriteTrace("**********EyeSightMap End************");
    string defaultstring = "".PadRight(iMyWorldSize,'.');
    for(int y=0; y < iMyWorldSize; y++){
        MyWorld[y] = new System.Text.StringBuilder(defaultstring,iMyWorldSize);
    }
    for(int x = 0; x < State.CellRadius * 2; x++){
        for(int y = 0; y < State.CellRadius * 2; y++){
            MyWorld[y + iMyWorldSize/2 - State.CellRadius][x + iMyWorldSize/2 - State.CellRadius] = '-';
        }
    }
    MyWorld[iMyWorldSize/2][iMyWorldSize/2] = '=';
    char signchar = 'A';
    foreach( OrganismState org in orglist){
        WriteTrace(signchar+":"+org.ID+" pos:"+org.Position," GridX:"+org.GridX," GridY:"+org.GridY);
        int baseX,baseY;
        baseX = org.GridX-State.GridX+iMyWorldSize/2 - org.CellRadius;
        baseY = org.GridY-State.GridY+iMyWorldSize/2 - org.CellRadius;
        char poschar;
        if( org is PlantState)
            poschar = 'p';
        else
            if( ((IAnimalSpecies)((AnimalState)org).Species).IsCarnivore )
            poschar = 'c';
        else
            poschar = 'h';
        if( org.IsAlive )
            poschar = Char.ToUpper(poschar);
        for(int x=0; x < org.CellRadius * 2; x++){
            for(int y=0; y < org.CellRadius * 2; y++){
                MyWorld[baseY+y][baseX+x] = poschar;
            }
        }
        if(this.WithinEatingRange(org))
            MyWorld[baseY][baseX+1] = 'E';
        if(org is AnimalState && this.WithinAttackingRange((AnimalState)org))
            MyWorld[baseY][baseX] = 'A';
        MyWorld[baseY+org.CellRadius][baseX+org.CellRadius] = signchar++;
    }
    for(int y=iMyWorldSize-1; y >= 0; y--){
        string s = y.ToString("0#|") + MyWorld[y] + "|";
        WriteTrace(s);
    }
    WriteTrace("**********EyeSightMap Start**********");
}