администрация: JeffreyCYRUSJennieDuston nc-21 — мистика, Лондон — сентябрь 2024 год помочь форуму
активисты
дуэт
рандомный пост недели от Albert Drexel
Он аккуратно присмотрелся к тому, что происходило на лестнице. Она не вызывала никаких эмоций. Старая, на вид добротная, на ощупь деревянная. Что же, стоит рискнуть. На этот раз, он не стал комментировать ничего. Ни встречу, ни действия. Лишь двинулся наверх, осторожно ступая на каждую ступень.
постописцы
читаемый эпизод From a whisper
to a scream

re:start

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » re:start » Флудовой архив » лабиринт тест


лабиринт тест

Сообщений 1 страница 3 из 3

1

[html]<!-- =====================================================
     FOG OF WAR MAP - IMAGE VERSION (FINAL FIXED)
     Исправленная версия с подсказками и правильной логикой видимости
     ===================================================== -->

<!-- Место для размещения карты на форуме -->
<div id="fow-map-container"></div>

<style>
    /* --- Основной контейнер карты --- */
    #fow-map-container {
        display: inline-block;
        background: #f0f0f0;
        padding: 20px;
        border-radius: 10px;
        font-family: Arial, Helvetica, sans-serif;
        border: 3px solid #888888;
    }

    /* --- Сетка карты --- */
    #fow-grid {
        display: grid;
        background: #ffffff;
        border: 2px solid #333333;
    }

    /* --- Ячейка карты --- */
    .fow-cell {
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #bbbbbb;
        background: #fafafa;
        box-sizing: border-box;
    }

    /* Стена */
    .fow-cell.fow-wall {
        background: #c0c0c0;
        border: 1px solid #999999;
    }

    .fow-cell.fow-wall img {
        width: 36px;
        height: 36px;
    }

    /* Открытая ячейка (пустая) */
    .fow-cell.fow-revealed {
        background: #ffffff;
    }

    /* Враг */
    .fow-cell.fow-enemy {
        cursor: help;
        background: #fff0f0;
    }

    .fow-cell.fow-enemy img {
        width: 36px;
        height: 36px;
    }

    /* Предмет */
    .fow-cell.fow-item {
        cursor: help;
        background: #f0fff0;
    }

    .fow-cell.fow-item img {
        width: 36px;
        height: 36px;
    }

    /* Скрытая ячейка (туман) */
    .fow-cell.fow-hidden {
        background: #e0e0e0;
    }

    .fow-cell.fow-hidden img {
        width: 30px;
        height: 30px;
        opacity: 0.6;
    }

    /* --- Подсказка (tooltip) --- */
    #fow-tooltip {
        position: fixed;
        z-index: 999999;
        background: #ffffff;
        color: #333333;
        padding: 12px 16px;
        border-radius: 8px;
        font-size: 13px;
        max-width: 260px;
        box-shadow: 0 4px 25px rgba(0, 0, 0, 0.4);
        border: 2px solid #333333;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s, visibility 0.2s;
        pointer-events: none;
    }

    #fow-tooltip.fow-visible {
        opacity: 1;
        visibility: visible;
    }

    #fow-tooltip .fow-title {
        font-weight: bold;
        font-size: 15px;
        margin-bottom: 8px;
        color: #cc0000;
        padding-bottom: 6px;
        border-bottom: 1px solid #dddddd;
    }

    #fow-tooltip .fow-desc {
        line-height: 1.45;
        color: #555555;
    }
</style>

<!-- Подсказка -->
<div id="fow-tooltip">
    <div class="fow-title"></div>
    <div class="fow-desc"></div>
</div>

