This commit is contained in:
Justine Beau 2024-12-10 15:02:29 +01:00
commit 5e19d170c3
6 changed files with 96 additions and 246 deletions

View file

@ -6,7 +6,7 @@
"button": {
}
},
"boost": 30,
"boost": 2,
"cout": 10,
"borne": 5,
"evolution":0,
@ -21,8 +21,8 @@
}
},
"boost": 10,
"cout": 10,
"boost": 5,
"cout": 100,
"borne": 5,
"evolution":1,
"css_id": "t2.css",
@ -37,7 +37,7 @@
}
},
"boost": 10,
"cout": 10,
"cout": 1000,
"borne": 10,
"evolution":2,
"css_id": "t3.css",
@ -51,8 +51,8 @@
}
},
"boost": 10,
"cout": 10,
"boost": 20,
"cout": 10000,
"borne": 10,
"evolution":3,
"css_id": "t4.css",
@ -66,8 +66,8 @@
}
},
"boost": 10,
"cout": 10,
"boost": 30,
"cout": 100000,
"borne": 10,
"evolution":3,
"css_id": "t5.css",
@ -81,8 +81,8 @@
}
},
"boost": 10,
"cout": 10,
"boost": 40,
"cout": 1000000,
"borne": 10,
"evolution":4,
"css_id": "t6.css",
@ -96,8 +96,8 @@
}
},
"boost": 10,
"cout": 10,
"boost": 50,
"cout": 10000000,
"borne": 10,
"evolution":5,
"css_id": "t7.css",
@ -111,8 +111,8 @@
}
},
"boost": 10,
"cout": 10,
"boost": 60,
"cout": 1000000000,
"borne": 10,
"evolution":6,
"css_id": "t8.css",
@ -126,8 +126,8 @@
}
},
"boost": 10,
"cout": 10,
"boost": 70,
"cout": 10000000000,
"borne": 10,
"evolution":7,
"css_id": "t9.css",
@ -138,53 +138,53 @@
"collegues": {
"ada_lovelace": {
"nom": "Ada Lovelace",
"cout": 10,
"revenu_passif": 10
"cout": 15,
"revenu_passif": 0.1
},
"george_boole": {
"nom": "George Boole",
"cout": 10,
"revenu_passif": 10
"cout": 100,
"revenu_passif": 1
},
"grace_hopper": {
"nom": "Grace Hopper",
"cout": 10,
"revenu_passif": 10
"cout": 1100,
"revenu_passif": 8
},
"jean_bartik": {
"nom": "Jean Bartik",
"cout": 10,
"revenu_passif": 10
"cout": 12000,
"revenu_passif": 47
},
"claude_shannon": {
"nom": "Claude Shannon",
"cout": 10,
"revenu_passif": 10
"cout": 130000,
"revenu_passif": 260
},
"alan_turing": {
"nom": "Alan Turing",
"cout": 10,
"revenu_passif": 10
"cout": 1400000,
"revenu_passif": 1400
},
"maragaret_hamilton": {
"nom": "Margaret Hamilton",
"cout": 10,
"revenu_passif": 10
"cout": 20000000,
"revenu_passif": 7800
},
"tim_berners_lee": {
"nom": "Tim Berner-Lee",
"cout": 10,
"revenu_passif": 10
"cout": 100000000,
"revenu_passif": 44000
},
"dennis_ritchie": {
"nom": "Dennis Ritchie",
"cout": 10,
"revenu_passif": 10
"cout": 500000000,
"revenu_passif": 260000
},
"linus_torvald": {
"nom": "Linus Torvald",
"cout": 10,
"revenu_passif": 10
"cout": 1000000000,
"revenu_passif": 1600000
}
}
}

View file

