Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[Mod]Fsb Point

Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14257
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 19 Juin 2005, 20:56

Reprise du dernier message

Voilà si ca t'interesse la classe (l'utilisation en bas du message) :
class Nb
{
	/*
	** Calcul le résultat d'une expression numérique en gérant les nombres infinis.
	** Attention le résultat est une chaine de caractère, ne pas convertir en (int) !
	*/
	function calcul($str)
	{
		$str = str_replace(array(' ', "\n", "\t"), array('', '', ''), $str);
		$str = str_replace(array('+-', '--'), array('-', '+'), $str);
		while (preg_match('/^([0-9]+)([\+\-\*\/%]+)([0-9]+)/si', $str, $match))
		{
			switch ($match[2])
			{
				case "+" :
					$result = $this->operation_add($match[1], $match[3]);
				break;

				case "-" :
					$result = $this->operation_sub($match[1], $match[3]);
				break;
			}
			$str = preg_replace('/^([0-9]+)([\+\-\*\/%]+)([0-9]+)/si', (string)$result, $str);
			$str = str_replace(array('+-', '--'), array('-', '+'), $str);
		}

		return ($str);
	}

	/*
	** Opération sur deux nombres
	*/
	function operation_add($nb1, $nb2)
	{
		$len1 = strlen($nb1);
		$len2 = strlen($nb2);
		$max = max($len1, $len2);
		$final = '';
		$retenu = 0;
		for ($i = 0; $i < $max; $i++)
		{
			$c1 = ($len1 - $i - 1 >= 0) ? $nb1{$len1 - $i - 1} : 0;
			$c2 = ($len2 - $i - 1 >= 0) ? $nb2{$len2 - $i - 1} : 0;
			$result = (string)($c1 + $c2 + $retenu);
			if (strlen($result) == 2)
			{
				$final = $result{1} . $final;
				$retenu = 1;
			}
			else
			{
				$final = $result{0} . $final;
				$retenu = 0;
			}
		}
		return ((($retenu == '1') ? '1' : '') . $final);
	}

	/*
	** Soustraction sur deux nombres
	*/
	function operation_sub($nb1, $nb2)
	{
		$len1 = strlen($nb1);
		$len2 = strlen($nb2);
		$max = max($len1, $len2);
		$final = '';
		$retenu = 0;
		$neg = FALSE;
		for ($i = 0; $i < $max; $i++)
		{
			$c1 = ($len1 - $i - 1 >= 0) ? $nb1{$len1 - $i - 1} : 0;
			$c1 = (string)($c1 - $retenu);
			$c2 = ($len2 - $i - 1 >= 0) ? $nb2{$len2 - $i - 1} : 0;
			if ($c1 >= $c2)
			{
				$retenu = 0;
				$result = (string)($c1 - $c2);
			}
			else
			{
				if ($i == $max - 1)
				{
					$neg = TRUE;
					$result = (string)abs($c1 - $c2);
				}
				else
				{
					$retenu = 1;
					$result = (string)(($c1 + 10) - $c2);
				}
			}
			$final = $result . $final;
		}
		return ((($neg) ? '-' : '') . $final);
	}
}


Pour l'utilisation :
[php]$nb = new Nb();
$result = $nb->calcul('99999999999999999999999999999999999999999+1');
echo $result;
// Affiche : 100000000000000000000000000000000000000000[/php]

Par contre pour le moment seuls les + et les - sont gérés (pas de parenthèse, ni de *, / et %).
A toi de voir si tu souhaites utiliser la classe mais bon autant gérer les nombres infinis ^^


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Equipe des MODS
Avatar de Houram
  • Age : 19 ans
  • Messages : 1243
  • Inscrit : 15 Juin 2005
  Lien vers ce message 19 Juin 2005, 22:35
Merci beaucoup !

Je vais essayer de l'utiliser, mais je ne suis pas sur d'y arriver !
 
Equipe des MODS
Avatar de Houram
  • Age : 19 ans
  • Messages : 1243
  • Inscrit : 15 Juin 2005
  Lien vers ce message 22 Juin 2005, 20:41
Le mod revient !

Cette foi en version stable (théoriquement), avec pleins d'options et d'add-on !

Toutefois il ne gère pas les nombres illimités...
 
Feu follet
Avatar de KillerHyena
  • Messages : 113
  • Inscrit : 16 Mai 2005
  Lien vers ce message 22 Juin 2005, 23:46
