![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Advanced Member Сообщений: 139 Спасибо сказали: 31 раз ![]() |
Карты сделаны на основе "Всегда готов". Эта карта для трёх игроков. На скриншоте финальный бой.
Скачать карту: https://yadi.sk/d/65hTa_Hy3Mx4oZ ![]() ![]() |
|
|
![]() |
![]()
Сообщение
#2
|
|
Advanced Member Сообщений: 139 Спасибо сказали: 31 раз ![]() |
Дано: "Heroes III".
Надо: нарисовать карту, состоящую из дуг 1/8 окружности. Среда разработки: MS-DOS, Turbo C, Windows 95; Celeron 333. Для этого надо нарисовать границу окружности, а потом составить карту из них. Программа, рассчитывающая границу окружности: Код /* Радиус */ #include <math.h> #include <stdio.h> main () { int a, b, c, d; FILE *g; /* a - радиус, для которого ведётся расчёт b - максимальное значение, для которого считается квадратный корень c - счётчик d - рассчитанное значение границы окружности */ g = fopen ("1.txt", "w"); for (a = 1; a < 61; a++) /* внешний радиус 1/8 окружности */ { b = a / sqrt (2) + 2; /* верхняя граница расчетов */ fprintf (g, "r = %i\n", a); for (c = 0; c < b; c++) { if (c == a) break; d = sqrt (a * a - c * c - .0001) + 1; if (d < c) break; if (d == a) continue; fprintf (g, "%i - %i\n", c, d); } fprintf (g, "\n"); } fclose (g); } В результате получается файл, содержащий рассчитанные границы окружностей различных радиусов. Но окружность получается неровная. После ручной правки получается следующее: Цитата r = 1 r = 2 r = 3 r = 4 3 - 3 r = 5 3 - 4 r = 6 4 - 5 r = 7 4 - 6 5 - 5 r = 8 4 - 7 5 - 7 6 - 6 r = 9 5 - 8 6 - 7 r = 10 5 - 9 6 - 9 7 - 8 Скачать заготовки карт 3 - 12: yadi.sk/d/E7Bi8tVh3Xp2e9 Скачать программу для расчёта радиусов: yadi.sk/d/0C1Ga-OX3Xp2zG Скачать файл с рассчитанными радиусами: yadi.sk/i/rWN_PXeC3Xp39B Получились такие заготовки карт: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 1 September 2025 - 09:58 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|