1. Си / Говнокод #3387

    +141

    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
    for (int x=0; x < TANK_SIZE; x++)
    
    	{
    
    		for (int y=0; y < TANK_SIZE; y++)
    
    		{
    
    			*((Uint32 *)(((Uint8 *)player_surface[DOWN]->pixels) + (TANK_SIZE - y - 1) * player_surface[DOWN]->pitch + (TANK_SIZE - x - 1) * player_surface[DOWN]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)player_surface[LEFT]->pixels) + (TANK_SIZE - x - 1) * player_surface[LEFT]->pitch + y * player_surface[LEFT]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)player_surface[RIGHT]->pixels) + x * player_surface[RIGHT]->pitch + (TANK_SIZE - y - 1) * player_surface[RIGHT]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)player_surface[UP]->pixels) + y * player_surface[UP]->pitch + x * player_surface[UP]->format->BytesPerPixel));
    
    			*((Uint32 *)(((Uint8 *)enemy_surface[DOWN]->pixels) + (TANK_SIZE - y - 1) * enemy_surface[DOWN]->pitch + (TANK_SIZE - x - 1) * enemy_surface[DOWN]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)enemy_surface[LEFT]->pixels) + (TANK_SIZE - x - 1) * enemy_surface[LEFT]->pitch + y * enemy_surface[LEFT]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)enemy_surface[RIGHT]->pixels) + x * enemy_surface[RIGHT]->pitch + (TANK_SIZE - y - 1) * enemy_surface[RIGHT]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)enemy_surface[UP]->pixels) + y * enemy_surface[UP]->pitch + x * enemy_surface[UP]->format->BytesPerPixel));
    
    			
    
    		}
    
    	}

    Запостил: dageru, 03 Июня 2010

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

    • Ааа!!! Суукаааа!! За что ты так с нами???777
      for (int x = 0; x < TANK_SIZE; x++)
      {
        for (int y = 0; y < TANK_SIZE; y++)
        {
          *(
             (Uint32 *)(
               ((Uint8 *)player_surface[DOWN]->pixels) + 
               (TANK_SIZE - y - 1) * player_surface[DOWN]->pitch + 
               (TANK_SIZE - x - 1) * player_surface[DOWN]->format->BytesPerPixel
             )
           ) = *(
             (Uint32 *)(
               ((Uint8 *)player_surface[LEFT]->pixels) + 
               (TANK_SIZE - x - 1) * player_surface[LEFT]->pitch + 
               y * player_surface[LEFT]->format->BytesPerPixel)
           ) = *(
             (Uint32 *)(
               ((Uint8 *)player_surface[RIGHT]->pixels) + 
               x * player_surface[RIGHT]->pitch + 
               (TANK_SIZE - y - 1) * player_surface[RIGHT]->format->BytesPerPixel
             )
           ) = *(
             (Uint32 *)(
               ((Uint8 *)player_surface[UP]->pixels) + 
               y * player_surface[UP]->pitch + 
               x * player_surface[UP]->format->BytesPerPixel
             )
           );
           
          *(
            (Uint32 *)(
              ((Uint8 *)enemy_surface[DOWN]->pixels) + 
              (TANK_SIZE - y - 1) * enemy_surface[DOWN]->pitch + 
              (TANK_SIZE - x - 1) * enemy_surface[DOWN]->format->BytesPerPixel
            )
          ) = *(
            (Uint32 *)(
              ((Uint8 *)enemy_surface[LEFT]->pixels) + 
              (TANK_SIZE - x - 1) * enemy_surface[LEFT]->pitch + 
              y * enemy_surface[LEFT]->format->BytesPerPixel
            )
          ) = *(
            (Uint32 *)(
              ((Uint8 *)enemy_surface[RIGHT]->pixels) + 
              x * enemy_surface[RIGHT]->pitch + 
              (TANK_SIZE - y - 1) * enemy_surface[RIGHT]->format->BytesPerPixel
            )
          ) = *(
            (Uint32 *)(
              ((Uint8 *)enemy_surface[UP]->pixels) + 
              y * enemy_surface[UP]->pitch + 
              x * enemy_surface[UP]->format->BytesPerPixel
            )
          );
        }
      }
      Ответить
    • Самописный DirectDraw?
      Ответить
      • Сорт оф. Не нашёл, как в SDL делать поворот.
        Ответить
    • Жесть, шо за изврат то. Да и не надо на DirectDraw, там вроде как и не было никогда методов для модификаций таких. Тоже все руками надо было писать. Но вот в SDL такой отжиг это весело.
      Ответить
    • Сделай DirectDraw своими руками. Нехватает аппаратной поддержки от видеокарты.
      Ответить

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