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


Гаснущее изображение - часть 4


Plot_Pixel_Fast((index<<1), 1, (char) worms [index].color);

Plot_Pixel_Fast((index<<1), 2, (char) worms [index].color) ;

Plot_Pixel_Fast((index<<1) + l,0, (char) worms [index].color) ;

Plot_Pixel_Fast((index<<1) + 1,1, (char) worms [index].color) ;

Plot_Pixel_Fast((index<<1) + 1,2, (char) worms [index].color);

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

// плавим экран

while(++ticks<1800)

{

// работа "червячков"

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

{

// пора подвинуть "червячка"

if (++worms[index].counter == worms[index].speed)

{

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

worms[index].counter = 0;

worms[index].color = Get_Pixel(index,worms[index],y+4);

// достиг "червячок" низа экрана?

if (worms[index].у < 193)

{ Plot_Pixel_Fast ((index<<1), worms [index] .y, 0) ;

Plot Pixel Fast ((index<<3.),worms [index] .y+1,

(char)worms[index].color);

Plot_Pixel_Fast ( (index<<1) ,worms [index] .y+2,

(char)worms[index].color);

Plot Pixel Fast ((index<<1),worms [index] .y+3,

(char)worms[index].color) ;

Plot Pixel Fast ( (index<<1) +1,worms [index] .y, 0) ;

Plot_Pixel_Fast( (index<<1)+1,worms [index] .y+1,

(char)worms[index].color);

Plot Pixel Fast ( (index<<1)+l,worms [index] .y+2,

(char)worms[index].color);

Plot_Pixel_Fast ( (index<<1)+1,worms [index] .y+3,

(char)worms[index].color);

worms[index].y++;

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

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

} // конец цикла // ускоряем плавление

if (!(ticks % 500))

{

for (index=0; index<160; index++) worms[index].speed--;

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

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

} // конец Melt

// ОСНОВНАЯ ПРОГРАММА //////////////////////////////////////

void main(void)

(

int index,

done=0,

sel;

// установка видеорежима 320х200х256

Set_Mode(VGA256);

PCX_lnit((pcx_picture_ptr)&screen_fx) ;

PCX_Load("war.pcx", (pcx_picture_ptr)&screen_fx,1);

PCX_Show_Buffer((pcx_picture_ptr) &screen_fx);

PCX_Delete((pcx_picture_ptr)&screen_fx);

_settextposition(22,0);

printf('1 - Fade Lights.\n2 - Disolve.\n3 - Meltdown.");

// какой эффект хочет увидеть игрок? switch(getch())

{

case '1': // гаснущий экран {

Fade_Lights();

} break;

case '2': // растворяющийся экран {

Disolve();

} break;                  

case '3': // оплывающий экран {

Melt(};

} break;

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

// возврат в текстовый режим

Set_Mode(TEXT_MODE) ;

} // конец функции main




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