<script>
(function() {
    // ========================================
    // КОНФИГУРАЦИЯ КАРТЫ
    // ========================================
   
    var fowConfig = {
        // Размер карты (NxN клеток)
        gridSize: 10,
       
        // Открытые клетки (координаты: буква столбца + цифра строки)
        // ТОЛЬКО эти клетки будут показаны (кроме стен рядом с ними)
        openedCells: ['a1', 'b2', 'e9'],
       
        // Стена (какие клетки являются стенами)
        wallCells: ['a2', 'b5', 'c5', 'd5', 'e5', 'f5', 'g5', 'h5', 'i5', 'j5'],
       
        // Враги на карте
        enemyCells: {
            'b6': { name: 'Гоблин', desc: 'Маленький, но коварный противник. Живёт в норах и нападает из засады.' },
            'h8': { name: 'Скелет-воин', desc: 'Бывший страж подземелья. Опасен вблизи, но медлителен.' }
        },
       
        // Предметы на карте
        itemCells: {
            'e9': { name: 'Серебряный ключ', desc: 'Старый ключ, покрытый патиной. Открывает потайные двери.' },
            'c3': { name: 'Зелье здоровья', desc: 'Восстанавливает 50 единиц здоровья.' }
        },
       
        // URL изображений
        images: {
            wall: 'https://cdn-icons-png.flaticon.com/512/18753/18753489.png',
            enemy: 'https://cdn-icons-png.flaticon.com/512/3643/3643383.png',
            item: 'https://cdn-icons-png.flaticon.com/512/3410/3410548.png',
            fog: 'https://cdn-icons-png.flaticon.com/512/2675/2675962.png'
        }
    };

    // ========================================
    // СИСТЕМНЫЙ КОД
    // ========================================

    function makeCoord(col, row) {
        return String.fromCharCode(97 + col) + (row + 1);
    }

    function parseCoord(coord) {
        return {
            col: coord.charCodeAt(0) - 97,
            row: parseInt(coord.slice(1)) - 1
        };
    }

    function getNeighborCoords(coord) {
        var p = parseCoord(coord);
        var neighbors = [];
        for (var dc = -1; dc <= 1; dc++) {
            for (var dr = -1; dr <= 1; dr++) {
                if (dc === 0 && dr === 0) continue;
                var nc = p.col + dc;
                var nr = p.row + dr;
                if (nc >= 0 && nc < fowConfig.gridSize && nr >= 0 && nr < fowConfig.gridSize) {
                    neighbors.push(makeCoord(nc, nr));
                }
            }
        }
        return neighbors;
    }

    function isWallCell(coord) {
        return fowConfig.wallCells.indexOf(coord) !== -1;
    }

    function isOpenedCell(coord) {
        return fowConfig.openedCells.indexOf(coord) !== -1;
    }

    function hasEnemy(coord) {
        return fowConfig.enemyCells.hasOwnProperty(coord);
    }

    function hasItem(coord) {
        return fowConfig.itemCells.hasOwnProperty(coord);
    }

    // Проверка: должна ли клетка быть видимой
    function shouldBeVisible(coord) {
        // Явно открытая клетка - видна
        if (isOpenedCell(coord)) return true;
       
        // Враги и предметы видны ТОЛЬКО если их клетка явно открыта
        if (hasEnemy(coord) || hasItem(coord)) return false;
       
        // Стена видна, если она рядом с открытой клеткой
        if (isWallCell(coord)) {
            var neighbors = getNeighborCoords(coord);
            for (var i = 0; i < neighbors.length; i++) {
                if (isOpenedCell(neighbors[i])) return true;
            }
        }
       
        return false;
    }

    function createImg(src, alt) {
        var img = document.createElement('img');
        img.src = src;
        img.alt = alt;
        img.style.display = 'block';
        img.style.width = '100%';
        img.style.height = 'auto';
        return img;
    }

    function showTooltip(title, desc, event) {
        var tip = document.getElementById('fow-tooltip');
        tip.querySelector('.fow-title').textContent = title;
        tip.querySelector('.fow-desc').textContent = desc;
        tip.classList.add('fow-visible');
       
        var padding = 15;
        var x = event.clientX + padding;
        var y = event.clientY + padding;
        var rect = tip.getBoundingClientRect();
       
        if (x + rect.width > window.innerWidth - 10) {
            x = event.clientX - rect.width - padding;
        }
        if (y + rect.height > window.innerHeight - 10) {
            y = event.clientY - rect.height - padding;
        }
       
        tip.style.left = x + 'px';
        tip.style.top = y + 'px';
    }

    function hideTooltip() {
        document.getElementById('fow-tooltip').classList.remove('fow-visible');
    }

    function updateTooltipPosition(event) {
        var tip = document.getElementById('fow-tooltip');
        if (!tip.classList.contains('fow-visible')) return;

        var padding = 15;
        var x = event.clientX + padding;
        var y = event.clientY + padding;
        var rect = tip.getBoundingClientRect();

        if (x + rect.width > window.innerWidth - 10) {
            x = event.clientX - rect.width - padding;
        }
        if (y + rect.height > window.innerHeight - 10) {
            y = event.clientY - rect.height - padding;
        }

        tip.style.left = x + 'px';
        tip.style.top = y + 'px';
    }

    function createMap() {
        var root = document.getElementById('fow-map-container');
        if (!root) return;

        var oldGrid = document.getElementById('fow-grid');
        if (oldGrid) oldGrid.remove();

        var grid = document.createElement('div');
        grid.id = 'fow-grid';
        grid.style.gridTemplateColumns = 'repeat(' + fowConfig.gridSize + ', 44px)';
        grid.style.gridTemplateRows = 'repeat(' + fowConfig.gridSize + ', 44px)';

        for (var row = 0; row < fowConfig.gridSize; row++) {
            for (var col = 0; col < fowConfig.gridSize; col++) {
                var coord = makeCoord(col, row);
                var cell = document.createElement('div');
                cell.className = 'fow-cell';
                cell.setAttribute('data-coord', coord);

                var isWall = isWallCell(coord);
                var isOpened = isOpenedCell(coord);
                var isVisible = shouldBeVisible(coord);
                var enemy = fowConfig.enemyCells[coord];
                var item = fowConfig.itemCells[coord];

                if (isWall) {
                    if (isVisible) {
                        cell.classList.add('fow-wall');
                        cell.appendChild(createImg(fowConfig.images.wall, 'Стена'));
                    } else {
                        cell.classList.add('fow-hidden');
                        cell.appendChild(createImg(fowConfig.images.fog, 'Туман'));
                    }
                } else if (isVisible) {
                    cell.classList.add('fow-revealed');
                    if (enemy) {
                        cell.classList.add('fow-enemy');
                        cell.appendChild(createImg(fowConfig.images.enemy, 'Враг'));
                        cell.setAttribute('data-name', enemy.name);
                        cell.setAttribute('data-desc', enemy.desc);
                    } else if (item) {
                        cell.classList.add('fow-item');
                        cell.appendChild(createImg(fowConfig.images.item, 'Предмет'));
                        cell.setAttribute('data-name', item.name);
                        cell.setAttribute('data-desc', item.desc);
                    }
                } else {
                    cell.classList.add('fow-hidden');
                    cell.appendChild(createImg(fowConfig.images.fog, 'Туман'));
                }

                grid.appendChild(cell);
            }
        }

        root.appendChild(grid);
    }

    // Получить родительскую ячейку от элемента (для обработки img внутри ячейки)
    function getCellFromTarget(target) {
        // Проверяем сам элемент
        if (target.classList && target.classList.contains('fow-cell')) {
            return target;
        }
        // Проверяем родителя (если это img внутри ячейки)
        if (target.parentNode && target.parentNode.classList) {
            if (target.parentNode.classList.contains('fow-cell')) {
                return target.parentNode;
            }
            // Проверяем бабушку (вдруг img вложен глубже)
            if (target.parentNode.parentNode && target.parentNode.parentNode.classList) {
                if (target.parentNode.parentNode.classList.contains('fow-cell')) {
                    return target.parentNode.parentNode;
                }
            }
        }
        return null;
    }

    function setupEventListeners() {
        document.addEventListener('mouseover', function(event) {
            var cell = getCellFromTarget(event.target);
            if (!cell) return;
           
            if (cell.classList.contains('fow-enemy')) {
                showTooltip(cell.getAttribute('data-name'), cell.getAttribute('data-desc'), event);
            } else if (cell.classList.contains('fow-item')) {
                showTooltip(cell.getAttribute('data-name'), cell.getAttribute('data-desc'), event);
            }
        });

        document.addEventListener('mousemove', updateTooltipPosition);

        document.addEventListener('mouseout', function(event) {
            var cell = getCellFromTarget(event.target);
            if (!cell) return;
           
            if (cell.classList.contains('fow-enemy') || cell.classList.contains('fow-item')) {
                hideTooltip();
            }
        });
    }

    function init() {
        createMap();
        setupEventListeners();
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', init);
    } else {
        init();
    }
})();
</script>
[/html]

