189 lines
8.6 KiB
HTML
189 lines
8.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<link rel="icon" type="image/png" href="logo.png" />
|
|
<title>FUSION</title>
|
|
<script defer data-domain="fusion.boulbicorp.fr" src="https://plausible.boulbicorp.fr/js/script.js"></script>
|
|
<style>
|
|
body {
|
|
font-family: Arial, sans-serif;
|
|
font-size: 2rem;
|
|
text-align: center;
|
|
background-color: #e0e0e0;
|
|
color: #333;
|
|
margin: 0;
|
|
padding: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 100vh;
|
|
}
|
|
h1 {
|
|
font-size: 3rem;
|
|
color: #007BFF;
|
|
}
|
|
p {
|
|
font-size: 1.5rem;
|
|
color: #555;
|
|
margin-bottom: 0px;
|
|
}
|
|
main {
|
|
margin-top: 2rem;
|
|
}
|
|
input {
|
|
text-align: center;
|
|
font-size: 3rem;
|
|
margin-bottom: 1rem;
|
|
padding: 0.5rem;
|
|
width: 80%;
|
|
max-width: 500px;
|
|
border: 2px solid #ccc;
|
|
border-radius: 5px;
|
|
}
|
|
button {
|
|
font-size: 2rem;
|
|
padding: 0.5rem 1rem;
|
|
border: none;
|
|
border-radius: 5px;
|
|
background-color: #007BFF;
|
|
color: #fff;
|
|
cursor: pointer;
|
|
transition: background-color 0.3s;
|
|
}
|
|
button:hover {
|
|
background-color: #0056b3;
|
|
}
|
|
a {
|
|
color: #007BFF;
|
|
text-decoration: none;
|
|
}
|
|
a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
@media (max-width: 1000px) {
|
|
body {
|
|
width: 100%;
|
|
}
|
|
input {
|
|
font-size: 4rem;
|
|
}
|
|
}
|
|
#nb_input {
|
|
width: 3rem;
|
|
font-size: 1.5rem;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>FUSION</h1>
|
|
<p>Trouvez l'inspiration et les idées pour vos projets grâce au subtil mélange de deux mots aléatoires.</p>
|
|
<p>Nombre de mots a générer : <input id="nb_input" type="number" min="1"></p>
|
|
<main>
|
|
<input type="text" disabled />
|
|
<input type="text" disabled />
|
|
<br>
|
|
<button onclick="generer()">Générer</button>
|
|
</main>
|
|
<p><a href="/FUSION.apk">Telechargez</a> l'apk de l'application.</p>
|
|
<p><a onclick="telecharger()">Telechargez</a> la liste des mots.</p>
|
|
<p>Site inspiré de : <a href="https://www.youtube.com/watch?v=yEFT5zqXtoY">Ockam Razor</a></p>
|
|
|
|
<script>
|
|
var mots = [
|
|
// Ockam Razor
|
|
"vollaile", "rose", "bouche", "visuel", "conduire", "écrire", "légume", "ange", "ampoule", "magie", "tour", "société", "légende", "village",
|
|
"gâteau", "colère", "sang", "lumière", "ville", "oreille", "muscle", "secrétaire", "viande", "dragon", "corde", "glace", "astéroïde", "oeil",
|
|
"diriger", "drapeau", "génie", "rouge", "jambon", "toboggan", "police", "humeur", "rire", "perdu", "ciel", "metal", "armes", "chirurgie",
|
|
"invention", "trou noir", "palais", "musique", "fusée", "samouraï", "porte", "revolution", "os", "vie", "lunnettes", "transformer", "sphinx", "course",
|
|
"espace", "prisonnier", "coeur", "odeur", "ninja", "social", "chat", "soleil", "langue", "baignoire", "volcan", "geisha", "message", "serpent",
|
|
"pont", "étoile", "océan", "miroir", "chirurgie esthétique", "arc en ciel", "voleur", "rêve", "loup garou", "technologie",
|
|
// Dico
|
|
"araignée", "gravité", "antigravité", "balise", "bibliothèque", "laser", "canon", "cerveau", "cave", "grotte", "force", "champ", "champ de force",
|
|
"astronaute", "ordinateur", "cyber", "matière", "difforme", "desert", "nuit", "argent", "fusion", "gaz", "carburant", "humain", "monde", "navigation",
|
|
"saut", "hyper", "intelligence artificielle", "pensée", "mélange", "mécanique", "mecha", "titan", "univers", "nano", "alien", "apocalypse", "psy",
|
|
"race", "réalité", "virtuel", "réplique", "robot", "sabre", "katana", "fumée", "berserk", "chaos", "démesure", "illusions", "démon", "vampire",
|
|
"élément", "fleur", "sorcier", "farfadet", "kraken", "pirates", "trésor", "sable", "normal", "oiseau", "ténèbre", "vision", "mer",
|
|
// Custom
|
|
"denrée", "fortune", "math", "mental", "dévorer", "rare", "gemme", "diamant", "or", "féroce", "guerre", "mort", "pays", "mythe", "rune", "château",
|
|
"parler", "écrire", "dire", "raconter", "chanter", "invoquer", "descente", "enfer", "machine", "souvenir", "seul", "courir", "vide", "chevalier",
|
|
"agriculture", "ferme", "plante", "moyen âge", "contrôle", "lien", "ensemble", "dé", "aléatoire", "hasard", "pari", "appel", "saut", "voler",
|
|
"création", "imaginaire", "four", "bois", "hélicoptère", "repos", "repas", "nourriture", "cuisiner", "couper", "ego", "surpasser", "super", "miel",
|
|
"flamme", "enfant", "sauver", "programme", "voleur", "banque", "gouverner", "famille", "groupe", "coopérer", "police", "armée", "tank", "avion",
|
|
"chasse", "pêche", "science", "mouvement", "statue", "créature", "son", "bureau", "travail", "mythologie", "livre", "feuille", "artifice", "explosion",
|
|
// Le D
|
|
"effondrement ", "empreinte", "fragile", "horizon", "blessure", "otage", "tapis", "inspecter", "copie", "fraction", "siamois", "arome", "cible",
|
|
"rivage", "relation", "harem", "mutation", "cadre", "loup", "effacer", "cavalier", "religion", "hallucination", "faux", "bocal", "ancien", "ancêtre",
|
|
"transport", "verre",
|
|
];
|
|
|
|
var nbInput = document.getElementById("nb_input");
|
|
nbInput.value = 2;
|
|
nbInput.max = mots.length - 1;
|
|
nbInput.onchange = (state) => {
|
|
var val = nbInput.value;
|
|
var inputs = document.getElementsByTagName("main")[0].getElementsByTagName("input");
|
|
if (val < 1) {
|
|
val = 1;
|
|
nbInput.value = 1;
|
|
}
|
|
if (val > mots.length - 1) {
|
|
val = mots.length - 1;
|
|
nbInput.value = mots.length - 1;
|
|
}
|
|
if (val > inputs.length)
|
|
addInput(inputs, val - inputs.length);
|
|
else if (val < inputs.length)
|
|
removeInput(inputs, inputs.length - val);
|
|
}
|
|
|
|
function removeInput(inputs, n) {
|
|
for (let i=0; i<n; i++) {
|
|
inputs[inputs.length-1].remove();
|
|
}
|
|
}
|
|
|
|
function addInput(inputs, n) {
|
|
var begin = inputs.length;
|
|
for (let i=0; i<n; i++) {
|
|
inputs[inputs.length-1].insertAdjacentHTML("afterend", '<input type="text" disabled />');
|
|
}
|
|
generer(begin);
|
|
}
|
|
|
|
function doublon(mot, inputs) {
|
|
for (let i=0; i<inputs.length-1; i++) {
|
|
if (inputs[i].value == mot) return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function generer(begin = 0) {
|
|
var inputs = document.getElementsByTagName("main")[0].getElementsByTagName("input");
|
|
for (let i=begin; i<inputs.length; i++) {
|
|
var mot = "";
|
|
do {
|
|
mot = mots[Math.floor(Math.random() * mots.length)];
|
|
} while (doublon(mot, inputs));
|
|
inputs[i].value = mot;
|
|
}
|
|
}
|
|
generer();
|
|
|
|
function telecharger() {
|
|
var el = document.createElement('a');
|
|
el.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(JSON.stringify(mots, null, 2)));
|
|
el.setAttribute('download', 'fusion_liste_mots.json');
|
|
|
|
el.style.display = 'none';
|
|
document.body.appendChild(el);
|
|
|
|
el.click();
|
|
|
|
document.body.removeChild(el);
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|