1. Objective C / Говнокод #14594

    −184

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    - (Pt) menuItemPos: (int) i colRef: (int *) colr
    {
        int rowBeg [6] = { 1, 8, 15, 22, 28, 100 };
        float rowNum [6] =  { 7, 7, 7, 6.0, 5.0 };// { 7.03, 6.72, 7, 5.65, 4.43 };
        int col = -5;
        int row = -5;
        for(int j = 1; j < 6; ++j)
            if(i < rowBeg[j] && i >= rowBeg[j - 1])
            {
                row = j - 1;
                col = i - rowBeg[row];
                *colr = col;
                break;
            }
        
        float S = _large ? 80 : 30;
        float W = _large ? 1474/2 : 320;
        float w = W - 2 * S;
        float dx = w / (rowNum[row] - 1);
        
       // float scX = _large ? 2.1 : 1.0;
        float scY = _large ? 2.0 : 1.0;
        float aX = _large ? 18 : 0;
        return ccp( (S + col * dx) + aX,  (210 - row * 56.0) * scY);
    }

    Хардкодинг 90 уровня. Все константы подобраны вручную, с заботой и любовью.

    Запостил: tirinox, 15 Февраля 2014

    Комментарии (4) RSS

    • показать все, что скрытоЛакни мои яйца.
      Ответить
    • int row = -5;//Инициализируется
       col = i - rowBeg[row];//И нигде до этого момента не меняется

      Афтор или хорошо пыхнул или идиот или имеет какие-то бешенные MadSkills при работе со стеком.
      Ответить
      • >пыхнул
        Ты тоже там... передавай дальше. в 10 строчке row присваивается.
        Ответить
    • vanished
      Ответить

    Добавить комментарий