0

2

[html]<div style="display: grid; grid-template-columns: repeat(10, 40px); grid-template-rows: repeat(10, 40px); gap: 0; background: #333; border: 2px solid #333; width: fit-content; font-family: Arial, sans-serif; margin: 10px 0;" id="fow-grid"></div>
<div id="fow-tt" style="position: fixed; background: rgba(0,0,0,0.9); color: #fff; padding: 6px 10px; border-radius: 3px; font-size: 11px; font-family: Arial; pointer-events: none; visibility: hidden; opacity: 0; z-index: 999999; white-space: nowrap;"></div>
<script src="https://forumstatic.ru/files/001b/ee/60/75079.js"></script>[/html]

0

3

hide-autor
[html]Current Process
Files
HTML
code
preview
<!-- НАЧАЛО ШАБЛОНА ВИКИ -->
<style>
/* Основной контейнер */
.es-wiki-container {
    --es-wiki-primary: #2c3e50;
    --es-wiki-secondary: #34495e;
    --es-wiki-accent: #3498db;
    --es-wiki-accent-hover: #2980b9;
    --es-wiki-bg: #f8f9fa;
    --es-wiki-border: #dee2e6;
    --es-wiki-text: #212529;
    --es-wiki-text-muted: #6c757d;
    --es-wiki-success: #27ae60;
    --es-wiki-warning: #f39c12;
    --es-wiki-info: #9b59b6;
   
    all: initial;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: var(--es-wiki-text);
    background: var(--es-wiki-bg);
    border: 1px solid var(--es-wiki-border);
    border-radius: 8px;
    overflow: hidden;
    max-width: 100%;
    box-sizing: border-box;
}

.es-wiki-container * {
    box-sizing: border-box;
}

/* Шапка вики */
.es-wiki-header {
    background: linear-gradient(135deg, var(--es-wiki-primary) 0%, var(--es-wiki-secondary) 100%);
    color: white;
    padding: 20px 24px;
    position: relative;
}

.es-wiki-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--es-wiki-accent), var(--es-wiki-success), var(--es-wiki-warning), var(--es-wiki-info));
}

.es-wiki-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.es-wiki-icon {
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.es-wiki-subtitle {
    margin: 8px 0 0;
    font-size: 13px;
    opacity: 0.85;
    font-weight: 400;
}

/* Навигация вкладок */
.es-wiki-tabs {
    display: flex;
    background: white;
    border-bottom: 2px solid var(--es-wiki-border);
    overflow-x: auto;
    scrollbar-width: thin;
}

.es-wiki-tab {
    padding: 14px 20px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--es-wiki-text-muted);
    white-space: nowrap;
    position: relative;
    transition: all 0.2s ease;
    font-family: inherit;
}

.es-wiki-tab:hover {
    color: var(--es-wiki-accent);
    background: rgba(52, 152, 219, 0.05);
}

.es-wiki-tab.active {
    color: var(--es-wiki-accent);
}

.es-wiki-tab.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--es-wiki-accent);
    border-radius: 3px 3px 0 0;
}

.es-wiki-tab-icon {
    margin-right: 6px;
    opacity: 0.7;
}

/* Контент вкладок */
.es-wiki-content {
    padding: 24px;
    background: white;
    min-height: 200px;
}

.es-wiki-pane {
    display: none;
    animation: es-wiki-fadeIn 0.3s ease;
}

.es-wiki-pane.active {
    display: block;
}

@keyframes es-wiki-fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Инфобокс */
.es-wiki-infobox {
    float: right;
    width: 280px;
    margin: 0 0 20px 24px;
    background: white;
    border: 1px solid var(--es-wiki-border);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.es-wiki-infobox-header {
    background: linear-gradient(135deg, var(--es-wiki-accent), var(--es-wiki-accent-hover));
    color: white;
    padding: 16px;
    text-align: center;
}

.es-wiki-infobox-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.es-wiki-infobox-image {
    width: 100%;
    height: 160px;
    background: linear-gradient(135deg, #e0e5ec 0%, #cfd8e3 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: var(--es-wiki-text-muted);
}

.es-wiki-infobox-content {
    padding: 16px;
}

.es-wiki-infobox-row {
    display: flex;
    padding: 8px 0;
    border-bottom: 1px solid var(--es-wiki-border);
    font-size: 13px;
}

.es-wiki-infobox-row:last-child {
    border-bottom: none;
}

.es-wiki-infobox-label {
    width: 100px;
    font-weight: 600;
    color: var(--es-wiki-text-muted);
    flex-shrink: 0;
}

.es-wiki-infobox-value {
    color: var(--es-wiki-text);
}

/* Секции контента */
.es-wiki-section {
    margin-bottom: 28px;
}

.es-wiki-section:last-child {
    margin-bottom: 0;
}

.es-wiki-section-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--es-wiki-primary);
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--es-wiki-accent);
    display: flex;
    align-items: center;
    gap: 10px;
}

.es-wiki-section-icon {
    width: 28px;
    height: 28px;
    background: var(--es-wiki-accent);
    color: white;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.es-wiki-text {
    margin: 0;
    color: var(--es-wiki-text);
    text-align: justify;
}

/* Сетка карточек */
.es-wiki-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.es-wiki-card {
    background: var(--es-wiki-bg);
    border: 1px solid var(--es-wiki-border);
    border-radius: 8px;
    padding: 16px;
    transition: all 0.2s ease;
}

.es-wiki-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border-color: var(--es-wiki-accent);
}

.es-wiki-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.es-wiki-card-icon {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, var(--es-wiki-accent), var(--es-wiki-accent-hover));
    color: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.es-wiki-card-title {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--es-wiki-primary);
}

.es-wiki-card-desc {
    margin: 0;
    font-size: 12px;
    color: var(--es-wiki-text-muted);
    line-height: 1.5;
}

.es-wiki-card-status {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 10px;
}

.es-wiki-status-active {
    background: rgba(39, 174, 96, 0.15);
    color: var(--es-wiki-success);
}

.es-wiki-status-completed {
    background: rgba(52, 152, 219, 0.15);
    color: var(--es-wiki-accent);
}