@ -1,195 +0,0 @@
{
"technologies": {
"html": {
"nom": "HTML",
"elements": {
"button": {
"nom": "button",
"cout": 30,
"boost": 10,
"borne": 20
}
},
"boost": 30,
"cout": 10,
"borne": 5,
"evolution":0,
"css_id": "t1.css",
"narration": "C'est le début de l'aventure web ! HTML, le langage de base, permet de structurer des pages avec des titres, des paragraphes, des listes, et surtout des boutons pour interagir avec les utilisateurs. Vous avez posé les premières pierres de l'Internet. Le web commence tout juste à s'ouvrir au monde."
},
"html+": {
"nom": "HTML+",
"elements": {
"button": {
}
},
"boost": 10,
"cout": 10,
"borne": 5,
"evolution":1,
"css_id": "t2.css",
"narration": "L'HTML+ améliore ce que vous avez construit. Plus de possibilités pour styliser votre page, et le pouvoir d'ajouter des formulaires et des éléments interactifs. Le web devient plus attrayant et engageant, prêt à accueillir un public plus large !"
},
"html_2.0": {
"nom": "HTML 2.0",
"elements": {
"button": {
}
},
"boost": 10,
"cout": 10,
"borne": 10,
"evolution":2,
"css_id": "t3.css",
"narration": "HTML 2.0 est arrivé ! Ce n'est pas juste une mise à jour, c'est une révolution. Avec cette version, vous pouvez organiser vos pages avec des tableaux et ajouter des formulaires interactifs. Le web devient un lieu où l'on peut entrer et interagir, et non seulement lire. Bienvenue dans l'ère de l'interaction !"
},
"html_3.2": {
"nom": "HTML 3.2",
"elements": {
"button": {
}
},
"boost": 10,
"cout": 10,
"borne": 10,
"evolution":3,
"css_id": "t4.css",
"narration": "L'HTML 3.2 marque un tournant décisif dans l'histoire du web. Grâce à l'introduction de la balise `<img>`, vous pouvez désormais ajouter des images à vos pages ! Le web devient visuel et prend vie avec des images. Vous êtes sur le point de changer la façon dont les utilisateurs perçoivent Internet."
},
"html_4.01": {
"nom": "HTML 4.01",
"elements": {
"button": {
}
},
"boost": 10,
"cout": 10,
"borne": 10,
"evolution":3,
"css_id": "t5.css",
"narration": "HTML 4.01 a ouvert la voie à une nouvelle ère de personnalisation du design web. L'ajout des feuilles de style CSS a permis de donner libre cours à la créativité. Vous avez désormais un contrôle total sur l'apparence de vos pages, et le web devient plus dynamique et élégant."
},
"xhtml_4.01": {
"nom": "XHTML 4.01",
"elements": {
"button": {
}
},
"boost": 10,
"cout": 10,
"borne": 10,
"evolution":4,
"css_id": "t6.css",
"narration": "XHTML 4.01 améliore encore la norme HTML, avec une plus grande rigueur et des règles de codage strictes. Vous commencez à créer des pages web plus robustes et accessibles, prêtes à supporter un contenu riche et diversifié. Le web devient plus stable et professionnel."
},
"xhtml_1.0": {
"nom": "XHTML 1.0",
"elements": {
"button": {
}
},
"boost": 10,
"cout": 10,
"borne": 10,
"evolution":5,
"css_id": "t7.css",
"narration": "Avec XHTML 1.0, vous atteignez un nouveau niveau de qualité. Vous écrivez un code plus propre et plus cohérent, et l'expérience utilisateur s'en trouve améliorée. Les pages se chargent plus rapidement et sont plus fiables. La perfection est en marche !"
},
"html_5": {
"nom": "HTML 5",
"elements": {
"button": {
}
},
"boost": 10,
"cout": 10,
"borne": 10,
"evolution":6,
"css_id": "t8.css",
"narration": "L'HTML 5 débarque ! C'est l'arrivée des vidéos et de l'audio sur le web. Grâce à la balise `<video>`, vous pouvez intégrer des vidéos directement dans vos pages, et la balise `<audio>` permet de diffuser des sons. Vous redéfinissez l'expérience multimédia sur Internet."
},
"xhtml_5": {
"nom": "XHTML 5",
"elements": {
"button": {
}
},
"boost": 10,
"cout": 10,
"borne": 10,
"evolution":7,
"css_id": "t9.css",
"narration": "XHTML 5 vous permet d'aller encore plus loin dans l'interactivité. Grâce à l'introduction des balises HTML5, vous pouvez gérer des éléments multimédia comme des vidéos, des sons, et même des animations interactives avec le JavaScript intégré. Le web devient une plateforme riche et immersive, tout est possible !"
}
},
"collegues": {
"ada_lovelace": {
"nom": "Ada Lovelace",
"cout": 10,
"revenu_passif": 10
},
"george_boole": {
"nom": "George Boole",
"cout": 10,
"revenu_passif": 10
},
"grace_hopper": {
"nom": "Grace Hopper",
"cout": 10,
"revenu_passif": 10
},
"jean_bartik": {
"nom": "Jean Bartik",
"cout": 10,
"revenu_passif": 10
},
"claude_shannon": {
"nom": "Claude Shannon",
"cout": 10,
"revenu_passif": 10
},
"alan_turing": {
"nom": "Alan Turing",
"cout": 10,
"revenu_passif": 10
},
"maragaret_hamilton": {
"nom": "Margaret Hamilton",
"cout": 10,
"revenu_passif": 10
},
"tim_berners_lee": {
"nom": "Tim Berner-Lee",
"cout": 10,
"revenu_passif": 10
},
"dennis_ritchie": {
"nom": "Dennis Ritchie",
"cout": 10,
"revenu_passif": 10
},
"linus_torvald": {
"nom": "Linus Torvald",
"cout": 10,
"revenu_passif": 10
}
}
}

View file

@ -70,4 +70,7 @@ table.table_magasin{
margin-top: 10px;
margin-bottom: 10px;
video{
visibility: visible;
}

View file

@ -1,8 +1,29 @@
// prévention de l'empilement d'alertes, qui entrainerait la suppression de tous les messages sauf le dernier
// Pour cela, on utilise une file et une fonction asynchrone qui boucle et vide la file alerte par alerte
let file_alertes = []
function ouvrirAlerte(message){
file_alertes.push(message)
// si c'est la seule alerte en attente, on l'affiche
if(file_alertes.length == 1 ) {
afficherAlerte(file_alertes[0])
}
// sinon, elle sera automatiquement affichée lors de la fermeture de l'alerte juste avant dans la file
}
// Fonction pour afficher une alerte mais plus jolie que celle par défaut
function ouvrirAlerte(message) {
function afficherAlerte(message) {
// on signale une alerte en train d'être visionnée
flag = true
// on prend les elements
var modal = document.getElementById('alerte_jolie');
var messageElement = document.getElementById('message_alerte_jolie');
let modal = document.getElementById('alerte_jolie');
var messageElement = Ldocument.getElementById('message_alerte_jolie');
// Mettre le message
messageElement.textContent = message;
@ -19,4 +40,13 @@ function fermerAlerte() {
// et on cache en changeant la propriété css
modal.style.display = "none";
// enlève notre élément de la file
file_alertes.shift()
// affiche récursivement les autres alertes en attentes
if(file_alertes.length > 0){
afficherAlerte(file_alertes[0])
}
}

View file

@ -30,7 +30,7 @@ function firstClick(){
function scoreCount(){
const score_aff = document.getElementById("score_affichage")
score += 1
score += boost
score_aff.innerText="SCORE : " + score
// check refresh la table magasin pour afficher une amélioration si un palier est atteint

View file

@ -8,6 +8,9 @@ let sacado = {}
// premet de ne pas laisser le joueur acheter html 5 si il n'a pas débloqué html 1.0 etc..
let evolution = 0
// variable qui permet d'augmenter la taille de l'incrément du score pour chaque clic, en fonction de la technlologie déloquée
let boost = 1
async function remplirMagasin(){
@ -26,12 +29,12 @@ async function remplirMagasin(){
const tr = document.createElement("tr")
const nom = document.createElement("td")
nom.innerText = el.nom
const boost = document.createElement("td")
boost.innerText = el.boost
const cout = document.createElement("td")
cout.innerText = el.cout
const case_nom = document.createElement("td")
case_nom.innerText = el.nom
const case_boost = document.createElement("td")
case_boost.innerText = el.boost
const case_cout = document.createElement("td")
case_cout.innerText = el.cout
const test = document.createElement("td")
const btn_acheter = document.createElement("button")
@ -70,6 +73,15 @@ async function remplirMagasin(){
const score_aff = document.getElementById("score_affichage")
score_aff.innerText="SCORE : " + score
// augmentation du boost d'incrément
ouvrirAlerte("Incrémentation de la rentabilité de tes clicks de "+t.boost+" points !!")
if(t.props.evolution == 0){
boost += t.boost -1 // car sinon, le premier boost ne va pas entrainer un nombre rond de points par click :)
}else{
boost += t.boost
}
// incrémente le score implicite d'evolution pour permettre à la prochaine amelioration de s'afficher
evolution += 1
@ -93,9 +105,9 @@ async function remplirMagasin(){
test.appendChild(btn_acheter)
tr.appendChild(nom)
tr.appendChild(boost)
tr.appendChild(cout)
tr.appendChild(case_nom)
tr.appendChild(case_boost)
tr.appendChild(case_cout)
tr.appendChild(test)
table.appendChild(tr)