LA ON EST BIENG !! ( opti + confettis qui fonctionnent)

This commit is contained in:
thaaoblues 2024-12-15 14:22:24 +01:00
parent a3f77dc11d
commit 1184764f7a
15 changed files with 47 additions and 67 deletions

View file

@ -151,7 +151,8 @@
"revenu_passif": 1, "revenu_passif": 1,
"evolution": 0, "evolution": 0,
"narration": "George Boole était un mathématicien et logicien britannique, connu pour avoir formulé les bases de l'algèbre logique, un outil fondamental en informatique et en intelligence artificielle.", "narration": "George Boole était un mathématicien et logicien britannique, connu pour avoir formulé les bases de l'algèbre logique, un outil fondamental en informatique et en intelligence artificielle.",
"wikipedia": "https://fr.wikipedia.org/wiki/George_Boole" "wikipedia": "https://fr.wikipedia.org/wiki/George_Boole",
"nom_fichier_image":"img/George_Boole_color.jpg"
}, },
"grace_hopper": { "grace_hopper": {
"nom": "Grace Hopper", "nom": "Grace Hopper",
@ -159,15 +160,17 @@
"revenu_passif": 8, "revenu_passif": 8,
"evolution": 0, "evolution": 0,
"narration": "Grace Hopper était une informaticienne et contre-amiral de la marine américaine. Elle est connue pour ses travaux sur le développement du premier compilateur et pour avoir popularisé le terme 'bug' pour décrire un dysfonctionnement dans les programmes.", "narration": "Grace Hopper était une informaticienne et contre-amiral de la marine américaine. Elle est connue pour ses travaux sur le développement du premier compilateur et pour avoir popularisé le terme 'bug' pour décrire un dysfonctionnement dans les programmes.",
"wikipedia": "https://fr.wikipedia.org/wiki/Grace_Hopper" "wikipedia": "https://fr.wikipedia.org/wiki/Grace_Hopper",
"nom_fichier_image":"img/390px-Commodore_Grace_M._Hopper,_USN_(covered).jpg"
}, },
"jean_bartik": { "france_spence": {
"nom": "Jean Bartik", "nom": "Frances V. Spence",
"cout": 6000, "cout": 6000,
"revenu_passif": 47, "revenu_passif": 47,
"evolution": 1, "evolution": 1,
"narration": "Jean Bartik faisait partie de l'équipe originale des programmeuses d'ENIAC, l'un des premiers ordinateurs électroniques. Elle a joué un rôle crucial dans la programmation de cet appareil.", "narration": "Frances V. Spence est l'une des premières programmeuses pour l'ENIAC (le premier ordinateur numérique). Elle est considérée comme l'une des pionnières de l'histoire de la programmation informatique.",
"wikipedia": "https://fr.wikipedia.org/wiki/Jean_Bartik" "wikipedia": "https://fr.wikipedia.org/wiki/Frances_Spence",
"nom_fichier_image":"img/Frances_Bilas_Spence_feeding_punch_cards_into_ENIAC,_Feb_1946.png"
}, },
"claude_shannon": { "claude_shannon": {
"nom": "Claude Shannon", "nom": "Claude Shannon",
@ -175,7 +178,8 @@
"revenu_passif": 260, "revenu_passif": 260,
"evolution": 1, "evolution": 1,
"narration": "Claude Shannon est considéré comme le père de la théorie de l'information. Ses travaux ont révolutionné les domaines de la communication et de l'informatique.", "narration": "Claude Shannon est considéré comme le père de la théorie de l'information. Ses travaux ont révolutionné les domaines de la communication et de l'informatique.",
"wikipedia": "https://fr.wikipedia.org/wiki/Claude_Shanon" "wikipedia": "https://fr.wikipedia.org/wiki/Claude_Shannon",
"nom_fichier_image":"img/ClaudeShannon_MFO3807.jpg"
}, },
"alan_turing": { "alan_turing": {
"nom": "Alan Turing", "nom": "Alan Turing",
@ -183,7 +187,8 @@
"revenu_passif": 1400, "revenu_passif": 1400,
"evolution": 1, "evolution": 1,
"narration": "Alan Turing était un mathématicien et cryptanalyste britannique, célèbre pour son travail sur la machine de Turing, une base fondamentale pour la conception des ordinateurs modernes.", "narration": "Alan Turing était un mathématicien et cryptanalyste britannique, célèbre pour son travail sur la machine de Turing, une base fondamentale pour la conception des ordinateurs modernes.",
"wikipedia": "https://fr.wikipedia.org/wiki/Alan_Turing" "wikipedia": "https://fr.wikipedia.org/wiki/Alan_Turing",
"nom_fichier_image":"img/Alan_Turing_(1912-1954)_in_1936_at_Princeton_University.jpg"
}, },
"maragaret_hamilton": { "maragaret_hamilton": {
"nom": "Margaret Hamilton", "nom": "Margaret Hamilton",
@ -191,7 +196,8 @@
"revenu_passif": 7800, "revenu_passif": 7800,
"evolution": 2, "evolution": 2,
"narration": "Margaret Hamilton est une informaticienne qui a dirigé l'équipe de développement logiciel pour la mission Apollo. Elle est connue pour avoir écrit le code qui a permis de poser l'homme sur la Lune.", "narration": "Margaret Hamilton est une informaticienne qui a dirigé l'équipe de développement logiciel pour la mission Apollo. Elle est connue pour avoir écrit le code qui a permis de poser l'homme sur la Lune.",
"wikipedia": "https://fr.wikipedia.org/wiki/Margaret_Hamilton" "wikipedia": "https://fr.wikipedia.org/wiki/Margaret_Hamilton_(scientifique)",
"nom_fichier_image":"img/330px-Margaret_Hamilton_-_restoration.jpg"
}, },
"tim_berners_lee": { "tim_berners_lee": {
"nom": "Tim Berner-Lee", "nom": "Tim Berner-Lee",
@ -199,7 +205,8 @@
"revenu_passif": 44000, "revenu_passif": 44000,
"evolution": 2, "evolution": 2,
"narration": "Tim Berners-Lee est l'inventeur du World Wide Web. Son travail a permis de rendre Internet accessible et compréhensible pour le grand public.", "narration": "Tim Berners-Lee est l'inventeur du World Wide Web. Son travail a permis de rendre Internet accessible et compréhensible pour le grand public.",
"wikipedia": "https://fr.wikipedia.org/wiki/Tim_Berners-Lee" "wikipedia": "https://fr.wikipedia.org/wiki/Tim_Berners-Lee",
"nom_fichier_image":"img/390px-Tim_Berners-Lee_closeup.jpg"
}, },
"dennis_ritchie": { "dennis_ritchie": {
"nom": "Dennis Ritchie", "nom": "Dennis Ritchie",
@ -207,7 +214,8 @@
"revenu_passif": 260000, "revenu_passif": 260000,
"evolution": 2, "evolution": 2,
"narration": "Dennis Ritchie était un informaticien américain, co-créateur du langage de programmation C et du système d'exploitation UNIX, qui sont devenus des fondations de l'informatique moderne.", "narration": "Dennis Ritchie était un informaticien américain, co-créateur du langage de programmation C et du système d'exploitation UNIX, qui sont devenus des fondations de l'informatique moderne.",
"wikipedia": "https://fr.wikipedia.org/wiki/Dennis_Ritchie" "wikipedia": "https://fr.wikipedia.org/wiki/Dennis_Ritchie",
"nom_fichier_image":"img/390px-Dennis_Ritchie_2011.jpg"
}, },
"linus_torvald": { "linus_torvald": {
"nom": "Linus Torvald", "nom": "Linus Torvald",
@ -215,7 +223,8 @@
"revenu_passif": 1600000, "revenu_passif": 1600000,
"evolution": 3, "evolution": 3,
"narration": "Linus Torvalds est le créateur de Linux, un noyau de système d'exploitation open-source qui est devenu la base de nombreuses distributions utilisées dans des serveurs, des ordinateurs personnels et des appareils mobiles.", "narration": "Linus Torvalds est le créateur de Linux, un noyau de système d'exploitation open-source qui est devenu la base de nombreuses distributions utilisées dans des serveurs, des ordinateurs personnels et des appareils mobiles.",
"wikipedia": "https://fr.wikipedia.org/wiki/Linus_Torvalds" "wikipedia": "https://fr.wikipedia.org/wiki/Linus_Torvalds",
"nom_fichier_image":"img/LinuxCon_Europe_Linus_Torvalds_03_(cropped).jpg"
} }
} }
} }

