Kategorien
FreewarWiki:Bot/Skripts/chara funktionstabelle.php
< FreewarWiki:Bot | Skripts
<?php header('Content-Type: text/plain; charset=utf-8;'); error_reporting(E_ALL ^ E_NOTICE); /* Gerüst [ [ // Überschrift Spaltenübergreifen 'caption' => '', // Zeilenkopf 'row_head' => '', // Funktion die den Wert für die Spalten berechnet 'callback' => function ($stufe) { } ] ];//*/ $tables = [ //* Effizienz Phasenenergiespeicher [ // Überschrift Spaltenübergreifen 'caption' => 'Effizienz Speichervorgang', // Zeilenkopf 'row_head' => '[Prozent]', // Funktion die den Wert für die Spalten berechnet 'callback' => function ($stufe) { if ($stufe === 90) { $col = 100; } else { $col = 60 * pow(1.005, $stufe); } // abrunden mit präzision return round($col, 1, PHP_ROUND_HALF_DOWN); } ],//*/ //* Maximale Kapazität Phasenenergiespeicher [ // Überschrift Spaltenübergreifen 'caption' => 'Maximale Speicherkapazität', // Zeilenkopf 'row_head' => '[PE]', // Funktion die den Wert für die Spalten berechnet 'callback' => function ($stufe) { if ($stufe === 90) { $col = 100000; } else { $col = 10000 * pow(1.025, $stufe); } // tausendertrennpunkte return number_format($col, 0, ',', '.'); } ],//*/ ]; // Maximalstufe $max_stage = 90; // alle X Stufen $pitch = 5; // in X Zeilen aufteilen // z.B. wenn alle 5 Stufen über 100 Stufen in 2 Zeilen $chunks = 2; // ab hier nur verändern wenn Funktionsweise des Skriptes bekannt // Stufen pro Zeile $chunk_size = $max_stage / $chunks; // Tabellenkopf echo "{{{!}} class=\"wikitable\"\n"; foreach ($tables as $table) { // Bodykopf echo "{{!}}-\n{{!}}\n{{!}}colspan=\"" . ($chunk_size / $pitch) . "\" align=\"center\" bgcolor=#FFFFCC{{!}}'''{$table['caption']}'''\n"; // in X Zeilen aufteilen for ($chunk = 0; $chunk < $chunks; ++$chunk) { // Stufenkopf echo "{{!}}-\n!bgcolor=#FFEECB{{!}}Stufe\n"; for ($stage = $pitch + $chunk_size * $chunk; $stage <= $chunk_size * ($chunk + 1); $stage += $pitch) { echo "!bgcolor=#FFFFCC{{!}}$stage\n"; } // Zeilenkopf echo "{{!}}-\n{{!}}bgcolor=#FFFFCC{{!}}'''{$table['row_head']}'''\n"; // Wertausgabe for ($stage = $pitch + $chunk_size * $chunk; $stage <= $chunk_size * ($chunk + 1); $stage += $pitch) { if (($stage / $pitch + 1) % 2) { echo "{{!}}bgcolor=\"#FFEECB\""; } echo "{{!}}" . $table['callback']($stage) . "\n"; } } } // Tabelle schließen echo "{{!}}}";