[ajuda] Random ! -
Rick_DR - 03.03.2012
Boa noite amigos !
Estive a criar um sistema de lotaria para o meu server, o problema й que quando sai o bilhete no jogo os numeros podem sair repetido, e eu queria mudar isso!
pawn Код:
MakeNumber()
{
Number[0] = random(49);
Number[1] = random(49);
Number[2] = random(49);
Number[3] = random(49);
Number[4] = random(49);
Number[5] = random(10);
Number[6] = random(10);
}
Eu queria por exemplo se no Number[0] saisse o numero 15 (por exemplo)
nos outros numeros saisse um numero diferente do Number[0]!
tinha de ser qualquer coisa como:
number[0] = random(49);
number[1] = random(49) exeto o number[0]
Serб possivel isto?
Re: [ajuda] Random ! -
GuiihCamargo - 03.03.2012
Tente trocar os (49) por algum outro numero e um (10) por outro nъmero! , que pelo oque eu sei os numeros sorteados ae so vгo ser o 49 e o 10
Re: [ajuda] Random ! -
Ricop522 - 03.03.2012
pawn Код:
MakeNumber()
{
Number[0] = random(49);
Number[1] = random(49);
Number[2] = random(49);
Number[3] = random(49);
Number[4] = random(49);
Number[5] = random(10);
Number[6] = random(10);
for(new i = 0; i <= 4; ++i ) {
if(Number[i] == Number[i]) {
Number[i] = Random(49);
}
}
if(Number[5] == Number[6])
Number[5] = random(10);
}
Re: [ajuda] Random ! -
DarkScripter - 03.03.2012
Quote:
Originally Posted by Ricop522
pawn Код:
MakeNumber() { Number[0] = random(49); Number[1] = random(49); Number[2] = random(49); Number[3] = random(49); Number[4] = random(49); Number[5] = random(10); Number[6] = random(10); for(new i = 0; i <= 4; ++i ) { if(Number[i] == Number[i]) { Number[i] = Random(49); } } if(Number[5] == Number[6]) Number[5] = random(10); }
|
assim й melhor
pawn Код:
stock MakeNumber()
{
static MyNun[500], nTemp;
procura:
nTemp = random(50);
{
for(new i; i != 500; ++i)
{
if(MyNun[i] == nTemp) goto procura;
if(MyNun[i] != nTemp) break;
}
}
return nTemp;
}
Re: [ajuda] Random ! -
Ricop522 - 03.03.2012
Quote:
Originally Posted by DarkScripter
assim й melhor
pawn Код:
stock MakeNumber() { static MyNun[500], nTemp; procura: nTemp = random(50); { for(new i; i != 500; ++i) { if(MyNun[i] == nTemp) goto procura; if(MyNun[i] != nTemp) break; } } return nTemp; }
|
MELHOR?
Desde quando criar um loop de 500 e uma array de 500 й melhor? llol?
Isso daн pode se tornar um LOOP infinito cara, e se nгo der 3 vezes?
O loop vai ser chamado 1500 vezes.
Nuss, meudeus..
Isso pode atй travar o server.. pqp..
Re: [ajuda] Random ! -
DarkScripter - 03.03.2012
Quote:
Originally Posted by Ricop522
MELHOR?
Desde quando criar um loop de 500 e uma array de 500 й melhor? llol?
Isso daн pode se tornar um LOOP infinito cara, e se nгo der 3 vezes?
O loop vai ser chamado 1500 vezes.
Nuss, meudeus..
Isso pode atй travar o server.. pqp..
|
nгo pira, o cуdigo estб perfeito, ele funciona perfeitamente,
ao contrбrio do seu que ao armazenar mais 4 nъmeros, ele comeзa a repetir.
Re: [ajuda] Random ! -
Rick_DR - 03.03.2012
Obrigado aos dois pela ajuda !
Ricop522
Ainda esta a repetir os numeros!
DarkScripter
Nao consegui adaptar o seu codigo no meu FS
Ainda agora fui testar e com o metodo do Ricop522 e saiu 2 vezes o numero 1 !
Re: [ajuda] Random ! -
Ricop522 - 03.03.2012
Quote:
Originally Posted by DarkScripter
nгo pira, o cуdigo estб perfeito, ele funciona perfeitamente,
ao contrбrio do seu que ao armazenar mais 4 nъmeros, ele comeзa a repetir.
|
Repitir? vocк entende de Loops? sugiro vocк estudar mais Pawn porque o seu cуdigo tб um lixo.
Re: [ajuda] Random ! -
CyNiC - 03.03.2012
Usando IRL(
https://sampforum.blast.hk/showthread.php?tid=269457):
pawn Код:
//Criando nъmeros a ser sorteados:
new RandomList:Loteria;
Loteria = CreateRandomList();
for(new i = 1; i < 51; i++) AddItemsToRandomList(Loteria, i);
//Obter nъmeros random
new Numbers[6];
Numbers[0] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[0]);
Numbers[1] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[1]);
Numbers[2] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[2]);
Numbers[3] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[3]);
Numbers[4] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[4]);
Numbers[5] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[5]);
//Destruindo lista
DestroyRandomList(Loteria);
Usando foreach: (
https://sampforum.blast.hk/showthread.php?tid=92679)
pawn Код:
//Criando nъmeros a ser sorteados:
new Iterator:Numeros<50>;
for(new i = 1; i < 51; i++) Itter_Add(Numeros, i);
//Obter nъmeros random
new Numbers[6];
Numbers[0] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[0]);
Numbers[1] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[1]);
Numbers[2] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[2]);
Numbers[3] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[3]);
Numbers[4] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[4]);
Numbers[5] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[5]);
Re: [ajuda] Random ! -
rodrigooo - 03.03.2012
iih vai rolar peia '--'