DDRace - игра на выносливость и реакцию
DDRACE - это модификация игры Teeworlds, которая предоставляет игрокам возможность создавать свои уровни, используя широкий спектр инструментов и элементов, таких как блоки, порталы, ловушки и т.д. Эта модификация имеет огромную популярность среди сообщества Teeworlds и является одним из самых играемых режимов в игре.
Пример кода для создания DDRAE-карты:
#Include
void CreateDDRACEMap()
{
char aMapName[64] = "MyDDRACEMap";
str_append(aMapName, ".map");
char aAuthor[32] = "John Doe";
int iWidth = 20;
int iHeight = 20;
CMap *pMap = new CMap(iWidth, iHeight);
pMap->m_pTiles = new CTile[iWidth*iHeight];
for(int y = 0; y < iHeight; y++)
{
for(int x = 0; x < iWidth; x++)
{
pMap->m_pTiles[y*iWidth+x].m_Index = 0; //используемый индекс тайла
pMap->m_pTiles[y*iWidth+x].m_Flags = 0; //флаги тайла
}
}
// добавляем блоки
for(int y = 0; y < iHeight; y+=2)
{
for(int x = 0; x < iWidth; x++)
{
pMap->m_pTiles[y*iWidth+x].m_Index = 2; //индекс блока
pMap->m_pTiles[y*iWidth+x].m_Flags = TILEFLAG_SOLID; //флаг, указывающий на непроходимость
}
}
// добавляем порталы
CTeleport Teleport;
Teleport.m_To = vec2(5,5); //точка назначения портала
Teleport.m_ToTele = true; //указывает, что это портал-телепорт
Teleport.m_Pos = vec2(10,10); //позиция портала на карте
pMap->m_lTeleport.add(Teleport);
// добавляем ловушки
CTrap Trap;
Trap.m_Pos = vec2(12,12); //позиция ловушки на карте
Trap.m_Type = TRAP_ROCKET; //тип ловушки
Trap.m_Activated = true; //указывает, что ловушка активна
pMap->m_lTraps.add(Trap);
// сохраняем карту
CDataFileWriter df;
df.add_line("# Generated with DDRACE Creator");
df.add_line("");
df.add_linef("name '%s'", aMapName);
df.add_linef("author '%s'", aAuthor);
df.add_linef("size %d %d", iWidth, iHeight);
pMap->save(&df);
df.save("maps", aMapName);
delete pMap;
}
Этот пример кода создает карту размером 20x20 и добавляет на ней блоки, порталы и ловушки. Когда карта создана, она сохраняется в формате .map с именем "MyDDRACEMap". Чтобы создать новую карту, можно создать новую функцию, изменить значения параметров и выбрать другие элементы, такие как пуш-блоки, телепорты и т.д.