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

точный индикатор форекс forex бесплатно торрент

Повороты объектов - часть 2


Эта программа, которую я назвал AFIELD.С, передвигает астероид по трехмерному звездному полю, масштабируя его по мере приближения или удаления оигрока. Листинг 7.11 содержит текст этой программы.

Листинг 7.11. Трехмерный астероид (AFIELD.С).

// ВКЛЮЧАЕМЫЕ ФАЙЛЫ ////////////////////////////////////////

#include <io.h>

#include <conio.h>                                       

#include <stdio.h>

#include <stdlib.h>

#include <dos.h>

#include <bios.h>

#include <fcntl.h>

#include <memory.h>

#include <malloc.h>

#include <math.h>

#include <string.h>

#include "graph0.h" // включаем нашу графическую библиотеку

// ОПРЕДЕЛЕНИЯ/////////////////////////////////////////////

#define NUM_STARS 30

// СТРУКТУРЫ ///////////////////////////////////////////////

typedef struct star_typ

{

int x,y;    // позиция звезды

int vel;    // скорость звезды по координате х

int color; // цвет звезды

} star,*star_ptr;

// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ///////////////////////////////////

star stars[NUM_STARS]; // звездное поле

sprite object;

 pcx_picture ast_cells;

// функции ///////////////////////////////////////////

void Star_Field(void) {

static int star_first=1; // Эта функция создает трехмерное звездное поле

int index;

// проверяем, следует ли нам создать звездное поле,

//то есть первый ли раз вызвана функция

if (star_first)

{ // обнуляем флаг первого вызова

star_first=0;

// инициализируем все звезды

for (index=0; index<NUM STARS; index++)

{ // инициализируем для каждой звезды позицию, скорость и цвет

stars[index].х     = rand()%320;

stars[index].у     = rand()%180;

// определяем плоскость звезды

switch(rand()%3){

case 0: // плоскость 1 - самая далекая

{

// установка скорости и цвета

stars[index].vel = 2;

stars[index].color.= 8;

} break;

case 1: // плоскость 2 - среднее расстояние

{

stars[index].vel = 4;

stars[index].color = 7;

) break;

 case 2://плоскость 3 - самая близкая




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