Ребят, всем привет)
Пишу систему гонок, тут встал вопрос о позициях гонщиков в гонке.
Подскажите как примерно ее можно осуществить?
- Гонка проходит по чекпоинтам
Вид для печати
Ребят, всем привет)
Пишу систему гонок, тут встал вопрос о позициях гонщиков в гонке.
Подскажите как примерно ее можно осуществить?
- Гонка проходит по чекпоинтам
По мере прохождения чекпоинтов, увеличивай переменную игрока и потом уже узнавай у кого значение переменной больше, тот и первый в позиции.
Создать 3 массива: в одном будет записываться пройденное кол-во чекпоинтов для каждого игрока, в другом - ID участников гонки, в третьем - время прохождения последнего чекпоинта. При старте гонки в массиве с кол-вом чекпоинтов инициализировать все ячейки нулями, в массиве с временем прохождения чекпоинтов также записать нули (0.00) и в оставшемся массиве записать ID участников. Дальше, когда какой-нибудь игрок пройдёт через чекпоинт, увеличить у этого игрока пройденное кол-во чекпоинтов и отсортировать массив с ID участников по кол-ву чекпоинтов, если у двух игроков кол-во одинаковое - сортировать по времени прохождения чекпоинта.
Сложно, но можно.
Еще вариант:
Создадим:
Теперь нам понадобится лишь последний (финишный) чекпоинт, там мы запишем трех финалистовPHP код:
#define MAX_TOP_PLAYERS 3 // Количество призовых мест
new listOfTopPlayers[MAX_TOP_PLAYERS]; // Массив для хранения ID победителей
new listOfTopPlayersCounter; // Счетчик для массива
в проверке на последний чекпоинт пишем код:
Теперь у нас в массиве listOfTopPlayers, хранятся ID первых трех игроков, которые пересекли финиш.PHP код:
//...
if(listOfTopPlayersCounter < MAX_TOP_PLAYERS)
{
listOfTopPlayers[listOfTopPlayersCounter] = playerid;
listOfTopPlayersCounter++;
}
//...
Чуть чуть не то)Цитата:
Еще вариант:
Создадим:
PHP код:
#define MAX_TOP_PLAYERS 3 // Количество призовых мест
new listOfTopPlayers[MAX_TOP_PLAYERS]; // Массив для хранения ID победителей
new listOfTopPlayersCounter; // Счетчик для массива
Теперь нам понадобится лишь последний (финишный) чекпоинт, там мы запишем трех финалистов
в проверке на последний чекпоинт пишем код:
PHP код:
//...
if(listOfTopPlayersCounter < MAX_TOP_PLAYERS)
{
listOfTopPlayers[listOfTopPlayersCounter] = playerid;
listOfTopPlayersCounter++;
}
//...
Теперь у нас в массиве listOfTopPlayers, хранятся ID первых трех игроков, которые пересекли финиш.
Меня интересовал ТОП игроков во время гонки, когда они еще гоняются)