.es-wiki-status-locked {
    background: rgba(108, 117, 125, 0.15);
    color: var(--es-wiki-text-muted);
}

/* Список мест */
.es-wiki-places-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.es-wiki-place-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: var(--es-wiki-bg);
    border-radius: 8px;
    margin-bottom: 12px;
    border: 1px solid transparent;
    transition: all 0.2s ease;
}

.es-wiki-place-item:hover {
    border-color: var(--es-wiki-accent);
    background: white;
}

.es-wiki-place-marker {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--es-wiki-success), #2ecc71);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.es-wiki-place-info {
    flex: 1;
}

.es-wiki-place-name {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: var(--es-wiki-primary);
}

.es-wiki-place-desc {
    margin: 0;
    font-size: 12px;
    color: var(--es-wiki-text-muted);
}

.es-wiki-place-type {
    padding: 4px 10px;
    background: rgba(52, 152, 219, 0.1);
    color: var(--es-wiki-accent);
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}

/* Галерея */
.es-wiki-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.es-wiki-gallery-item {
    aspect-ratio: 1;
    background: var(--es-wiki-bg);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--es-wiki-border);
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 32px;
    color: var(--es-wiki-text-muted);
}

.es-wiki-gallery-item:hover {
    border-color: var(--es-wiki-accent);
    transform: scale(1.02);
}

/* Таблица */
.es-wiki-table-wrapper {
    overflow-x: auto;
    margin-top: 16px;
    border-radius: 8px;
    border: 1px solid var(--es-wiki-border);
}

.es-wiki-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.es-wiki-table th {
    background: var(--es-wiki-primary);
    color: white;
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
}

.es-wiki-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--es-wiki-border);
}

.es-wiki-table tr:last-child td {
    border-bottom: none;
}

.es-wiki-table tr:nth-child(even) {
    background: var(--es-wiki-bg);
}

.es-wiki-table tr:hover {
    background: rgba(52, 152, 219, 0.05);
}

/* Футер */
.es-wiki-footer {
    background: var(--es-wiki-bg);
    border-top: 1px solid var(--es-wiki-border);
    padding: 16px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: var(--es-wiki-text-muted);
}

.es-wiki-meta {
    display: flex;
    gap: 20px;
}

.es-wiki-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Адаптивность */
@media (max-width: 768px) {
    .es-wiki-infobox {
        float: none;
        width: 100%;
        margin: 0 0 20px;
    }
   
    .es-wiki-tabs {
        flex-wrap: nowrap;
    }
   
    .es-wiki-tab {
        padding: 12px 14px;
        font-size: 12px;
    }
   
    .es-wiki-header {
        padding: 16px;
    }
   
    .es-wiki-title {
        font-size: 20px;
    }
   
    .es-wiki-grid {
        grid-template-columns: 1fr;
    }
}

/* Очистка float */
.es-wiki-clearfix::after {
    content: '';
    display: table;
    clear: both;
}
</style>

