1. ActionScript / Говнокод #7360

    −101

    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
    switch (level)
    			{
    			case 1:
    			{
    				loadLevel1();
    				break;
    			}
    			case 2:
    			{
    				loadLevel2();
    				break;
    			}
    			case 3:
    			{
    				loadLevel3();
    				break;
    			}
    			default:
    				loadLevel0();
    				break;
    			}

    Я умею передавать процедурам параметры перед скобкой!

    Запостил: Fai, 27 Июля 2011

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

    • для добавления уровня перекомпилировать?
      Ответить
      • Я мелкие игры так и делаю - набор уровней вшит жёстко в код.
        Ответить
        • а у меня для разных игровых поделок сформировалась более-менее стандартная библиотека, и подгружать уровни очень просто
          Ответить
    • игры не пишу, но я так временами делаю в С/С++ что бы в дебагере в стеке быстро видеть по какой ветке я попал в функцию. и по корке тоже быстрее можно сказать где именно прога загнулась.
      Ответить
      • А что, отладчик не запоминает, с какими аргументами была вызвана функция?
        Ответить
        • ну если в объект аргумента влезешь то увидишь. но это же надо лезть. а так сразу видно.
          Ответить
          • Не, в отладчике, когда просишь показать стек вызовов, он тебе сразу и названия функций выводит, и аргументы, с которыми их вызывали.
            По крайней мере, в Дельфи-7 именно так.
            Ответить
            • оно везде так. но. если у тебя аргумент достаточно абстрактный объект (и в ОО коде это норма) то нужно еще долго кликать что бы расковырять что именно это за объект в аргументе. тривиальный свитч-кейс - и хопла все самые важные параметры этого объекта автоматом отражены прямо в стеке (даже если прога для релиза скомпилена). глупый трюк - нужны несколько бесполезных методов-прокладок - но мне нравится.
              Ответить
              • Да, вот чего в Д7 нету - так это функции преобразования объекта в строку (или изображение) специально для отладчика.
                Ответить
                • и user-friendly отладчика...
                  Ответить
                  • В Д7 отладчик очень даже нормальный, не надо. Только внутрь with залазить не умеет, а в остальном всё зашибись.
                    Вот в ГНАТ там отладчик это пиздец. Надо отдельно перед стартом программы его включать, да и то, не факт, что включится. И просмотр значений переменных глючит, и просмотр асмокода не работает, и просмотр значения функции не работает.
                    Ответить
                    • >И просмотр значений переменных глючит
                      Прямо как про D7:
                      "Переменную в отладочной версии программы уебал оптимизатор", который ещё и оптимизировать не умеет.
                      Ответить
                      • У меня отлично оптимизирует. Правда я лазарусом пользуюсь.
                        Ответить
                        • вы просто не дизассемблировали и не измеряли
                          Ответить
                      • > Переменную в отладочной версии программы уебал оптимизатор

                        Нахуя ты отлаживаешь логику в оптимизированной версии, ЛОЛ?
                        Сам виноват, короче.

                        > который ещё и оптимизировать не умеет.

                        Инлайн делать не умеет, вещественные делать не умеет. Зато код, состоящий из целых чисел, оптимизирует очень мощно, всё, что можно, по регистрам распихивает. Руками я выжал только 5% по сравнению с дельфой.
                        Ответить
                        • >Нахуя ты отлаживаешь логику в оптимизированной версии
                          Отключена оптимизация. Дебаг версия же включена.
                          Ответить
                          • > Отключена оптимизация.

                            Если ты отключил оптимизацию, то все переменные показываются.
                            Да, после убирания галочки надо нажимать не ctrl+f9, а alt+p b
                            чтобы перекомпилировать в отладочной версии всю программу, а не только один модуль. Этот прикол я тоже узнал не сразу, долго матерился, когда релизная версия выдавала ошибку отсутствующего файла. Тут косяк, но его просто надо знать.
                            Ответить
                        • >Руками я выжал только 5% по сравнению с дельфой.
                          это только кривыми.
                          Ответить
                          • Я тот код на форуме выкладывал, ускорить не удалось.
                            Ответить
                            • Хрень какая-то. Зачем об оптимизаторе то спорить?
                              Ответить
                    • Вы видимо студийного не видели...
                      Ответить
                      • Да, слава богу. Я в студии обломался на более ранней стадии. Один и тот же код, написанный с нуля вчера (и компилировавшийся), сохранённый на винт, и открытый сегодня, отказался компилироваться из-за непонятных ошибок компилятора типа "linker еггог".
                        Ответить
    • >Я умею передавать процедурам параметры перед скобкой!
      "Я паркуюсь как мудак!"(С)
      Ответить
    • Ну, при нормальном подходе такой ситуации не должно было быть. Было бы что-то типа:
      function levelUp():void {
          this.currentLevel = this.levels[this.current++];
      }
      
      function delevel():void {
          this.currentLevel = this.levels[this.current--];
      }
      . . .
      this.currentLevel.someMethod();

      Как бы, обычно перемещение по уровням, или увеличение / уменьшение уровня персонажа не происходит скачкообразно, т.е. это всегда на один уровень в одну или другую сторону - switch в таком месте не нужен / вреден.
      Ответить
    • Ну и срач развели. Просто говно!
      Ответить

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