Ejemplo n.º 1
0
Archivo: app.php Proyecto: Kocal/LoLAPI
/**
 * Affiche les runes du joueur
 */
function getRunes()
{
    // Nom du joueur
    $playerName = ask(' => Nom du joueur : ');
    // Nom de la région
    $regionName = ask(' => Région (' . implode(', ', array_keys(LoL::getPlatforms())) . ') : ');
    // On récupère les infos sur le joueurs pour avoir son identifiant
    $player = LoL::getSummonerInfo($playerName, $regionName);
    if ($player->httpCode === 200) {
        $playerId = $player->content->{strtolower($playerName)}->id;
        $playerRunes = LoL::getSummonerRunes($playerId, $regionName);
        if ($playerRunes->httpCode === 200) {
            $runesPages = $playerRunes->content->{$playerId}->pages;
            // Affichage du nom des pages de runes
            echo PHP_EOL . 'Pages de runes' . PHP_EOL . '--------------' . PHP_EOL;
            foreach ($runesPages as $runesPageIndex => $runesPage) {
                echo '- ' . $runesPageIndex . ') ' . $runesPage->name . ($runesPage->current === true ? ' (courante)' : '') . PHP_EOL;
            }
            echo PHP_EOL;
            // Demande à l'utilisateur de voir une page de runes
            $input = null;
            while ($input === null || !is_numeric($input) || $input < 0 || $input >= count($runesPages)) {
                $input = ask('Numéro de page de runes à voir : ');
            }
            _getRunes:
            // On va se préparer à afficher la page de runes du joueur
            $runes = LoL::getRunes();
            $runePageName = $runesPages[$input]->name;
            $runePage = [];
            // Liaison entre l'id de rune et ses infos
            foreach ($runesPages[$input]->slots as $rune) {
                $runeInfos = $runes->{$rune->runeId};
                $runePage[$runeInfos->tags[count($runeInfos->tags) - 1]][$rune->runeId][] = $runeInfos;
            }
            // Affichage de la page de runes
            echo PHP_EOL . '---- Page de runes : ' . $runePageName . ' ----' . PHP_EOL;
            foreach ($runePage as $runeType => $runeList) {
                echo '-- ' . ucfirst($runeType) . ' --' . PHP_EOL;
                foreach ($runeList as $runes) {
                    $rune = $runes[0];
                    $runeCount = count($runes);
                    echo ' - ' . $runeCount . ' x ' . $rune->name . ' : ' . $runeCount . ' x ' . $rune->description . PHP_EOL;
                }
                echo PHP_EOL;
            }
            // Re-Demande à l'utilisateur de voir une page de runes
            $input = null;
            while ($input === null || strtolower($input) != 'q' && !is_numeric($input) || $input < 0 || $input >= count($runesPages)) {
                $input = ask('Numéro de page de runes à voir : ');
            }
            if ($input !== 'q') {
                goto _getRunes;
            }
        }
    } else {
        echo PHP_EOL . "Impossible de récupérer les runes pour l'instant !" . PHP_EOL;
    }
}