Kategorien
Übersichten

Ein Joomla Modul zur Juwelen Umrechnung

Für Interessierte habe ich hier trotzdem ein Joomla Modul eingestellt, was die Berechnung erleichtern soll. Im Internet gibt es auch eine Vielzahl von Tools.

SuperCell ID Gems

Der Gamer hat durch massenhafte Ressourcen und dem Wegfallen der Truppenkosten, neue Aufgaben usw. selten Bedarf an zusätzlichen Ressourcen. Demzufolge ist es weniger bis unnötig zusätzliche Ressourcen zu erwerben. Für Interessierte habe ich hier trotzdem ein Joomla Modul eingestellt, was euch die Berechnung erleichtern soll.

Im Internet oder auch in den verschiedenen Stores (Apple, Google) gibt es eine Vielzahl von GEMS/Juwelen Berechnungen.

Da man nicht immer weiß, ob die Berechnungen richtig sind, hab ich mich entschlossen selbst etwas zu schreiben. Inzwischen gibt es zum einen mehrere Rechner mit Netz.

Auch hat sich die Bedeutung der Umrechnung gewandelt. Zusammenfassend kann man sagen, es braucht niemand mehr.

Was ist ein Joomla Modul

Ein Joomla-Modul ist eine eigenständige, kleine Erweiterung innerhalb des Joomla Content Management Systems. Es ermöglicht die Integration spezifischer Funktionen oder Inhalte in eine Webseite, wie z.B. Menüs, Suchfelder oder benutzerdefinierte Inhaltsblöcke, und kann flexibel positioniert und gestaltet werden. Module bieten eine einfache Möglichkeit, die Funktionalität einer Joomla-Website zu erweitern und anzupassen, ohne den Kern des Systems zu verändern.

Vorteil des Joomla Moduls

  • das Programm ist aktuell
  • das Programm ist klein
  • kann in jede Webseite eingebunden werden
  • ein Modul für Joomla zum Download gibt es auf Anfrage

 Zusammenfassung:

Es gibt für die Berechnung keine einheitliche Funktion. Es muss für einzelne Bereiche jeweils gesondert eine Berechnung ausgeführt werden.

Die Grundlage ist folgender Code (hier beispielhaft für Gold und Elixier):

function doCalcResGold (resources) {
   var ranges = [100,1000,10000,100000,1000000,10000000];
   var gems = [1,5,25,125,600,3000];
   var storagemax = 8001000;
   if (isNaN(resources)) return("???");
   if (resources < 0) return("???");
   else if (resources == 0) return(0);
   else if (resources <= ranges[0]) return(gems[0]);
    for (var i = 1; i < ranges.length-1; i++)
      if (resources <= ranges[i])
         return(Math.round((resources - ranges[i-1])/((ranges[i] - ranges[i-1])/(gems[i] - gems[i-1])) + gems[i-1]));
    if (resources <= storagemax)
      return(Math.round((resources - ranges[ranges.length-2])/((ranges[ranges.length-1] - ranges[ranges.length-2])/(gems[gems.length-1] - gems[gems.length-2])) + gems[gems.length-2]));          
   else
      return(doCalcResGold(resources % storagemax) + Math.floor(resources/storagemax)*doCalcResGold(storagemax));
    return("???");
}

Zuerst erfolgt eine Fehlerprüfung auf Inhalte und negative Werte. Dann wird mittels einer Schleife (for) geprüft in welchem Bereich die Eingabe liegt. Wenn die Eingabe in einem gültigen Bereich liegt erfolgt die eigentliche Berechnung. Evtl. Ungenauigkeiten ergeben sich durch Runden. Es handelt sich bei der Umrechnung mathematisch gesehen um eine lineare Funktion mit unterschiedlichen Anstiegen in Abhängigkeit von x.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert