Секреты программирования игр


Демонстрация смены экрана - часть 3


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

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




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



Книжный магазин