View file

@ -23,7 +23,7 @@
} }
@keyframes PluieConfetti { @keyframes pluieConfetti {
0% { 0% {
transform: translateY(-100px) rotate(0deg); transform: translateY(-100px) rotate(0deg);
opacity: 1; opacity: 1;
@ -38,7 +38,7 @@
position: absolute; position: absolute;
width: 10px; width: 10px;
height: 20px; height: 20px;
animation: confettiFall 5s linear infinite; animation: pluieConfetti 5s linear infinite;
opacity: 0; opacity: 0;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

BIN
img/George_Boole_color.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -1,21 +1,10 @@
class Collegue{ class Collegue{
constructor(nom) { constructor(json) {
this.nom = nom this.props = json
}
async chargerDepuisBdd() {
let data = await fetch("../bdd/arbre.json")
data = await data.json()
this.props = data["collegues"][this.nom]
this.nom = this.props.nom this.nom = this.props.nom
this.cout = this.props.cout this.cout = this.props.cout
this.boost = this.props.boost this.boost = this.props.boost
this.revenu_passif = this.props.revenu_passif this.revenu_passif = this.props.revenu_passif
} }
afficherAnimationDebloquage(){
// animation sympathique lorsque l'on achète un personnage
}
} }

View file

@ -47,15 +47,9 @@ async function remplirMagasinTechnologies(){
const test = document.createElement("td") const test = document.createElement("td")
const btn_acheter = document.createElement("button") const btn_acheter = document.createElement("button")
// stoquage temporaire de la clé JSON correspondant à la technologie à débloquer
// pour éviter de référencer key, qui va sauter sur sa valeur finale
let tmp = key
let t = new Technologie(el)
let t = new Technologie(tmp)
// charge les propriétés de la technologie depuis la bdd sans mettre à jour le style directement après
await t.chargerDepuisBdd(false)
/* fonction qui va s'activer lorsqu'on achète l'objet*/ /* fonction qui va s'activer lorsqu'on achète l'objet*/
btn_acheter.addEventListener("click", (event) =>{ btn_acheter.addEventListener("click", (event) =>{
@ -172,14 +166,9 @@ async function remplirMagasinCollegues(){
const action = document.createElement("td") const action = document.createElement("td")
const btn_acheter = document.createElement("button") const btn_acheter = document.createElement("button")
// stoquage temporaire de la clé JSON correspondant à la technologie à débloquer
// pour éviter de référencer key, qui va sauter sur sa valeur finale
let tmp = key
let c = new Collegue(el)
let c = new Collegue(tmp)
// charge les propriétés de la technologie depuis la bdd sans mettre à jour le style directement après
await c.chargerDepuisBdd()
/* fonction qui va s'activer lorsqu'on achète l'objet*/ /* fonction qui va s'activer lorsqu'on achète l'objet*/
btn_acheter.addEventListener("click", (event) =>{ btn_acheter.addEventListener("click", (event) =>{
@ -200,11 +189,6 @@ async function remplirMagasinCollegues(){
// PLUIE DE CONFETTTIIII // PLUIE DE CONFETTTIIII
genererConfetti() genererConfetti()
// finalement, on lui débit son compte de points tel un vendeur de voitures
score -= c.cout
const score_aff = document.getElementById("score_affichage")
score_aff.innerText="SCORE : " + score
// recache l'image après 6 secondes et lance la narration // recache l'image après 6 secondes et lance la narration
setTimeout(() => { setTimeout(() => {
@ -220,13 +204,6 @@ async function remplirMagasinCollegues(){
// on ajoute l'amélioration dans l'abre des compétences débloquées // on ajoute l'amélioration dans l'abre des compétences débloquées
sacado[key] = 1 sacado[key] = 1
// on change le futur cout dans le tableau
document.getElementById("case_cout_"+key).innerText = Number(c.cout * (1.1)**sacado[key]).toFixed(1)
// augmentation du boost d'incrément
revenu_passif += c.revenu_passif
// incrémente le score implicite d'evolution pour permettre à la prochaine amelioration de s'afficher // incrémente le score implicite d'evolution pour permettre à la prochaine amelioration de s'afficher
evolution_coll += 1 evolution_coll += 1
@ -235,6 +212,18 @@ async function remplirMagasinCollegues(){
sacado[key] += 1 sacado[key] += 1
} }
// augmentation du boost d'incrément
revenu_passif += c.revenu_passif
// finalement, on lui débit son compte de points tel un vendeur de voitures
score -= c.cout
const score_aff = document.getElementById("score_affichage")
score_aff.innerText="SCORE : " + score
// on change le futur cout dans le tableau
document.getElementById("case_cout_"+key).innerText = Number(c.cout * (1.1)**sacado[key]).toFixed(1)
}else{ }else{
// PAS ASSEZ RICHE !!!!! // PAS ASSEZ RICHE !!!!!
ouvrirAlerte("PAS ASSEZ RICHE !!!!!!!!!!!!") ouvrirAlerte("PAS ASSEZ RICHE !!!!!!!!!!!!")

View file

@ -1,17 +1,9 @@
class Technologie{ class Technologie{
constructor(nom) { constructor(json) {
this.nom = nom this.props = json
} this.cout = this.props.cout
this.boost = this.props.boost
async chargerDepuisBdd(style) { this.nom = this.props.nom
let data = await fetch("../bdd/arbre.json")
data = await data.json()
this.props = data["technologies"][this.nom];
this.cout = this.props.cout;
this.boost = this.props.boost;
if (style) {
this.appliquerAmeliorationStyle();
}
} }
appliquerAmeliorationStyle(){ appliquerAmeliorationStyle(){

View file

@ -44,6 +44,7 @@ XHTML5
- arreter de fetch quand on instancie une classe et passer le dict en argument direct - arreter de fetch quand on instancie une classe et passer le dict en argument direct
- ne faire apparaitre les header du tableau qu'au premier clic - ne faire apparaitre les header du tableau qu'au premier clic
- faire une fonction qui en fonction de la puissance de 10 troncature le nb et met "milions", "quintilions"... - faire une fonction qui en fonction de la puissance de 10 troncature le nb et met "milions", "quintilions"...
- mettre un palier où des photos aparaissent à coté de chaque collegue dans le magasin
## Idée de con ## Idée de con
- Quand on débloque la balise vidéo , on rick roll le prof - Quand on débloque la balise vidéo , on rick roll le prof