Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа пример.docx
Скачиваний:
4
Добавлен:
26.09.2019
Размер:
674.4 Кб
Скачать

Распространение Условно-бесплатные программы

Это простейший метод, который можно выбрать для распространения игры. Существует много открытых сайтов, на которых любой желающий может разместить свою игру для бесплатного скачивания. Все, что вам необходимо сделать — это разместить на сайте установочный пакет для скачивания и указать адрес для людей, которые пожелают сделать пожертвование. Одно из возможных мест для размещения ваших файлов называется FilePlanet. Оно располагается по адресу www.fileplanet.com.

Сайты аукционов

Упаковать игру и руководство к ней в коробку и выставить на продажу на eBay или другом Интернет - аукционе. Единственная проблема, связанная с этим методом, заключается в том, что у публики будет очень ограниченное представление о вашей игре. Чтобы противодействовать этой проблеме, надо разместить на общедоступных сайтах демонстрационную версию игры. В демонстрационную версию поместить ссылку на свой сайт, чтобы заинтересовавшиеся люди могли получить информацию о том, как купить полную версию игры.

Издатели

Если игра достаточно хороша для издателя, можно попробовать предложить ее некоторым сетевым издательствам. Одна из таких компаний — Garage Games, которая может издать игру за определенный процент с продаж. Дополнительную информацию можно получить на сайте www.garagegames.com.

Хранение блоков в двухмерном массиве

Простейший метод хранения блоков — использование двухмерного массива. Первое измерение образует горизонтальные строки, а второе — вертикальные столбцы. Взгляните на следующий код:

Установка размеров карты

int map_size_x=128;

int map_size_y=128;

Положение карты

int map_x=0;

int map_y=0;

Объявление массива с картой

map_cell map[128][128];

map_obj_cell map_obj[128][128];

Заполнение ,блока карты на который наведён курсор блоком.

//если не попадает на карту - выйти

if(cur_x<256)return;

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

int x=(cur_x-256)/32+map_x,y=cur_y/32+map_y;

//заполнение клетки покрытием

if(lbutton&&layer==dwater)

{

put_(x,y-1);//0

put_(x+1,y-1);//1

put_(x+1,y);//2

put_(x+1,y+1);//3

put_(x,y+1);//4

put_(x-1,y+1);//5

put_(x-1,y);//6

put_(x-1,y-1);//7

int lay=map[x][y-1].mark;

if(lay==sand)put_water(x,y-1);//0

lay=map[x+1][y-1].mark;

if(lay==sand)put_water(x+1,y-1);//1

lay=map[x+1][y].mark;

if(lay==sand)put_water(x+1,y);//2

lay=map[x+1][y+1].mark;

if(lay==sand)put_water(x+1,y+1);//3

lay=map[x][y+1].mark;

if(lay==sand)put_water(x,y+1);//4

lay=map[x-1][y+1].mark;

if(lay==sand)put_water(x-1,y+1);//5

lay=map[x-1][y].mark;

if(lay==sand)put_water(x-1,y);//6

lay=map[x-1][y-1].mark;

if(lay==sand)put_water(x-1,y-1);//7

check_put(x,y,dwater);

}

Заполнение происходит после определения, рядом стоящего блока. Если он является таким же как используем мы, то заполнение происходит по принципу:1) С какой стороны блок который мы ставим относительно найденного. 2) И по этим данным мы выбираем текстуру склеивания в grass.bmp

Свойства блоков

На данный момент у каждого блока есть только одно значение, определяющее растровое изображение, которое будет выводиться при отображении блока. В реальном игровом мире у блоков есть и другие значения, или свойства. Вот список некоторых свойств блоков:

  • Проходимость

  • Возвышенность

  • Яркость

  • Смещение