je ne pense pas que c'est si important que ca.. Tu ne vas pas donner autant de points à quelqu'un..
Sinon gg pour le mod 8)


Cherche personnes motivées pour intégrer l'équipe de Vanylla.
-&gt; http://vanylla.info/
 
Equipe des MODS
Avatar de Fabogranqi
  • Age : 19 ans
  • Messages : 3052
  • Inscrit : 29 Décembre 2004
  Lien vers ce message 27 Juin 2005, 14:39
Je crois que les fichiers prémoder ne sont pas a jour.
 
Equipe des MODS
Avatar de Houram
  • Age : 19 ans
  • Messages : 1243
  • Inscrit : 15 Juin 2005
  Lien vers ce message 30 Juin 2005, 18:21
Normalement si, exepté au niveau du fichier de langue je crois.

P.S : désolé pour le retard, j'était passé à coté de ce message.
 
Equipe des MODS
Avatar de Fabogranqi
  • Age : 19 ans
  • Messages : 3052
  • Inscrit : 29 Décembre 2004
  Lien vers ce message 30 Juin 2005, 18:27
Citation (Houram)
Normalement si, exepté au niveau du fichier de langue je crois.

P.S : désolé pour le retard, j'était passé à coté de ce message.


Regarde tes fichiers, certains utilisent encore $config['truc'] au lieu de $points['truc']
 
Equipe des MODS
Avatar de Houram
  • Age : 19 ans
  • Messages : 1243
  • Inscrit : 15 Juin 2005
  Lien vers ce message 30 Juin 2005, 19:03
Escuse moi mais pourrais tu me dire le(s)quel(s) fichier(s) utiliser les $config ?
 
Equipe des MODS
Avatar de Houram
  • Age : 19 ans
  • Messages : 1243
  • Inscrit : 15 Juin 2005
  Lien vers ce message 22 Aout 2005, 19:16
Mod mis à jour !
 
Volcan
Avatar de nerevare
  • Age : 31 ans
  • Messages : 1848
  • Inscrit : 10 Juillet 2005
  Lien vers ce message 22 Aout 2005, 19:30
reste plus cas avoir un mods pour perdre des points style arcade activity ou autre s


http://www.dagonfield.be/bandeau_dgf2.jpg

N°1 des skins Fire Soft Board
http://www.dagonfield.be // http://www.dagonfield.com
 
Volcan
Avatar de Styx
  • Age : 17 ans
  • Messages : 1119
  • Inscrit : 28 Février 2005
  Lien vers ce message 22 Aout 2005, 19:53
Génial !!! Sa peut toujours servir en plsu je pense l'utiliser pour mon forum sur la mini... :mdr:


Un jour je reviendrais !
 
Equipe des MODS
Avatar de Houram
  • Age : 19 ans
  • Messages : 1243
  • Inscrit : 15 Juin 2005
  Lien vers ce message 27 Aout 2005, 14:29
Mod mis à jour, nescessite maintenant le mod+
 
Equipe de support
Avatar de SquallX
  • Age : 18 ans
  • Messages : 2483
  • Inscrit : 18 Novembre 2004
  Lien vers ce message 24 Octobre 2005, 23:37
bouh et celui là nécéssite encore le mod+ :P
 
Equipe des MODS
Avatar de Houram
  • Age : 19 ans
  • Messages : 1243
  • Inscrit : 15 Juin 2005
  Lien vers ce message 25 Octobre 2005, 8:21
Mais qu'il est bete lui^^ :=)

Citation
Posté le : Sam 27 Aoû 2005, 14:29


Je ne l'ai pas encore mis à jour pour la dernière version de fsb, mais ça viendra !
 
Equipe de support
Avatar de SquallX
  • Age : 18 ans
  • Messages : 2483
  • Inscrit : 18 Novembre 2004
  Lien vers ce message 25 Octobre 2005, 10:09
Bah oui c'est ce que je te reproche :P
 
Equipe des MODS
Avatar de Houram
  • Age : 19 ans
  • Messages : 1243
  • Inscrit : 15 Juin 2005
  Lien vers ce message 02 Novembre 2005, 17:19
Voilà, content ?

le mod à été mit à jour pour la v1.0.3b de fsb et par consequent ne nescessite plus le mod+
 
Répondre


.