begin process at 2012 02 14 12:43:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > IMPLEMENTATION DE RANDOM PERSONNALISÉ

IMPLEMENTATION DE RANDOM PERSONNALISÉ


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaire Classé sous :Random, Rand, hasard, code Niveau :Expert Date de création :01/03/2010 Date de mise à jour :01/03/2010 13:02:31 Vu :2 371

Auteur : ousous

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

cette classe est une implementation de Random personnalisé trés sympa a vous de le développez et le personnaliser selon vos besoins

Source

  • /** implementation de random personnalisé */
  • function Random(scale){
  • this.scale=scale;
  • }
  • Random.prototype = {
  • nextInt: function(){
  • return Math.round(Math.random()*this.scale);
  • },
  • nextInt: function(scale,limit){
  • var n=Math.round(Math.random()*scale);
  • if(n>=limit) {
  • return this.nextInt(scale,limit);
  • }
  • else{return n;}
  • },
  • nextFloat: function(){
  • return Math.random()* this.scale;
  • },
  • nextBoolean: function(){
  • return (this.nextInt(10,10)>=5)?true:false;
  • },
  • nextLetter: function(f){
  • var str_chars = 'abcdefghijklmnopqrstuvwxyz';
  • var n=this.nextInt(100,26);
  • return (f)? str_chars.substr(n,1).toUpperCase():str_chars.substr(n,1);
  • }
  • }
  • /** utilisation */
  • s1=new Random(100);
  • for(i=0;i<10;i++){
  • document.write("<BR>Random "+i+" : "+s1.nextInt());
  • }
  • s2=new Random(100);
  • for(i=0;i<10;i++){
  • document.write("<BR>Random "+i+" : "+s2.nextLetter(s2.nextBoolean()));
  • }
/** implementation de random personnalisé */
function Random(scale){
  this.scale=scale;
}
Random.prototype = {
        nextInt: function(){
		return Math.round(Math.random()*this.scale);
	},
	nextInt: function(scale,limit){
		var n=Math.round(Math.random()*scale);
		if(n>=limit) {
		   return this.nextInt(scale,limit);
		}
		else{return n;} 	
	},
	nextFloat: function(){
		return Math.random()* this.scale;
	},
	nextBoolean: function(){
		return (this.nextInt(10,10)>=5)?true:false;	
	},
	nextLetter: function(f){
		var str_chars = 'abcdefghijklmnopqrstuvwxyz';
		var n=this.nextInt(100,26);
		return (f)? str_chars.substr(n,1).toUpperCase():str_chars.substr(n,1);	
	}
} 
/** utilisation */
s1=new Random(100);
for(i=0;i<10;i++){
	document.write("<BR>Random "+i+" : "+s1.nextInt());
}

s2=new Random(100);
for(i=0;i<10;i++){
	document.write("<BR>Random "+i+" : "+s2.nextLetter(s2.nextBoolean()));
}



 Historique

01 mars 2010 13:02:31 :
no comment

 Sources du même auteur

IMPLEMENTATION DE HASHTABLE
JAVASCRIPT.UTIL.ITERATOR

 Sources de la même categorie

Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai
Source avec Zip Source avec une capture RÉSOLUTION D'UN SYSTÈME D'ÉQUATIONS LINÉAIRES À N INCONNUES par william voirol
Source avec Zip Source avec une capture PLUGIN JQUERY LISTE MODIFIABLE (COMBO) AUTOCOMPLÉTÉE par medkarim
GESTION DE NUMÉRO DE TÉLÉPHONE SIMPLE DANS FIREFOX7 par rotomtom
Source avec Zip Source avec une capture RECOMMANDER CETTE PAGE AVEC MAILTO, ACCENT ET RETOUR LIGNE D... par weabow

 Sources en rapport avec celle ci

Source avec Zip DICOFOU DICTIONNAIRE FANTAISISTE EN JAVASCRIPT par lecurieux41
Source avec Zip Source avec une capture CODE UTF-8 par amrounix
NOMBRE ALÉATOIRE par gt_371
Source avec Zip Source avec une capture LOTO AVEC CREATION AUTOMATIQUE DE GRILLE par dipin
RANDOM D'UN TABLEAU par PetoleTeam

Commentaires et avis

Commentaire de LeFauve42 le 08/03/2010 12:00:12 5/10

Salut,

Effectivement ca peut etre pratique, mais :
- Tu utilises la surcharge de methodes, et ce n'est pas possible avec JavaScript. Si tu veux vraiment que ta fonction soit utilisable sans argument, compare les a 'undefined' (avec === ou !== si tu ne veux pas de problemes quand 0 est passe).
- Ta gestion de 'limit' dans nextInt est desastreuse. En effet, si tu n'as vraiment pas de chance, ton programme peux rester planter ad eternam (c'est rare, mais ca peut arriver). utilise simplement l'operateur modulo pour avoir le meme resultat dans un temps fini (et constant, ce qui peut etre necessaire pour un jeux par exemple).
- Ton nextBoolean est n'est pas optimise du tout (ca pourrait etre "return Math.random()<.5;").
- Meme chose pour ton nextLetter :
  - Pourquoi rappeler ta fonction nextInt alors qu'un simple "Math.floor(Math.random()*26)" ferait l'affaire ?
  - Ta chaine/tableau pourrait etre cree dans ta classe, plutot que d'etre realouee a chaque appel.

Eric

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

code vers page html au hasard d'un dossier [ par subderground ] Bonjour, J'essaye de faire des ex/jeux math (primaire). J'ai des exercies sur des fichiers html (1 par page). Je voudrais trouver un moyen (code? jav [BAR]code commentaire pour ma page web [ par amargabaamrane ] je cherche un code simple pour que les visiteurs de mon site puissent commenter mes sujets de mes [^^mad2][^^pirate]page Formulaire : faire réapparaitre la valeur si case vide [ par a44icus ] Bonjour, J'ai un code javascript pour vérifier un formulaire ci-dessous. Dans le code html du formulaire j'ai mis un : onClick="this.value=''" pour css et window.print [ par Vlatiss ] Bonjour, j'ai un fichier jsp dans lequel j'écris du html: [code=js] <link rel="stylesheet" type="text/css" href=". problème espace entre div visible et div caché [ par wiby35 ] Bonjour alors je ne sait pas si je suis au bon endroit mais voila mon petit souci... voila mon code pour que cela soit plus simple : [code=html] <for Pobleme Compte à rebours javascript dans boucle PHP [ par ptimushu ] Bonjour, J'ai énormement de mal à créer un compte à rebours javascript intégré dans une boucle PHP. Voici mon code PHP avec une table [b]produit[/b] Creation Cookie [ par stella2809 ] Bonjour j'aurais une question concernant les cookies, je souhaiterais afficher un "disclaimer" voici mon cookie de lecture : [code=js]function readC Jquery: Pour retrouver la valeur d'un Input.. [ par syndrael ] Bonjour, Ma question parait simple et pourtant je ne trouve pas la solution. Si j'ai ce code: [code=html][/code] et sous JQuery: [code=js]alert($('#te Objet attendu sur IE [ par Doctor3600 ] Bonjour, Je suis entrain de travailler sur une petite page, où il y a un des onglets et du texte dédié sur les onglets. quand je travaille sur Mozil Menu accordeon [ par NNonepse ] Bonjour, J'utilise un menu accordéon sur mon site dont voici le code : Coté JavaScript : [code=js]$(document).ready(function() { $('.accordeon').h


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales