Вывод случайных картинок PHP + модификация Dota 2

В этой небольшой статье мы разберём, как можно вывести случайную информацию из файла. При этом сделаем небольшой скрипт для игры Dota 2, а именно, вывод случайных предметов для персонажа (его также можно сгенерировать автоматически).

Для начала нужно создать файл, в котором будут храниться наши ссылки на изображения. Назовем файл boots-list.txt и запишем информацию вида:

/item/boots/arcane_boots_lg.png
/item/boots/boots_lg.png
/item/boots/phase_boots_lg.png
/item/boots/power_treads_lg.png
/item/boots/tranquil_boots_lg.png
/item/boots/travel_boots_lg.png

Из данного списка можно понять, что в папке \»item\» хранятся файлы, отвечающие за предметы, также в этой директории существует подраздел, в котором собраны только средства передвижения. Это нужно для того, чтобы наш скрипт не выводил несколько картинок с ботинками. Ведь в Dota 2 нужен всего один ботинок.

Далее создадим файл random-boots.php (для тестирования) и посмотрим на работоспособность кода:

<?php
$var1 = file('http://syscoding.ru/source/random-item/boots-list.txt');
shuffle($var1);
for($i = 0;$i&lt;1;$i++) {
echo '&lt;img src="http://syscoding.ru/source/random-item/img'.$var1[$i].'"&gt;&lt;br&gt;';
}
?>

Пути необходимо поменять на ваши. Результатом компиляции php кода будет вывод одного изображения. При каждом обновлении страницы будет генерироваться новая картинка. Количество предметов можно менять, изменяя условие i<1.

Теперь подготовим остальные файлы. Весь ход операции прописывать необязательно, так как можно сделать по аналогии с выше перечисленным. Исходное дерево файлов выглядит следующим образом:

[img]
  [heroes]
    [agility]
      antimage_hphover.png
      bloodseeker_hphover.png
      ...
      viper_hphover.png
      weaver_hphover.png
    [intelligence]
      ancient_apparition_hphover.png
      bane_hphover.png
      ...
      witch_doctor_hphover.png
      zuus_hphover.png
    [strength]
      abaddon_hphover.png
      alchemist_hphover.png
      ...
      undying_hphover.png
      wisp_hphover.png
  [item]
    [boots]
      abyssal_blade_lg.png
      ancient_janggo_lg.png
      ...
      vladmir_lg.png
      yasha_lg.png
  [icon]
      agi.png
      ...
      str.png

Для оформления будем использовать \»конструктор\» от twitter\’а — Bootstrap. Ее можно скачать с официального сайта или подключить библиотеку, которая расположена у нас на сервере:

 <link href="http://syscoding.ru/source/random-item/css/bootstrap.min.css" rel="stylesheet">

С дизайном вашего проекта мы помогать не будем, так как у нас могут быть разные вкусы. Для нас это не основная цель, поэтому будет сделано небольшое оформление, которое даже не подходит игре Dota 2. Для начала создадим файл index.php , в котором не будет скриптов, но не будем ломать общий формат страниц.

Читайте также:  Управление процессами в PHP

После этого создадим несколько страниц, которые будут отвечать за каждый мод:
ap.php
ar.php
cd.php

А потом создадим списки картинок:
boots-list.txt
heroes-list.txt
icon-list.txt
item-list.txt

Коды каждого файла вы можете посмотреть в исходнике, а также можно посмотреть исходник в онлайн режиме, перейдя по странице Dota 2 random item. Знаю, что после прочтения статьи могут возникнуть некоторые вопросы, однако решить их будет полезнее самому.

Рейтинг
( Пока оценок нет )
Блог о программировании, продвижении и дизайне.
Комментарии: 2
  1. lokket

    Привет!) вот вспомнил, зачетная статья. Только вот списки картинок в .txt…. может было бы лучше таблицу?

  2. WQP

    lokket, я так понимаю ты про mysql, зачем нагружать сервер (хоть и не значительно), если можно через обычный .txt? Изначально я задумывался, но пришел к .txt

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: