POKEMON

автогм / сюжет / биг бада бум

pokemon en·core

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

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


Вы здесь » pokemon en·core » База Знаний » Система тренеров и рейтинг


Система тренеров и рейтинг

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

1

[hideprofile]
[html]
<style>

  .rankinfo,
  .rankinfo *{
    box-sizing:border-box;
  }

  .rankinfo{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:12px;
    color:var(--dark-accent);
    font-family:var(--main-font, Arial, sans-serif);
  }

  .rank-top{
    display:flex;
    align-items:stretch;
    gap:14px;
  }

  .rank-left{
    width:28%;
    min-width:220px;
    display:flex;
    justify-content:center;
    align-items:stretch;
  }

  /* Левая эмблема полностью собрана из div и CSS-форм. */
  .rank-emblem{
    position:relative;
    width:100%;
    min-height:434px;
    overflow:hidden;
    isolation:isolate;
    color:var(--dark-accent);
    background:
      radial-gradient(circle at 50% 31%, #fff 0 13%, transparent 36%),
      linear-gradient(145deg, #fff 0%, var(--soft-accent) 165%);
    border:2px solid #fff;
    border-radius:14px;
    box-shadow:0 6px 16px rgba(0,0,0,.15);
  }

  .rank-emblem::before{
    content:"";
    position:absolute;
    inset:10px;
    z-index:8;
    pointer-events:none;
    border:3px solid var(--accent);
    border-radius:8px;
  }

  .rank-emblem::after{
    content:"";
    position:absolute;
    inset:17px;
    z-index:8;
    pointer-events:none;
    border:1px solid var(--soft-accent);
    border-radius:5px;
  }

  .rank-emblem__region{
    position:absolute;
    top:24px;
    left:24px;
    right:24px;
    z-index:10;
    overflow:hidden;
    color:var(--dark-accent);
    font-family:var(--bold-font, Arial, sans-serif);
    font-size:clamp(20px, 2.7vw, 31px);
    font-weight:900;
    line-height:1;
    letter-spacing:.06em;
    text-align:center;
    text-transform:uppercase;
    white-space:nowrap;
  }

  .rank-emblem__symbol{
    position:absolute;
    top:67px;
    right:26px;
    bottom:102px;
    left:26px;
  }

  .rank-ball{
    position:absolute;
    top:0;
    left:50%;
    z-index:7;
    width:104px;
    height:104px;
    overflow:hidden;
    background:#fff;
    border:7px solid var(--dark-accent);
    border-radius:50%;
    transform:translateX(-50%);
  }

  .rank-ball__top{
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:50%;
    z-index:0;
    background:var(--accent);
  }

  .rank-ball::before{
    content:"";
    position:absolute;
    top:50%;
    left:-4px;
    width:calc(100% + 8px);
    height:8px;
    z-index:2;
    background:var(--dark-accent);
    transform:translateY(-50%);
  }

  .rank-ball::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:27px;
    height:27px;
    z-index:3;
    background:#fff;
    border:7px solid var(--dark-accent);
    border-radius:50%;
    box-shadow:0 0 0 3px #fff;
    transform:translate(-50%,-50%);
  }

  /* Белая обводка строится вокруг всего кубка одним нижним слоем. */
  .rank-cup{
    position:absolute;
    inset:0;
    z-index:2;
    filter:
      drop-shadow(4px 0 0 #fff)
      drop-shadow(-4px 0 0 #fff)
      drop-shadow(0 4px 0 #fff)
      drop-shadow(0 -4px 0 #fff);
  }

  /* Центральная ножка награды. */
  .rank-stem{
    position:absolute;
    top:76px;
    bottom:25px;
    left:50%;
    z-index:2;
    width:46px;
    background:var(--accent);
    clip-path:polygon(50% 0,70% 13%,67% 72%,100% 100%,0 100%,33% 72%,30% 13%);
    transform:translateX(-50%);
  }

  /* Одна V состоит из двух прямоугольных плеч. */
  .rank-v{
    --v-length:150px;
    --v-width:18px;
    --v-angle:28deg;

    position:absolute;
    bottom:28px;
    left:50%;
    z-index:3;
    width:0;
    height:0;
  }

  .rank-v__arm{
    position:absolute;
    bottom:0;
    left:calc(var(--v-width) / -2);
    width:var(--v-width);
    height:var(--v-length);
    background:var(--accent);
    clip-path:polygon(50% 0,100% 13%,67% 100%,33% 100%,0 13%);
    transform-origin:50% 100%;
  }

  .rank-v__arm--left{
    transform:rotate(calc(var(--v-angle) * -1));
  }

  .rank-v__arm--right{
    transform:rotate(var(--v-angle));
  }

  /* Одна широкая V делает силуэт кубка проще и выразительнее. */
  .rank-v--outer{
    --v-length:169px;
    --v-width:36px;
    --v-angle:25deg;
    bottom:34px;
    z-index:1;
  }

  /* Три плоские ступени повторяют составное основание настоящего кубка. */
  .rank-collar,
  .rank-base,
  .rank-foot{
    position:absolute;
    left:50%;
    background:var(--accent);
    transform:translateX(-50%);
  }

  .rank-collar{
    bottom:32px;
    z-index:5;
    width:70px;
    height:16px;
    clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);
  }

  .rank-base{
    bottom:13px;
    z-index:6;
    width:104px;
    height:24px;
    clip-path:polygon(7% 0,93% 0,100% 20%,95% 100%,5% 100%,0 20%);
  }

  .rank-foot{
    bottom:0;
    z-index:5;
    width:126px;
    height:16px;
    clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);
  }

  .rank-emblem__caption{
    position:absolute;
    right:27px;
    bottom:24px;
    left:27px;
    z-index:10;
    color:var(--dark-accent);
    font-family:var(--bold-font, Arial, sans-serif);
    font-weight:900;
    line-height:.92;
    letter-spacing:.025em;
    text-align:center;
    text-transform:uppercase;
  }

  .rank-emblem__caption::before,
  .rank-emblem__caption::after{
    content:"";
    position:absolute;
    top:6px;
    width:24%;
    height:3px;
    background:var(--dark-accent);
  }

  .rank-emblem__caption::before{ left:0; }
  .rank-emblem__caption::after{ right:0; }

  .rank-emblem__caption span{
    display:block;
    font-size:12px;
    letter-spacing:.08em;
  }

  .rank-emblem__caption strong{
    display:block;
    margin-top:5px;
    font-size:22px;
  }

  .rank-right{
    flex:1;
    display:flex;
    min-width:0;
    max-height:434px;
  }

  .rank-banner{
    position:relative;
    flex:1;
    display:flex;
    min-width:0;
    flex-direction:column;
    padding:22px 20px 24px;
    overflow:hidden;
    color:#fff;
    background:linear-gradient(135deg,var(--accent) 0%,var(--dark-accent) 100%);
    border:2px solid #fff;
    border-radius:14px;
    box-shadow:0 6px 16px rgba(0,0,0,.15);
  }

  .rank-banner::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(-18deg,transparent 0 72%,rgba(255,255,255,.11) 72% 74%,transparent 74%),
      radial-gradient(circle at 100% 0, var(--soft-accent), transparent 35%);
    border-radius:inherit;
    opacity:.7;
  }

  .rank-banner .title,
  .rank-banner .desc{
    position:relative;
    z-index:1;
  }

  .rank-banner .title{
    margin:0 0 10px;
    font-family:var(--bold-font, Arial, sans-serif);
    font-size:24px;
    line-height:1.14;
    letter-spacing:.03em;
    text-transform:uppercase;
  }

  .rank-banner .desc{
    min-height:0;
    margin:0;
    padding-right:8px;
    overflow-y:auto;
    font-size:14px;
    line-height:1.55;
    scrollbar-color:var(--soft-accent) transparent;
    scrollbar-width:thin;
  }

  .rank-banner .desc p{
    margin:0 0 12px;
  }

  .rank-banner .desc p:last-child{
    margin-bottom:0;
  }

  .rank-banner .desc::-webkit-scrollbar{
    width:5px;
  }

  .rank-banner .desc::-webkit-scrollbar-thumb{
    background:var(--soft-accent);
    border-radius:20px;
  }

  .players-list{
    max-height:190px;
    overflow-y:auto;
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:10px;
    background:linear-gradient(135deg,#fff 0%,var(--soft-accent) 230%);
    border:2px solid var(--accent);
    border-radius:14px;
    box-shadow:0 6px 16px rgba(0,0,0,.15);
    scrollbar-color:var(--accent) transparent;
    scrollbar-width:thin;
  }

  .players-list::-webkit-scrollbar{
    width:6px;
  }

  .players-list::-webkit-scrollbar-thumb{
    background:var(--accent);
    border-radius:20px;
  }

  .player{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    color:var(--dark-accent);
    font-size: 18px;
    background:#fff;
    border:1px solid var(--accent);
    border-radius:12px;
    font-weight:700;
    box-shadow:inset 0 -1px 0 var(--soft-accent);
  }

  .player a {
    color:var(--dark-accent);
  }

  .player a:hover{
    color:var(--accent);
  }

  .player .rank-name{
    flex:1;
    min-width:0;
    overflow:hidden;
    text-align:left;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .diamond{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,var(--soft-accent),var(--accent));
    border:3px solid #fff;
    border-radius:6px;
    box-shadow:0 3px 10px rgba(0,0,0,.15), 0 0 0 1px var(--accent);
    transform:rotate(45deg);
  }

  .diamond > span{
    color:#fff;
    font-size:12px;
    font-weight:900;
    line-height:1;
    text-shadow:0 1px 2px var(--dark-accent);
    transform:rotate(-45deg);
  }

  @media (max-width:820px){
    .rank-top{
      flex-direction:column;
    }

    .rank-left{
      width:100%;
      min-width:0;
    }

    .rank-emblem{
      width:min(100%,330px);
      min-height:410px;
    }

    .rank-right{
      max-height:none;
    }

    .rank-banner .desc{
      overflow:visible;
    }
  }

  @media (max-width:480px){
    .rank-emblem{
      min-height:390px;
    }

    .rank-emblem__symbol{
      top:64px;
      bottom:98px;
      transform:scale(.9);
      transform-origin:50% 50%;
    }

    .rank-banner{
      padding:18px 16px 20px;
    }

    .rank-banner .title{
      font-size:20px;
    }
  }
</style>

<div class="rankinfo">

  <div class="rank-top">
    <div class="rank-left">
      <div class="rank-emblem" role="img" aria-label="Эмблема Ассоциации Тренеров Юновы">
        <div class="rank-emblem__region">Юнова</div>

        <div class="rank-emblem__symbol">
          <div class="rank-ball"><div class="rank-ball__top"></div></div>

          <div class="rank-cup">
            <div class="rank-stem"></div>

            <div class="rank-v rank-v--outer">
              <div class="rank-v__arm rank-v__arm--left"></div>
              <div class="rank-v__arm rank-v__arm--right"></div>
            </div>

            <div class="rank-collar"></div>
            <div class="rank-base"></div>
            <div class="rank-foot"></div>
          </div>
        </div>

        <div class="rank-emblem__caption">
          <span>Ассоциация</span>
          <strong>Тренеров</strong>
        </div>
      </div>
    </div>

    <div class="rank-right">
      <div class="rank-banner">
        <div class="title">Ассоциация Тренеров Юновы:<br>Рейтинговая система</div>
        <div class="desc">
          <p>В регионе Юнова любое сражение покемонов — часть единого рейтинга славы, фиксирующего успехи и неудачи каждого тренера. Сотни боёв проходят ежедневно — в городских залах, на аренах стадионов, в лесах и пустынях, а порой даже в подворотнях.</p>
          <p>Каждый победитель и каждый побеждённый оставляют свой след в истории. И каждый стремится взобраться выше ради титула Почётного Героя. Эта система стала символом справедливого соревнования и роста, объединяя тренеров — от новичков с их первыми партнёрами до мастеров, чьи имена известны по всей Юнове.</p>
          <p>На нижних ступенях кипит поток новичков. На средних уровнях — напряжённая борьба, где каждое очко на вес золота. На вершине схватки редки и часто становятся предметом жарких обсуждений. Лишь немногие добираются до верхних позиций, и эти имена остаются в истории Юновы надолго.</p>
          <p>Но со славой приходит ответственность. Достижение почётных рейтингов — показатель силы, закалённой в боях.</p>
        </div>
      </div>
    </div>
  </div>

  <div class="players-list">
    <div class="player"><span class="rank-name"><a href="https://pokecore.f-rpg.me/viewtopic.php?id=20">Джен</a></span><div class="diamond"><span>47</span></div></div>
    <div class="player"><span class="rank-name"><a href="https://pokecore.f-rpg.me/viewtopic.php?id=20">Клаус</a></span><div class="diamond"><span>41</span></div></div>
    <div class="player"><span class="rank-name"><a href="https://pokecore.f-rpg.me/viewtopic.php?id=20">Астрид</a></span><div class="diamond"><span>29</span></div></div>
    <div class="player"><span class="rank-name"><a href="https://pokecore.f-rpg.me/viewtopic.php?id=20">Кайден</a></span><div class="diamond"><span>13</span></div></div>
    <div class="player"><span class="rank-name"><a href="https://pokecore.f-rpg.me/profile.php?id=6">Мира</a></span><div class="diamond"><span>1</span></div></div>
    <div class="player"><span class="rank-name"><a href="https://pokecore.f-rpg.me/profile.php?id=8">Рен</a></span><div class="diamond"><span>1</span></div></div>
    <div class="player"><span class="rank-name"><a href="https://pokecore.f-rpg.me/profile.php?id=7">Люциана</a></span><div class="diamond"><span>1</span></div></div>
  </div>

</div>
[/html]

0

2

[hideprofile]
[html]
<style>
  :root{
    --c-white:#fff;
    --c-text:#702e22;
    --shadow:0 6px 16px rgba(0,0,0,.15);
    --radius:14px;
    --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  }

  .rank-wrapper{
    font-family:var(--main-font);
    color:var(--c-text);
    background:var(--soft-accent);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
  }

  .rank-banner{
    position:relative;
    padding:22px 20px 28px;
    background:linear-gradient(135deg,var(--soft-accent) 0%,var(--accent) 100%);
    color:var(--c-white);
  }
  .rank-banner::before,
  .rank-banner::after{
    content:"";
    position:absolute; inset:0; pointer-events:none;
  }
  .rank-banner::before{
    background:
      linear-gradient(-18deg,transparent 0 72%,rgba(255,255,255,.08) 72% 74%,transparent 74%);
  }

  .banner-chip{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--c-white);
    color: var(--accent);
    font-weight:800; letter-spacing:.03em; text-transform:uppercase;
    padding:2px 16px;
    margin-left: 12px;
    position:relative;
    box-shadow:var(--shadow);
  }
  .banner-chip::before,
  .banner-chip::after{
    content:"";
    position:absolute; top:0; bottom:0; width:18px;
    background:var(--c-white);
  }
  .banner-chip::before{ left:-10px; transform:skewX(-22deg); box-shadow:-6px 0 12px rgba(0,0,0,.08); }
  .banner-chip::after{ right:-10px; transform:skewX(-22deg); box-shadow:6px 0 12px rgba(0,0,0,.08); }

  .banner-sub{
    margin-top:10px;
    opacity:.95; font-weight:600;
  }

  .rankinfo2{
    display:flex; gap:16px; padding:16px;
    background:var(--soft-accent);
  }
  .rankdesc{
    flex:3; display:flex; background:var(--c-white);
    border-radius:var(--radius); box-shadow:var(--shadow); padding:18px;
  }
  .titlelist{
    flex:2; display:flex; background:var(--c-white);
    border-radius:var(--radius); box-shadow:var(--shadow); padding:18px;
  }
  .rankdesc{ flex-direction:column; gap:10px; }
  .rankdesc h4{ margin:0 0 6px; font-size:18px; text-transform:uppercase; letter-spacing:.05em; color:#813E37; }
  .rankdesc p{ margin:0 0 10px; line-height:1.55; }

  .titlelist{ flex-direction:column; gap:8px; }

  .titlecell{
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 12px; border-radius:12px; background:#F8F4F1; border:1px solid var(--c-white);
    font-weight:700; color:#A42B13;
  }
  .rank-name{ flex:1;text-align: center; }

  .diamond{
    width:28px; height:28px; transform:rotate(45deg);
    background:linear-gradient(145deg, var(--soft-accent),var(--accent));
    border:3px solid rgba(255,255,255,.9);
    box-shadow:0 3px 10px rgba(0,0,0,.15);
    border-radius:6px;
    display:grid; place-items:center;
    flex:0 0 auto;
  }
  .diamond > span{
    transform:rotate(-45deg);
    font-size:13px; font-weight:900; color:#FFFFFF;
  }
</style>

<div class="rank-wrapper">
  <div class="rank-banner">
    <div class="banner-chip">Ассоциация тренеров Юновы</div>
    <div class="banner-sub">В мире покемонов важно помнить не только о верности и дружбе зачастую связывающих тренеров с их подопечными, но и о силе, что таится в этих загадочных существах. Покемоны в некоторых случаях могут быть вполне реальной угрозой. История Юновы знает немало примеров, когда непредсказуемое поведение диких покемонов приводило к чрезвычайным происшествиям. А порой перед людьми вставали опасности куда более значительные — иногда, легендарного масштаба. <br>Именно поэтому Рейтинговая система существует не только ради состязаний и славы. Она стала мерилом готовности, проверкой для каждого, кто берёт на себя ответственность быть тренером. Когда на карту поставлена безопасность городов и жизнь людей, каждый высококвалифицированный тренер оказывается на счету. В битве против стихийной угрозы или при столкновении двух легендарных покемонов требуется не только сила, но выдержка и закалка духа. <br> Так рейтинговая система становится не просто соревнованием, а основой доверия. Она позволяет Ассоциации Тренеров видеть, на кого можно положиться в решающий момент, и кому суждено стать настоящим героем.
</div>
  </div>

  <div class="rankinfo2">
    <div class="rankdesc">
      <h4>Как работает рейтинг</h4>
      <p><strong>Обычные бои.</strong> Если уровень мастерства покемона не отличается — победа даёт +1 очко, поражение −1 очко. За каждый уровень разницы  в мастерстве для покемона в невыгодном положении +1 очко (теряется всегда 1 очко при поражении даже с разницей в мастерстве).</p>
      <p><strong>Бои на стадионах.</strong> Победа даёт +5 очков, поражение очки не снимает.</p>
      <p><strong>Турниры.</strong> Очки задаются индивидуально правилами турнира.</p>
    </div>

    <div class="titlelist">
      <div class="titlecell">
        <span class="rank-name">Легенда Юновы</span>
        <div class="diamond"><span>100</span></div>
      </div>
      <div class="titlecell">
        <span class="rank-name">Герой Юновы</span>
        <div class="diamond"><span>70</span></div>
      </div>
      <div class="titlecell">
        <span class="rank-name">Хранитель Юновы</span>
        <div class="diamond"><span>50</span></div>
      </div>
      <div class="titlecell">
        <span class="rank-name">Защитник Идеалов</span>
        <div class="diamond"><span>30</span></div>
      </div>
      <div class="titlecell">
        <span class="rank-name">Искатель Истины</span>
        <div class="diamond"><span>20</span></div>
      </div>
      <div class="titlecell">
        <span class="rank-name">Опытный Тренер</span>
        <div class="diamond"><span>10</span></div>
      </div>
      <div class="titlecell">
        <span class="rank-name">Неофит</span>
        <div class="diamond"><span>5</span></div>
      </div>
    </div>
  </div>
</div>
[/html]

0


Вы здесь » pokemon en·core » База Знаний » Система тренеров и рейтинг


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