Есть у меня 6 игроков и у каждого в начале игры должен появится персонаж в 12 возможных точках. Как сделать рандом, чтобы не спавнились 2 и больше игроков в одном месте
Принятый ответ
Если перевести выше сказанное
Да что там переводить то?
//! zinc
library Spawn {
rect RCT[];
function onInit(){
integer i, j, k, t, arr[];
real x, y;
rect rct;
RCT[0] = gg_rct_Spawn00;
RCT[1] = gg_rct_Spawn01;
RCT[2] = gg_rct_Spawn02;
RCT[3] = gg_rct_Spawn03;
RCT[4] = gg_rct_Spawn04;
RCT[5] = gg_rct_Spawn05;
RCT[6] = gg_rct_Spawn06;
RCT[7] = gg_rct_Spawn07;
RCT[8] = gg_rct_Spawn08;
RCT[9] = gg_rct_Spawn09;
RCT[10] = gg_rct_Spawn10;
RCT[11] = gg_rct_Spawn11;
k = 10;
for(0 <= i < k){
arr[i] = i;
}
for(0 <= i < k) {
j = GetRandomInt(0, k-1);
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
for(0 <= i < 6){
rct = RCT[arr[i]];
x = GetRectCenterX(rct);
y = GetRectCenterY(rct);
CreateUnit(Player(0), 'hfoo', x, y, GetRandomReal(0, 360));
}
rct = null;
}
}
//! endzinc
Только k = 10;, замените на k = 12;, а то я чтот незаметил(
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован LordDracula
Ну и рандомное число бери от 0 до кол-во областей-1. После смещения последнюю область обнуляй
Целочисленная мах= 12 (максимальное кол. областей)
Область[1-мах] (установка областей)
Целочисленная рандом = случайное число от 1 до 12
Создать героя в область[рандом]
Область[рандом] = область [мах]
мах = мах - 1
Отредактирован nazarpunk
ну у Borodach в 1 цикл получится
Отредактирован nazarpunk
Отредактирован nazarpunk
Отредактирован ScorpioT1000
Типа чтобы we подсасывал нужные пакеты из сети.
Но для этого надо апнуть синтаксис
ScorpioT1000: