итоги и промжутки
сериал
Сообщений 1 страница 8 из 8
Поделиться32026-03-18 17:02:35
[html]<div class="rehaze-tarot-widget">
<input class="rehaze-input" placeholder="Ники через запятую">
<button onclick="rehazeTarotHandler(this)">🔮 Сделать расклад</button>
<div class="rehaze-result"></div>
</div>
<style>
.rehaze-tarot-widget {
margin: 10px 0;
text-align: center;
}
.rehaze-input {
padding: 5px;
width: 220px;
}
.rehaze-cards {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 10px;
}
.rehaze-card {
width: 80px;
height: 140px;
background-size: cover;
background-position: center;
border-radius: 6px;
}
.rehaze-result-text {
margin-top: 12px;
text-align: left;
font-style: italic;
}
</style>
<script>
(function(){
/* =========================
🧠 БАЗА ПЕРСОНАЖЕЙ
редактируйте тут
========================= */
const characters = {
"lucifer cowie": "владелец бара",
"park jong-soo": "врач",
"anna black": "журналистка"
};
/* =========================
🌆 ЛОР ГОРОДА
========================= */
const locations = [
"в старом мотеле на окраине",
"у горячих источников",
"в лесах вокруг Эврика-Спрингс",
"в заброшенной церкви",
"на пустынной улице в центре города"
];
const events = [
"произошло нечто странное",
"кто-то исчез без следа",
"появился странный свет",
"люди начали слышать шепот",
"всё пошло не по плану"
];
/* =========================
🃏 КАРТЫ (ВАЖНО: замени пути)
========================= */
const tarotCards = {
"Шут": "images/fool.jpg",
"Маг": "images/magician.jpg",
"Жрица": "images/priestess.jpg",
"Сила": "images/strength.jpg",
"Отшельник": "images/hermit.jpg",
"Дьявол": "images/devil.jpg",
"Башня": "images/tower.jpg",
"Луна": "images/moon.jpg"
};
/* ========================= */
function rand(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
function getCharInfo(name) {
const key = name.toLowerCase();
return characters[key] ? name + ", " + characters[key] : name;
}
/* ========================= */
window.rehazeTarotHandler = function(btn) {
var root = btn.parentNode;
var input = root.querySelector('.rehaze-input');
var result = root.querySelector('.rehaze-result');
var names = input.value.split(',').map(function(s){
return s.trim();
}).filter(Boolean);
if (names.length === 0) {
result.innerHTML = "Введите хотя бы один ник";
return;
}
var players = names.map(function(n){
return '@' + n;
});
var playersInfo = names.map(getCharInfo);
var cardsKeys = Object.keys(tarotCards);
var cards = [];
while(cards.length < 3) {
var c = rand(cardsKeys);
if (!cards.includes(c)) cards.push(c);
}
/* 🎴 HTML карт */
var cardsHTML = '<div class="rehaze-cards">';
cards.forEach(function(card){
cardsHTML += '<div class="rehaze-card" style="background-image:url(' + tarotCards[card] + ')"></div>';
});
cardsHTML += '</div>';
/* 🧠 генерация истории */
var story =
playersInfo[0] + " оказался " + rand(locations) + ", где " + rand(events) + ". " +
(playersInfo[1] ? playersInfo[1] + " был втянут в это. " : "") +
"Карта \"" + cards[0] + "\" предупреждала, \"" + cards[1] + "\" усиливала влияние, " +
"а \"" + cards[2] + "\" изменила всё.";
result.innerHTML =
cardsHTML +
'<div class="rehaze-result-text">' +
story +
'</div>';
};
})();
</script>[/html]
























