1. C++ / Говнокод #17308

    +57

    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
    if (this->IsWhiteFigure())
    		{
    			if (abs(position_x - this->GetPositionX()) == 1 && position_y - this->GetPositionY() == -1)
    			{
    				this->SetPositionX(position_x);
    				this->SetPositionY(position_y);
    			}
    			else
    			{
    				throw IncorrectMoveException();
    			}
    		}
    		else
    		{
    			if (abs(position_x - this->GetPositionX() == 1) && position_y - this->GetPositionY() == 1)
    			{
    				this->SetPositionX(position_x);
    				this->SetPositionY(position_y);
    			}
    			else
    			{
    				throw IncorrectMoveException();
    			}
    		}

    Тест на внимательность. Сможете ли вы догадаться почему это не работает ?

    Запостил: GreatMASTERcpp, 13 Декабря 2014

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

    • Это конечно не предыдущий вариант но поджигает не по детски когда замечаешь.
      Ответить
    • Красиво.
      Сейчас придут любители суперстрогой питуизации и скажут, что в их языках abs от Boolean из 15й строки вызывает ошибку на этапе компиляции.
      Ответить
      • Для того чтобы получить такие замечательные произведения искусства иногда достаточно одного мазка.
        Ответить
        • Поэтому я не ленюсь ставить лишние скобки, а кое-где и скопипастить с последующей правкой не грех
          Ответить

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