Программирование игр для Windows. Советы профессионала


Создание звездного неба с использованием целых чисел - часть 4


star_field[index].yv     = -4 + -2 * rand() % 3;

else

star_field[index].yv     = 4 + 2 * rand() % 3;

divisor = 1 + rand()%3;

star_field[index].xa     = star_field[index].xv/divisor;

star_field [index] .ya     = star_field.[index] .yv/divisor;

star_field[index].color     = 7;

star_field[index].clock     = 0;

star_field[index].acc_time  = 1 + rand() % 3;

star field[index].ace_count = 0;

} // конец оператора if

//не пора ли ускорить движение звезды

if (++star_field[index].acc_count==star_field[index].асc_time)

{

// обнуляем счетчик

star_field[indexl.acc_count=0;

// ускоряем

star_field[index].xv += star field[index].xa;

star_field[index].yv += star_field[index].ya;

} // конец оператора if

//не пора ли изменить цвет звезды

if (++star_field[index].clock > 5)

{

star_field[index].color = 8;

} // конец оператора if (> 5)

else

if (star_field[index].clock > 10)

{

star_field[index].color =255;

} // конец оператора if (> 10)

else

if (star_field[index].clock> 25)

{

star_field[index].color = 255;

} // конец оператора if (> 25)

} // конец цикла

} // конец Move_Stars

//////////////////////////////////////////////

void Draw_Stars(void)

{

// эта функция рисует звезды в дублирующем буфере

int index;

for (index=0; index<NUM_STARS; index++)

{

Plot_Pixel_Fast_D(star_field[index].х,star_field[index].y, (unsigned char)star_field[index].color) ;

} // конец

цикла

} // конец Draw_Stars

////////////////////////////////////////////////////////////

void Create_Scale_Data_X (int scale, int far *row)

{

// эта функция масштабирует полосу текстуры всех возможных

// размеров и создает огромную таблицу соответствий

int х;

float x_scale_index=0, х_scale_step;

// рассчитываем шаг масштабирования или число исходных пикселей

// для отображения на результирующее изображение за цикл

x_scale_step = (float) (sprite_width)/(float)scale;

x_scale_index+=x_scale_step;

for (x=0; x<scale; x++) {

// помещаем данные в массив для последующего использования




Начало  Назад  Вперед