Level - Erfahrung System

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Level - Erfahrung System

    Hallo Leute,
    ich häng derzeit an einem Levelsystem.
    Und da stellt sich mir die Frage wie es wohl am besten zu realisieren ist.
    Ich möchte so etwas in der Form:
    Code:
    Level    Erfahrung
      1           0
      2         100
      3         200
      4         400
      5         800
      6        1600
    wenn man x Erfahrung hat ist man Level y.
    Nun will ich mir Funktionen basteln die mir immer Level-Erfahrung umsetzen also sowas in der Art:
    PHP-Code:
    function welches($erfahrung) {
      
    // bla
      
    return $level;
    }
    function 
    erfahrung($level) {
      
    // bla
      
    return $erfahrung;

    jetzt frag ich mich wie ich die Zuordnung oben also wieviel erfahrung für jedes Level benötigt wird abspeichere.
    es soll möglichst anpassbar sein also das ich die zahlen einfach fix ändern kann falls sich was ändert.
    wäre da ein array am besten:
    PHP-Code:
    array(
      
    => 0,
      
    => 100,
      
    => 200,
      
    => 400
    ); 
    bloß wie bau ich dann oben meine funktionen auf. so das ich zb wissen will welches level derjenige ist wenn er 123 erfahrung hat.
    oder ist array der falsche ansatz? was wäre noch denkbar. (db möchte ich nicht unbedingt benutzen - es geht derzeit nur bis level 10)
    Mess with the Besth, die like the rest!

  • #2
    Zitat von Besth Beitrag anzeigen
    so das ich zb wissen will welches level derjenige ist wenn er 123 erfahrung hat.
    Array in foreach-Schleife durchlaufen, so lange bis der Wert Erfahrungs-Wert grösser als der gesuchte ist. Der im vorherigen Durchlauf aktuelle Schlüssel ist dann das Level.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      PHP-Code:
      function get_level($experience) {
          
      $levels = array(
              
      => 0,
              
      => 100,
              
      => 200,
              
      => 400
          
      );

          
      $return 0;
          
          foreach (
      $levels as $level => $limit) {
              if (
      $experience >= $limit) {
                  
      $return $level;
              }
          }
          
          return 
      $return;

      Kommentar


      • #4
        vielen dank
        so werd ich es mal probieren
        Mess with the Besth, die like the rest!

        Kommentar

        Lädt...
        X