Цыкл как проверить на одинаковые значения
#15

Quote:
Originally Posted by White_116
View Post
С тебя печенье.
PHP Code:
#include <a_samp>
#define InitRandomNumberArr(%0,%1) new %1[%0+1]; ReInitRandomNumberArr(%1, %0+1)
stock ReInitRandomNumberArr(rand_arr[], size sizeof(rand_arr))
{
    for(new 
sizei--;)
    {
        
rand_arr[i] = i;
    }
}
stock GetRandomNumberFromArr(rand_arr[], size sizeof(rand_arr))
{
    if(
rand_arr[--size] == 0)
    {
        return -
1;
    }
    new 
num random(rand_arr[size]);
    new 
r_num rand_arr[num];
    
rand_arr[num] = rand_arr[--rand_arr[size]];
    return 
r_num;
}
stock SetRandomMaxNumberArr(numberrand_arr[], size sizeof(rand_arr))
{
    --
size;
    if(
number sizenumber size;
    if(
number 1number 1;
    
rand_arr[size] = number;
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#define MAX_MAPS (49)
new MapPlayer[MAX_MAPS][2] =
{
//  {?? ? ?? ???????.}
    
{1,  20},
    {
2131},
    {
2131},
    {
2131},
    {
1,  20},
    {
1,  20},
    {
2131},//6
    
{1,  20},
    {
1,  20},
    {
1,  20},
    {
1,  20},
    {
21,  31},
    {
1,  20},//12
    
{3242},//?????? ??? ?? 43 ?? 52
    
{2131},
    {
1,  20},
    {
1,  20},
    {
3242},//17
    
{2131},
    {
3242},//19
    
{2131},//20
    
{3242},//21
    
{3242},
    {
2131},
    {
1,  20},
    {
1,  20},
    {
2131},//26
    
{3242},//27
    
{2131},//28
    
{2131},//29
    
{3242},//30
    
{3242},//31
    
{2131},
    {
1,  20},
    {
1,  20},
    {
1,  20},
    {
2131},
    {
2131},//37
    
{3242},
    {
1,  20},
    {
2131},//20
    
{2131},//41
    
{2131},//42
    
{3242},//43
    
{3242},//44
    
{2131},
    {
1,  20},
    {
1,  20},
    {
1,  20}//48
};
public 
OnFilterScriptInit()
{
    new 
random_Maps[6] = {-1, ...};
    new 
tmp_MapPlayer[MAX_MAPS] = {-1, ...};
    new 
tmp_MapCount 0;
    
    for(new 
0MAX_MAPSm++)//Для начала найдём подxодящие арены
    
{
        if(
MapPlayer[m][0] <= 32 <= MapPlayer[m][1]) // проверка по онлайну, сейчас 32 игрока
        
{
            
tmp_MapPlayer[tmp_MapCount] = m;
            
tmp_MapCount++;
        }
    }
    
    
InitRandomNumberArr(MAX_MAPStmp_arr_rand_num);//Инициализируем массив под рандом (язык статичный, выделяем максимальный размер MAX_MAPS)
    
SetRandomMaxNumberArr(tmp_MapCounttmp_arr_rand_num);//Установим максимальное рандомное число (tmp_MapCount), сколько у нас карт подошло под условие
    
    
for(new 06m++)//Получим рандомные 6 карт
    
{
        new 
value GetRandomNumberFromArr(tmp_arr_rand_num);
        if(
value > -1)
        {
            
random_Maps[m] = tmp_MapPlayer[value];
        }
    }
    for(new 
06m++)//Приведём массив в порядок
    
{
        if(
random_Maps[m] == -1)
        {
            new 
bool:bOK false;
            for(new 
m6k++)
            {
                if(
random_Maps[k] > -1)
                {
                    
random_Maps[m] = random_Maps[k];
                    
random_Maps[k] = -1;
                    
bOK true;
                }
            }
            if(
bOK == false)
            {
                break;
            }
        }
    }
    
printf("tmp_MapCount = %d"tmp_MapCount);
    for(new 
0sizeof(random_Maps); i++)
    {
        
printf("random_Maps[%d] = %d"irandom_Maps[i]);
    }
    
    return 
1;

Расплачусь за него

С тебя пончик.
Reply


Messages In This Thread
Цыкл как проверить на одинаковые значения - by Bren - 08.06.2017, 19:57
Re: Цыкл как проверить на одинаковые значения - by Stepashka - 09.06.2017, 07:05
Re: Цыкл как проверить на одинаковые значения - by Bren - 09.06.2017, 12:37
Re: Цыкл как проверить на одинаковые значения - by White_116 - 09.06.2017, 13:31
Re: Цыкл как проверить на одинаковые значения - by Stepashka - 09.06.2017, 14:45
Re: Цыкл как проверить на одинаковые значения - by White_116 - 09.06.2017, 15:30
Re: Цыкл как проверить на одинаковые значения - by Stepashka - 09.06.2017, 17:06
Re: Цыкл как проверить на одинаковые значения - by White_116 - 09.06.2017, 17:29
Re: Цыкл как проверить на одинаковые значения - by Bren - 09.06.2017, 17:42
Re: Цыкл как проверить на одинаковые значения - by Stepashka - 09.06.2017, 18:05
Re: Цыкл как проверить на одинаковые значения - by Bren - 09.06.2017, 22:44
Re: Цыкл как проверить на одинаковые значения - by SoNikMells - 10.06.2017, 08:07
Re: Цыкл как проверить на одинаковые значения - by Bren - 10.06.2017, 11:08
Re: Цыкл как проверить на одинаковые значения - by White_116 - 10.06.2017, 11:08
Re: Цыкл как проверить на одинаковые значения - by Mutha_X - 10.06.2017, 11:19
Re: Цыкл как проверить на одинаковые значения - by Bren - 10.06.2017, 11:21

Forum Jump:


Users browsing this thread: 2 Guest(s)