1. Java / Говнокод #12981

    +89

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public void render(){
    	for(int y = 0; y < height; y++){
    		if(y < 0 || y >= height) break;
    		for(int x = 0; x < width; x++){
    			if(x < 0 || x >= width) break;
    			int tileIndex = (x >> 4) + (y >> 4) * 64;
    			pixels[x + y * width] = tiles[tileIndex];
    		}
    	}
    }

    чтоб уж наверняка
    http://www.youtube.com/watch?v=uPkXZmOuqGI

    Запостил: lowercase, 08 Мая 2013

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

    • <sarcasm>Тут нужен Тарас, он разбирается в софтрендере. Я более, чем уверен, что эти строки здесь нужны. </sarcasm>
      Ответить
      • Нужны были бы, если бы перед ними в цикле проходили манипуляции с координатами. Скажем, соседний пиксель взять, например. Иначе - бред.
        Ответить
        • Табличка не помогла :(
          Ответить
        • Часто в цикле for бывают «манипуляции с координатами»?
          Ответить
          • Эм, ну например добавить определенный оффсет к координатам.
            Ответить
            • Ага, добавляем отрицательный и картинка тупо исчезает.
              Кстати, x>>4 - это не битоёбство, как вы подумали, а костыль для того, чтобы обойти кривожопую пендосовскую арифметику, реализованную в процессоре.
              Ответить
              • > кривожопую пендосовскую арифметику
                Так там же строчкой выше проверка на неотрицательность. Поэтому интелорифметика не должна сказаться.
                Ответить
                • Ну зато так понятнее, что имеется в виду не пендосское деление, а нормальное.
                  Ответить
              • > Ага, добавляем отрицательный и картинка тупо исчезает.
                Тогда пофиксим: s/break/continue/g
                Ответить
      • Массив pixels отображён на порты, а ифы создают необходимую задержку.
        Ответить
    • А вдруг операторы перегружены? Тьфу, это же не кресты.
      Ответить

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