plein d'améliorations main mtn ça marche

This commit is contained in:
Theo Mougnibas 2024-12-10 16:18:28 +01:00
parent 3e82427926
commit cfc15b84d8
4 changed files with 64 additions and 23 deletions

View file

@ -9,10 +9,10 @@
<link rel="stylesheet" href="./css/alerte.css">
</head>
<body>
<script src="./js/intro.js" deref></script>
<script src="./js/intro.js" defer></script>
<script src="./js/element.js"></script>
<script src="./js/technologie.js"></script>
<script src="./js/main.js"></script>
<script src="./js/main.js" defer></script>
<script src="./js/alerte.js"></script>
<script src="./js/collegue.js"></script>

View file

@ -10,6 +10,7 @@ class Collegue{
this.nom = this.props.nom
this.cout = this.props.cout
this.boost = this.props.boost
this.revenu_passif = this.props.revenu_passif
}
afficherAnimationDebloquage(){

View file

@ -1,5 +1,3 @@
let score = 0
document.addEventListener("click",firstClick)
@ -22,14 +20,8 @@ function firstClick(){
document.removeEventListener("click",firstClick)
augmenterScorePassivement()
}
function scoreCount(){
const score_aff = document.getElementById("score_affichage")
score += boost
score_aff.innerText="SCORE : " + score
// check refresh la table magasin pour afficher une amélioration si un palier est atteint
remplirMagasinTechnologies()
remplirMagasinCollegues()
}

View file

@ -1,3 +1,5 @@
let score = 0
// stoque les ameliorations deja disponibles dans le magasin pour ne pas le faire clignoter
let magasin_tech = {}
@ -13,6 +15,10 @@ let evolution_coll = 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
let revenu_passif = 0
async function remplirMagasinTechnologies(){
@ -138,22 +144,29 @@ async function remplirMagasinCollegues(){
// ne va pas s'embeter à proecess si on a deja acheté l'amelioration
if(!sacado[key] && !magasin_coll[key]){
el = collegues[key]
// calcul du cout en fonction du nombre de collegue de ce type déjà acheté
if(key in sacado){
el.cout = el.cout * (1.1)**sacado[key]
}
const tr = document.createElement("tr")
const case_nom = document.createElement("td")
case_nom.innerText = el.nom
const case_boost = document.createElement("td")
case_boost.innerText = el.boost
case_boost.innerText = el.revenu_passif
const case_cout = document.createElement("td")
case_cout.innerText = el.cout
case_cout.id = "case_cout_"+key
// case contenant un lien vers la page wikipédia du personnage
const case_wiki = document.createElement("td")
let a = document.createElement("a")
a.href = el.wikipedia
a.innerText = el.nom
case_cout.appendChild(a)
case_wiki.appendChild(a)
const test = document.createElement("td")
@ -174,11 +187,8 @@ async function remplirMagasinCollegues(){
// ne laisse acheter que si on a l'argent
if(score >= c.cout){
// on améliore le style de la page :)
c.appliquerAmeliorationStyle()
// et on ajouter l'amélioration dans l'abre des compétences débloquées
sacado[key] = true
// finalement, on lui débit son compte de points tel un vendeur de voitures
@ -186,10 +196,23 @@ async function remplirMagasinCollegues(){
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 "+c.boost+" points !!")
// narration seulement si c'est la première fois qu'on achète
if(!(key in sacado)){
ouvrirAlerte("Vous avez débloqué "+ c.nom+" !!"+collegues[key]["narration"])
ouvrirAlerte("Incrémentation de la rentabilité passive de "+c.revenu_passif+" points !!")
// et on ajoute l'amélioration dans l'abre des compétences débloquées
sacado[key] = 1
}else{
// on incrémente la qtt d'objet dans son sacado
sacado[key] += 1
}
boost += c.boost
// on change le futur cout dans le tableau
document.getElementById("case_cout_"+key).innerText = c.cout*(1.1)**sacado[key]
// 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
evolution_coll += 1
@ -205,7 +228,6 @@ async function remplirMagasinCollegues(){
// n'afficher l'amélioration que si le score est assez élevé
if(evolution_coll === parseInt(c.props.evolution)){
ouvrirAlerte("Vous avez débloqué "+ c.nom+" !!"+collegues[key]["narration"])
// met à jour le contenu du magasin
// pour ne pas re-afficher cette ligne et éviter un clignotement
magasin_coll[key] = true
@ -227,3 +249,29 @@ async function remplirMagasinCollegues(){
}
}
// fonction appelée à chaque clic de souris
function scoreCount(){
const score_aff = document.getElementById("score_affichage")
score += boost
score_aff.innerText="SCORE : " + Number(score).toFixed(1)
// check refresh la table magasin pour afficher une amélioration si un palier est atteint
remplirMagasinTechnologies()
remplirMagasinCollegues()
}
// revenu passif à chaque seconde
function augmenterScorePassivement(){
const score_aff = document.getElementById("score_affichage")
score += revenu_passif
console.log("nv score : ",score)
score_aff.innerText="SCORE : " + Number((score).toFixed(1));
setTimeout(() => {
augmenterScorePassivement()
}, 1000)
}