Merge branch 'main' of https://git.etud.insa-toulouse.fr/mougnibas/projet-clicodrome
This commit is contained in:
commit
5e19d170c3
6 changed files with 96 additions and 246 deletions
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -70,4 +70,7 @@ table.table_magasin{
|
|||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
|
||||
video{
|
||||
visibility: visible;
|
||||
}
|
36
js/alerte.js
36
js/alerte.js
|
@ -1,8 +1,29 @@
|
|||
// Fonction pour afficher une alerte mais plus jolie que celle par défaut
|
||||
// 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 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])
|
||||
}
|
||||
|
||||
}
|
|
@ -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
|
||||
|
|
30
js/main.js
30
js/main.js
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue