Première version ; j'étais bourré

This commit is contained in:
Boris 2023-01-13 13:45:51 +01:00
parent 2268847ebf
commit f6e9257fab
2 changed files with 225 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# Francis-Cousin-generator
Un soir d'octobre 2022, j'étais bourré en forêt et j'ai fait ça.

223
cousin-generator.html Normal file
View File

@ -0,0 +1,223 @@
<!DOCTYPE html>
<html>
<head>
<title>Cousin generator</title>
<style>
#resultat .phrase:first-letter {
text-transform: uppercase;
}
</style>
</head>
<body>
<h1>Générateur de Cousin</h1>
<form>
<input type="button" id="generate" value="Générer" />
</form>
<div id="resultat">
</div>
<script type="text/javascript">
function getRandomInt (max, exclude = null) {
let nb = null;
while (nb == exclude || nb === null) {
nb = Math.floor(Math.random() * max);
}
return nb;
}
function a (liste) {
return liste[getRandomInt(liste.length)];
}
let bouton = document.getElementById("generate");
bouton.addEventListener("click", function () {
let resultat = document.getElementById("resultat");
let sujetSM = [
"le Capital"
, "l'être naturel"
, "le gauchisme"
, "le spectacle"
, "le Grand Remplacement"
];
let sujetSF = [
, "l'aliénation"
, "la baise tendantielle du taux de profit"
, "la communauté germanique"
, "la mise en jachère"
, "l'actualité"
];
let sujetPM = [
"les manuscrits de 48"
];
let sujetPF = [
"les forces contre-révolutionnaires"
];
let attributsDuSujetSM = [
"de la marchandise"
, "de l'aliénation"
, "de la valeur marchande"
, "du billet vert"
, "de l'équivalent universel d'échange"
, "contre-révolutionnaire"
, "du Capital"
, "LGBTiste"
, "spéctaculaire-mardand"
];
let attributsDuSujetSF = [
"de la marchandise"
, "de l'aliénation"
, "de la valeur marchande"
, "du billet vert"
, "de l'équivalent universel d'échange"
, "contre-révolutionnaire"
, "du Capital"
, "LGBTiste"
, "spéctaculaire-mardande"
];
let attributsDuSujetPM = [
"de la marchandise"
, "de l'aliénation"
, "de la valeur marchande"
, "du billet vert"
, "de l'équivalent universel d'échange"
, "contre-révolutionnaires"
, "du Capital"
, "LGBTistes"
, "spéctaculaires-mardands"
];
let attributsDuSujetPF = [
"de la marchandise"
, "de l'aliénation"
, "de la valeur marchande"
, "du billet vert"
, "de l'équivalent universel d'échange"
, "contre-révolutionnaires"
, "du Capital"
, "LGBTistes"
, "spéctaculaires-mardandes"
];
let verbeSingulier = [
"produit"
, "va entraîner"
, "préfigure"
, "annonce"
, "génère"
];
let verbePluriel = [
"produisent"
, "vont entraîner"
, "préfigurent"
, "annoncent"
, "génèrent"
];
let complementDuVerbe = [
"mécaniquement"
, "in fine"
];
let COD = [
"un nouveau Rapalo"
, "la mise en jachère"
, "les guerres du Capital"
, "la communauté de l'Être"
, "la crise finale du Capitalisme"
];
let CCL = [
"de Brest à Vladivoskov"
, "en Europe"
, "partout dans le monde"
];
let CCT = [
"en 2022"
];
let phrase = [
"À bas l'État."
, "À bas la marchandise."
, "Il faut lire."
]
function genererPhrase () {
s = '<p class="phrase">';
// Sujet
let auPluriel = getRandomInt(2);
let auFeminin = getRandomInt(2);
s += auPluriel ?
(auFeminin ? a(sujetPF) : a(sujetPM))
: (auFeminin ? a(sujetSF) : a(sujetSM));
let attributsDuSujet = auPluriel ?
(auFeminin ? attributsDuSujetPF : attributsDuSujetPM)
: (auFeminin ? attributsDuSujetSF : attributsDuSujetSM);
let as_1 = getRandomInt(attributsDuSujet.length);
s += " " + attributsDuSujet[as_1];
let has2AS = getRandomInt(2);
let as_2 = getRandomInt(attributsDuSujet.length, as_1);
s += has2AS ? (" " + attributsDuSujet[as_2]) : "";
// Verbe
s += " " + (auPluriel ? a(verbePluriel) : a(verbeSingulier));
s += " " + a(complementDuVerbe);
// Compléments
s += " " + a(COD);
let hasCCL = getRandomInt(2);
s += hasCCL ? " " + a(CCL) : "";
let hasCCT = getRandomInt(2);
s += hasCCT ? " " + a(CCT) : "";
s += '. </p>';
return s;
}
resultat.innerHTML += genererPhrase();
resultat.innerHTML += genererPhrase();
resultat.innerHTML += genererPhrase();
resultat.innerHTML += genererPhrase();
resultat.innerHTML += genererPhrase();
resultat.innerHTML += genererPhrase();
resultat.innerHTML += a(phrase);
resultat.innerHTML += " ";
});
</script>
</body>
</html>