random chiffre, lettre, caractère spéciaux - PHP - Programmation
Marsh Posté le 06-06-2013 à 17:20:19
Ce n'est pas le système que je cherche à faire, mais merci tout de même de ton aide
Marsh Posté le 06-06-2013 à 17:24:08
C'est bien compliqué que ça, je ne pense pas que tu ai compris. Faire un tableau pour y mettre mes caractères, d'accord. Une boucle, obligé. Mais je ne veux pas de rand à proprement parlé.
C'est con ce que je veux faire, mais je veux qu'il me fasse comme une liste : d'abord ma lettre a, ensuite ma lettre b etc. Quand il arrive à la z, je veux qu'une deuxième lettre se rajoute donc ça ferait aa, ab etc. quand c'est à az, ça devrait faire ba, bc, etc etc
Marsh Posté le 06-06-2013 à 18:00:33
Volkhen a écrit : Bon aller, une fonction récursive et un array_slice en plus et c'est dans le sac |
Perdue ^^' je ne suis plus en cours je bosse, et c'est pour un projet personnel. C'est que j'ai compris qu'il fallait un tableau, mais je n'arrive pas à comprendre comment je peux faire pour rendre le reste fonctionnel. Je ne veux pas non plus un code entier, je veux simplement une aide pour comprendre car là tu me donne des fonctions, mais pas leurs syntaxes (même si je peux voir sur le site mais tu as l'air plus renseigné).
Marsh Posté le 06-06-2013 à 21:59:27
En gros, tu veux générer les combinaisons possibles des éléments de ton tableau suivant une longueur prédéfinie, c'est assez simple à faire.
Cherche « combinaisons php » dans ton moteur de recherche préféré
Marsh Posté le 07-06-2013 à 15:47:10
je crois que je n'ai pas fini de chercher ^^' parce que je vais me retrouver finalement avec 2 soucis :
la premier est que j'ai vue comment faire mais le code ne se met pas à jour, c'est à dire qu'a priori je suis obligé de rajouter du code pour passer à la lettre suivante (a, aa, aaa, etc) Je n'ai donc pas trouver mon bonheur ou alors ça devient plus compliqué que ce je pensais
Mais en plus de ça, je pensais faire un système en ajax pour permettre au scrypt de "souffler" car par exemple pour générer 10 caractères :
1+2+3+4+5+6+7+8+9+10 = 55 avec toutes les lettres d'alpahabet et numérique ainsi que les majuscules, bref -> erreur php durant l’exécution - mais je pense que ça va être plus compliqué que ce qu'il n'y parait.
EDIT : je vais faire un test avec un système de variable, je viens d'avoir une idée.
EDIT 2 : A priori ça fonctionnerai mais je crains au niveau du php, il ne suivra pas. Est-ce que on peut le faire en ajax ?
Marsh Posté le 07-06-2013 à 19:49:22
Générer toutes les combinaisons de 10 caractères parmi 55 caractères, c'est un peu loufoque, c'est certain que php va pas aimer beaucoup et encore moins le navigateur client si tu t'orientes vers du js, ça fait du 29 248 649 430 combinaisons possibles sans doublons (si je me goure pas )
Tu peux déjà mettre le set_time_limit à 0 et attendre impatiemment et avec certitude un out of memory
En fait quel est le but final de générer ces combinaisons ?
Marsh Posté le 07-06-2013 à 23:55:34
bistouille a écrit : Générer toutes les combinaisons de 10 caractères parmi 55 caractères, c'est un peu loufoque, c'est certain que php va pas aimer beaucoup et encore moins le navigateur client si tu t'orientes vers du js, ça fait du 29 248 649 430 combinaisons possibles sans doublons (si je me goure pas ) |
Et comme je souhaiterais en plus faire du doublon un très gros test, mais ça me fait pas peur le php ça va etre très léger, il ne survivra pas, mais normalement en js ça devrait être plus possible,
Marsh Posté le 08-06-2013 à 12:01:24
Je reviens au nouvelle :
$(document).ready(function(){
$('#infos').html('Lancement du systeme...');
setTimeout('randomLoad()', 2000);
});
function randomLoad()
{
chiffres = new Array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm' ,'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
nb = chiffres.length;
combinaisons = new Array();
numberColonne = 1;
colonne1 = 0;
colonne2 = 0;
colonne3 = 0;
generation = 0;
while(colonne1 < nb)
{
combinaisons = chiffres[colonne1];
console.log(combinaisons);
colonne1++;
generation++;
while(colonne2 < nb)
{
combinaisons2 = chiffres[colonne2];
console.log(''+combinaisons+ '' +combinaisons2+ '');
colonne2++;
generation++;
while(colonne3 < nb)
{
combinaisons3 = chiffres[colonne3];
console.log(''+combinaisons+ '' +combinaisons2+ '' +combinaisons3+ '');
colonne3++;
generation++;
}
if(colonne3 == nb)
colonne3=0;
}
if(colonne2 == nb)
colonne2 = 0;
}
console.log(''+generation+' générations on était faites');
}
J'ai finalement trouvé une solution. Java morfle (219660 possibilités). Je vais essayé de fois si je ne peux pas faire un arrêt forcé toutes les x secondes pour permettre au navigateur de souffler et de laisser un script propre.
EDIT : Java morfle vraiment ^^ sur mon pc de test Mozilla monte a 5 Go de Ram utilisés et ça doit faire déjà quelques dizaines de minutes qu'il bosse
Marsh Posté le 09-06-2013 à 09:09:03
Le problème est résolu. Java n'étant pas assez puissant pour ce que je voudrais faire, j'ai décidé de passer sous un langage plus puissant qui se tourne vers du c#, je pense meme voir à du c++ mais je sais pas si la différence se fera voir
Marsh Posté le 06-06-2013 à 17:11:24
Salut à tous.
Je viens vers vous pour une question qui peut être plutôt intéressante pour nombreuses personnes.
Je souhaiterais faire un système de randomisation (ouh ! qu'elle grand mot) mais randomisation non aléatoire, comme une séquence. :
a
b
c
d
e
f
g
etc, bien sur, je voudrais que ce système fasse aussi passe au majuscule et ensuite caractère spéciaux.
Ce système est finalement simple à codé, on peut facilement le faire avec des variables par exemple :
1 = a
2 = b
3 = c
et faire ensuite une boucle assez surprenante (avec un bout de code ajax derrière). Mais voilà, je voudrais allez plus loin :
lorsque cette boucle est faîtes, je voudrais qu'un deuxième caractère apparaisse et donc je repartirai au début :
aa
ab
ac
...
ba
bb
bc
...
ca
cb
ca
...
ainsi de suite. Est-ce que vous voyez où je veux en venir ? Je ne pense pas que ce soit bien compliqué à mettre en place, encore faut-il y arriver (ou alors le faire avec un système js).
Encore merci de votre aide.
---------------
Dév amateur : eternity-online-game.net (en cours de codage)