GamesMaxed

Untitled

May 1st, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.99 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Klasse die alles met exp en levels te maken heeft.
  4.  */
  5. class Level{
  6.     /**
  7.      * Berekend hoeveel exp je nodig hebt in totaal voor een bepaald level.
  8.      *
  9.      * @param int $level Het level
  10.      * @return int Exp in totaal
  11.      */
  12.     public function getExp($level){
  13.         if($level == 0){ // Dit is nodig om $this->level te laten werken
  14.             return 0;
  15.         } else {       
  16.             $totalExp = 0;
  17.             for($L = 1; $L < $level; $L++){ //$L = level waarvoor het exp tot volgende level wordt berekend. Hij moet beginnen bij 0 anders werkt ie niet.
  18.                 $totalExp += floor($L + 300 * pow(2, ($L / 7) ));
  19.             }
  20.             return floor($totalExp/4);
  21.         }
  22.     }
  23.    
  24.     /**
  25.      * Berekend welk level je hebt bij een bepaald aantal exp
  26.      *
  27.      * @param int $exp Aantal exp
  28.      * @return int Het level
  29.      */
  30.     public function getLevel($exp){
  31.         for($i = 1; $i < 120; $i++){
  32.             // Als het exp nodig voor het vorige level kleiner is dan het aantal exp
  33.             // & als het exp nodig voor het volgende level groter is dan het aantal exp dan is $i = level dat je nu hebt
  34.             if($this->getExp($i - 1) < $exp && $this->getExp($i) >= $exp){
  35.                 return --$i; // Het level - 1 doen omdat het script zo werkt.
  36.             }
  37.         }
  38.     }
  39.    
  40.     /**
  41.      * Berekend hoeveel exp je nog nodig hebt voor een bepaald level
  42.      *
  43.      * @param int $exp Aantal exp
  44.      * @param int $goalLevel Het doel level
  45.      * @return int Aantal exp je nog nodig hebt voor een bepaald level
  46.      */
  47.     public function expTillLevel($exp, $goalLevel){
  48.         $goalExp = $this->getExp($goalLevel);
  49.         $todoExp = $goalExp - $exp; // Nodige Exp - exp die je nu hebt
  50.        
  51.         return $todoExp;
  52.     }
  53.    
  54.     /**
  55.      * Berekend hoeveel epx je nog nodig hebt voor het volgende level
  56.      *
  57.      * @param int Aantal exp
  58.      * @return int Aantal exp tot het volgende level
  59.      */
  60.     //@TODO: Fix deze functie
  61.     public function expTillNextLevel($exp){
  62.         $levelNow = $this->getLevel($exp);
  63.         $expTillNextLevel = $this->expTillLevel($exp, $levelNow + 1); // Berekend hoeveel exp je nodig hebt voor volgende level
  64.        
  65.         return $expTillNextLevel;
  66.     }
  67. }
  68. ?>
Advertisement
Add Comment
Please, Sign In to add comment