<div class="es-wiki-container">
    <!-- Шапка -->
    <div class="es-wiki-header">
        <h1 class="es-wiki-title">
            <span class="es-wiki-icon">��️</span>
            Эврика-Спрингс
        </h1>
        <p class="es-wiki-subtitle">Город на перекрёстке миров — информационный портал</p>
    </div>
   
    <!-- Навигация -->
    <div class="es-wiki-tabs" role="tablist">
        <button class="es-wiki-tab active" data-tab="overview" role="tab">
            �� Обзор
        </button>
        <button class="es-wiki-tab" data-tab="locations" role="tab">
            ��️ Места
        </button>
        <button class="es-wiki-tab" data-tab="quests" role="tab">
            ⚔️ Квесты
        </button>
        <button class="es-wiki-tab" data-tab="history" role="tab">
            �� История
        </button>
        <button class="es-wiki-tab" data-tab="gallery" role="tab">
            ��️ Галерея
        </button>
    </div>
   
    <!-- Контент -->
    <div class="es-wiki-content">
        <!-- Вкладка: Обзор -->
        <div class="es-wiki-pane active" id="overview" role="tabpanel">
            <div class="es-wiki-clearfix">
                <!-- Инфобокс -->
                <div class="es-wiki-infobox">
                    <div class="es-wiki-infobox-header">
                        <h3 class="es-wiki-infobox-title">Эврика-Спрингс</h3>
                    </div>
                    <div class="es-wiki-infobox-image">��️</div>
                    <div class="es-wiki-infobox-content">
                        <div class="es-wiki-infobox-row">
                            <span class="es-wiki-infobox-label">Основан</span>
                            <span class="es-wiki-infobox-value">1847 г.</span>
                        </div>
                        <div class="es-wiki-infobox-row">
                            <span class="es-wiki-infobox-label">Население</span>
                            <span class="es-wiki-infobox-value">~45,000</span>
                        </div>
                        <div class="es-wiki-infobox-row">
                            <span class="es-wiki-infobox-label">Мэр</span>
                            <span class="es-wiki-infobox-value">Виктория Риос</span>
                        </div>
                        <div class="es-wiki-infobox-row">
                            <span class="es-wiki-infobox-label">Девиз</span>
                            <span class="es-wiki-infobox-value">"Там, где прошлое встречает будущее"</span>
                        </div>
                        <div class="es-wiki-infobox-row">
                            <span class="es-wiki-infobox-label">Координаты</span>
                            <span class="es-wiki-infobox-value">36.1° с.ш. 94.2° з.д.</span>
                        </div>
                    </div>
                </div>
               
                <!-- Секции -->
                <div class="es-wiki-section">
                    <h2 class="es-wiki-section-title">
                        <span class="es-wiki-section-icon">��</span>
                        О городе
                    </h2>
                    <p class="es-wiki-text">
                        Эврика-Спрингс — уникальный город, расположенный в месте силы, где границы между измерениями особенно тонки.
                        Основанный как небольшая лечебная станция у целебных источников, город за века превратился в процветающий центр
                        торговли, магии и технологий. Здесь соседствуют викторианские особняки и сверкающие небоскрёбы, а по улицам
                        бок о бок ходят обычные люди и представители древних рас.
                    </p>
                </div>
               
                <div class="es-wiki-section">
                    <h2 class="es-wiki-section-title">
                        <span class="es-wiki-section-icon">��</span>
                        Особенности
                    </h2>
                    <div class="es-wiki-grid">
                        <div class="es-wiki-card">
                            <div class="es-wiki-card-header">
                                <span class="es-wiki-card-icon">✨</span>
                                <h3 class="es-wiki-card-title">Источники</h3>
                            </div>
                            <p class="es-wiki-card-desc">Целебные воды, восстанавливающие силы и исцеляющие раны</p>
                        </div>
                        <div class="es-wiki-card">
                            <div class="es-wiki-card-header">
                                <span class="es-wiki-card-icon">��</span>
                                <h3 class="es-wiki-card-title">Порталы</h3>
                            </div>
                            <p class="es-wiki-card-desc">Точки перехода между мирами, охраняемые стражами</p>
                        </div>
                        <div class="es-wiki-card">
                            <div class="es-wiki-card-header">
                                <span class="es-wiki-card-icon">⚖️</span>
                                <h3 class="es-wiki-card-title">Совет</h3>
                            </div>
                            <p class="es-wiki-card-desc">Управление городом осуществляется представителями всех рас</p>
                        </div>
                        <div class="es-wiki-card">
                            <div class="es-wiki-card-header">
                                <span class="es-wiki-card-icon">��</span>
                                <h3 class="es-wiki-card-title">Архив</h3>
                            </div>
                            <p class="es-wiki-card-desc">Древняя библиотека с knowledge всех цивилизаций</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
       
        <!-- Вкладка: Места -->
        <div class="es-wiki-pane" id="locations" role="tabpanel">
            <div class="es-wiki-section">
                <h2 class="es-wiki-section-title">
                    <span class="es-wiki-section-icon">��️</span>
                    Достопримечательности
                </h2>
                <ul class="es-wiki-places-list">
                    <li class="es-wiki-place-item">
                        <span class="es-wiki-place-marker">��</span>
                        <div class="es-wiki-place-info">
                            <h3 class="es-wiki-place-name">Башня Совета</h3>
                            <p class="es-wiki-place-desc">Центр городского управления, где заседает Совет Старейшин. Отсюда открывается панорамный вид на весь город.</p>
                        </div>
                        <span class="es-wiki-place-type">Государственное</span>
                    </li>
                    <li class="es-wiki-place-item">
                        <span class="es-wiki-place-marker">��</span>
                        <div class="es-wiki-place-info">
                            <h3 class="es-wiki-place-name">Академия Магии</h3>
                            <p class="es-wiki-place-desc">Престижное учебное заведение, где изучают все виды магии — от элементальной до темной.</p>
                        </div>
                        <span class="es-wiki-place-type">Образование</span>
                    </li>
                    <li class="es-wiki-place-item">
                        <span class="es-wiki-place-marker">��</span>
                        <div class="es-wiki-place-info">
                            <h3 class="es-wiki-place-name">Рынок Теней</h3>
                            <p class="es-wiki-place-desc">Подпольный рынок, где можно найти редкие артефакты и запрещённые товары. Вход только по рекомендации.</p>
                        </div>
                        <span class="es-wiki-place-type">Торговля</span>
                    </li>
                    <li class="es-wiki-place-item">
                        <span class="es-wiki-place-marker">��</span>
                        <div class="es-wiki-place-info">
                            <h3 class="es-wiki-place-name">Древний лес</h3>
                            <p class="es-wiki-place-desc">Священная роща, где растут деревья возрастом в тысячелетия. Место силы и медитаций.</p>
                        </div>
                        <span class="es-wiki-place-type">Природа</span>
                    </li>
                    <li class="es-wiki-place-item">
                        <span class="es-wiki-place-marker">��</span>
                        <div class="es-wiki-place-info">
                            <h3 class="es-wiki-place-name">Театр "Искры"</h3>
                            <p class="es-wiki-place-desc">Культурный центр города, где выступают лучшие артисты со всех миров.</p>
                        </div>
                        <span class="es-wiki-place-type">Культура</span>
                    </li>
                </ul>
            </div>
        </div>
       
        <!-- Вкладка: Квесты -->
        <div class="es-wiki-pane" id="quests" role="tabpanel">
            <div class="es-wiki-section">
                <h2 class="es-wiki-section-title">
                    <span class="es-wiki-section-icon">��</span>
                    Квестовые линейки
                </h2>
                <div class="es-wiki-table-wrapper">
                    <table class="es-wiki-table">
                        <thead>
                            <tr>
                                <th>Название</th>
                                <th>Сложность</th>
                                <th>Длительность</th>
                                <th>Статус</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td>Пробуждение источников</td>
                                <td>Начальная</td>
                                <td>1-2 сессии</td>
                                <td><span class="es-wiki-card-status es-wiki-status-active">Активен</span></td>
                            </tr>
                            <tr>
                                <td>Тени прошлого</td>
                                <td>Средняя</td>
                                <td>3-5 сессий</td>
                                <td><span class="es-wiki-card-status es-wiki-status-active">Активен</span></td>
                            </tr>
                            <tr>
                                <td>Охота на дракона</td>
                                <td>Высокая</td>
                                <td>5-8 сессий</td>
                                <td><span class="es-wiki-card-status es-wiki-status-completed">Завершён</span></td>
                            </tr>
                            <tr>
                                <td>Секреты Архива</td>
                                <td>Высокая</td>
                                <td>Постоянный</td>
                                <td><span class="es-wiki-card-status es-wiki-status-active">Активен</span></td>
                            </tr>
                            <tr>
                                <td>Война кланов</td>
                                <td>Эпическая</td>
                                <td>Сезонный</td>
                                <td><span class="es-wiki-card-status es-wiki-status-locked">Скоро</span></td>
                            </tr>
                            <tr>
                                <td>Последний портал</td>
                                <td>Эпическая</td>
                                <td>Финальная</td>
                                <td><span class="es-wiki-card-status es-wiki-status-locked">Скоро</span></td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
           
            <div class="es-wiki-section">
                <h2 class="es-wiki-section-title">
                    <span class="es-wiki-section-icon">⭐</span>
                    Активные события
                </h2>
                <div class="es-wiki-grid">
                    <div class="es-wiki-card">
                        <div class="es-wiki-card-header">
                            <span class="es-wiki-card-icon">��</span>
                            <h3 class="es-wiki-card-title">Фестиваль Источников</h3>
                        </div>
                        <p class="es-wiki-card-desc">Ежегодный праздник в честь целебных вод с соревнованиями и наградами.</p>
                        <span class="es-wiki-card-status es-wiki-status-active">Идёт сейчас</span>
                    </div>
                    <div class="es-wiki-card">
                        <div class="es-wiki-card-header">
                            <span class="es-wiki-card-icon">��️</span>
                            <h3 class="es-wiki-card-title">Турнир Стражей</h3>
                        </div>
                        <p class="es-wiki-card-desc">Соревнование защитников порталов за звание лучшего стража города.</p>
                        <span class="es-wiki-card-status es-wiki-status-completed">Завершён</span>
                    </div>
                </div>
            </div>
        </div>
       
        <!-- Вкладка: История -->
        <div class="es-wiki-pane" id="history" role="tabpanel">
            <div class="es-wiki-section">
                <h2 class="es-wiki-section-title">
                    <span class="es-wiki-section-icon">��</span>
                    Хронология города
                </h2>
                <div class="es-wiki-table-wrapper">
                    <table class="es-wiki-table">
                        <thead>
                            <tr>
                                <th>Год</th>
                                <th>Событие</th>
                                <th>Значение</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td>1847</td>
                                <td>Основание города</td>
                                <td>Первые поселенцы обнаружили целебные источники</td>
                            </tr>
                            <tr>
                                <td>1892</td>
                                <td>Первый портал</td>
                                <td>Открыт первый стабильный портал в иное измерение</td>
                            </tr>
                            <tr>
                                <td>1923</td>
                                <td>Создание Совета</td>
                                <td>Объединение всех рас под единым управлением</td>
                            </tr>
                            <tr>
                                <td>1967</td>
                                <td>Война Теней</td>
                                <td>Конфликт с сущностями измерения тьмы</td>
                            </tr>
                            <tr>
                                <td>1991</td>
                                <td>Новое соглашение</td>
                                <td>Мирный договор между всеми фракциями города</td>
                            </tr>
                            <tr>
                                <td>2024</td>
                                <td>Современность</td>
                                <td>Город стал центром межпространственной торговли</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
           
            <div class="es-wiki-section">
                <h2 class="es-wiki-section-title">
                    <span class="es-wiki-section-icon">��</span>
                    Известные личности
                </h2>
                <div class="es-wiki-grid">
                    <div class="es-wiki-card">
                        <div class="es-wiki-card-header">
                            <span class="es-wiki-card-icon">��</span>
                            <h3 class="es-wiki-card-title">Виктория Риос</h3>
                        </div>
                        <p class="es-wiki-card-desc">Первая женщина-мэр города, известна реформами в сфере магического образования.</p>
                    </div>
                    <div class="es-wiki-card">
                        <div class="es-wiki-card-header">
                            <span class="es-wiki-card-icon">��</span>
                            <h3 class="es-wiki-card-title">Архимаг Эларион</h3>
                        </div>
                        <p class="es-wiki-card-desc">Основатель Академии Магии, величайший маг своего поколения.</p>
                    </div>
                    <div class="es-wiki-card">
                        <div class="es-wiki-card-header">
                            <span class="es-wiki-card-icon">��</span>
                            <h3 class="es-wiki-card-title">Капитан Роуэн</h3>
                        </div>
                        <p class="es-wiki-card-desc">Легендарный страж порталов, остановивший вторжение в 1967 году.</p>
                    </div>
                </div>
            </div>
        </div>
       
        <!-- Вкладка: Галерея -->
        <div class="es-wiki-pane" id="gallery" role="tabpanel">
            <div class="es-wiki-section">
                <h2 class="es-wiki-section-title">
                    <span class="es-wiki-section-icon">��️</span>
                    Галерея города
                </h2>
                <p class="es-wiki-text">
                    Фотографии и иллюстрации, запечатлевшие красоту Эврики-Спрингс в разные эпохи.
                    От старинных гравюр до современных снимков.
                </p>
                <div class="es-wiki-gallery">
                    <div class="es-wiki-gallery-item">��</div>
                    <div class="es-wiki-gallery-item">��</div>
                    <div class="es-wiki-gallery-item">⛲</div>
                    <div class="es-wiki-gallery-item">��</div>
                    <div class="es-wiki-gallery-item">��️</div>
                    <div class="es-wiki-gallery-item">✨</div>
                    <div class="es-wiki-gallery-item">��</div>
                    <div class="es-wiki-gallery-item">��</div>
                    <div class="es-wiki-gallery-item">��</div>
                    <div class="es-wiki-gallery-item">⚔️</div>
                    <div class="es-wiki-gallery-item">��</div>
                    <div class="es-wiki-gallery-item">��</div>
                </div>
            </div>
        </div>
    </div>
   
    <!-- Футер -->
    <div class="es-wiki-footer">
        <div class="es-wiki-meta">
            <span class="es-wiki-meta-item">�� Обновлено: 25.01.2026</span>
            <span class="es-wiki-meta-item">�� Редакторов: 12</span>
        </div>
        <span>© Архив Эврики-Спрингс</span>
    </div>
</div>

<script>
(function() {
    // Находим контейнер внутри которого запускаем скрипт
    const container = document.currentScript?.closest('.es-wiki-container') || document.querySelector('.es-wiki-container');
    if (!container) return;
   
    // Обработка вкладок
    const tabs = container.querySelectorAll('.es-wiki-tab');
    const panes = container.querySelectorAll('.es-wiki-pane');
   
    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            const targetId = this.dataset.tab;
           
            // Деактивируем все вкладки
            tabs.forEach(t => t.classList.remove('active'));
            panes.forEach(p => p.classList.remove('active'));
           
            // Активируем выбранную
            this.classList.add('active');
            const targetPane = container.querySelector('#' + targetId);
            if (targetPane) {
                targetPane.classList.add('active');
            }
        });
    });
})();
</script>
<!-- КОНЕЦ ШАБЛОНА ВИКИ -->[/html]

0


Вы здесь » re:start » Флудовой архив » лабиринт тест


Рейтинг форумов | Создать форум бесплатно