brouillon8
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| brouillon8 [2026/04/22 20:22] – nanaki | brouillon8 [2026/04/28 19:04] (Version actuelle) – nanaki | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | Essai 3 | ||
| + | < | ||
| + | < | ||
| + | <meta charset=" | ||
| + | < | ||
| - | <tr class=" | + | <style> |
| - | <td class=" | + | body { font-family: Arial; background:# |
| - | </tr> | + | h1,h2 { color: |
| + | .box { border:1px solid gold; padding: | ||
| + | select,input { margin: | ||
| + | button { padding: | ||
| + | </style> | ||
| + | </head> | ||
| - | <tr class=" | + | <body> |
| - | <td class=" | + | |
| - | </tr> | + | |
| - | <tr class=" | + | <h1>Simulateur</h1> |
| - | <td class=" | + | |
| - | </tr> | + | |
| - | <tr class=" | + | <div class=" |
| - | <td class="race-Elfe">Elfe</ | + | Race |
| - | </tr> | + | <select id=" |
| + | </div> | ||
| - | <tr class=" | + | <div class=" |
| - | <td class="race-Communs">Communs</ | + | Stats |
| - | </tr> | + | <div id="stats"></ |
| + | </div> | ||
| - | <!-- ===== NIVEAU 3 ===== --> | + | <div class=" |
| + | Équipement< | ||
| + | Tête <select id=" | ||
| + | Cou <select id=" | ||
| + | Dos <select id=" | ||
| + | Main droite <select id=" | ||
| + | Main gauche <select id=" | ||
| + | Corps <select id=" | ||
| + | Anneau <select id=" | ||
| + | Pieds <select id=" | ||
| + | </div> | ||
| - | <tr class=" | + | <div class=" |
| + | Compétences | ||
| + | <div id="skills"></ | ||
| + | </div> | ||
| - | <tr class="Communs"> | + | <button onclick="calculate()"> |
| - | <td class="race-Communs">Communs</ | + | <button onclick="exportWiki()">Export Wiki</button> |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | <pre id="result"></ |
| - | <td class=" | + | |
| - | </tr> | + | |
| - | <tr class=" | + | <script> |
| - | <td class=" | + | |
| - | </tr> | + | |
| - | <tr class=" | + | // ===== DATA ===== |
| - | <td class=" | + | |
| - | </tr> | + | |
| - | <tr class=" | + | const races = { |
| - | <td class=" | + | Elfe: |
| - | </tr> | + | Nain: |
| + | Géant: | ||
| + | Olympien: | ||
| + | HS: | ||
| + | }; | ||
| - | <tr class=" | ||
| - | <td class=" | ||
| - | </tr> | ||
| - | <tr class=" | + | const costTable |
| - | <td class=" | + | cc: |
| - | </tr> | + | pv:[4,2,1], mvt: |
| + | }; | ||
| - | <tr class="HS"> | + | const equipments |
| - | <td class="race-HS"> | + | {name:"Lance elfe", |
| - | </tr> | + | {name:"Targe", |
| + | {name:" | ||
| + | {name:" | ||
| + | ]; | ||
| - | <tr class="Géant"> | + | const skills |
| - | <td class="race-Géant"> | + | |
| - | </tr> | + | |
| - | <tr class=" | + | // ===== DOM ===== |
| - | <td class="race-Olympien"> | + | const raceSelect |
| - | </tr> | + | const statsDiv = document.getElementById(" |
| + | const skillsDiv = document.getElementById(" | ||
| - | <tr class="Géant"> | + | const head = document.getElementById("head"); |
| - | <td class="race-Géant"> | + | const neck = document.getElementById("neck"); |
| - | </tr> | + | const cape = document.getElementById(" |
| + | const rightHand = document.getElementById(" | ||
| + | const leftHand = document.getElementById(" | ||
| + | const body = document.getElementById(" | ||
| + | const ring = document.getElementById(" | ||
| + | const feet = document.getElementById(" | ||
| - | <tr class=" | + | // ===== INIT ===== |
| - | <td class=" | + | |
| - | </tr> | + | |
| - | <!-- ===== NIVEAU 4 ===== --> | + | // race |
| + | for(let r in races){ | ||
| + | raceSelect.innerHTML += `<option> | ||
| + | } | ||
| - | <tr class="Nain"> | + | // stats |
| - | <td class="race-Nain">Nain</ | + | for(let s in costTable){ |
| - | </tr> | + | statsDiv.innerHTML += `${s} <input type="number" |
| + | } | ||
| - | <tr class="Communs"> | + | // skills |
| - | < | + | skills.forEach(s=> |
| - | </tr> | + | skillsDiv.innerHTML += `<label>< |
| + | }); | ||
| - | <tr class=" | + | // slots reset |
| - | <td class="race-Communs">Communs</td>< | + | function resetSlots(){ |
| - | </tr> | + | [head, |
| + | sel.innerHTML = `<option value=""> | ||
| + | }); | ||
| + | } | ||
| + | // remplir équipements | ||
| + | function fillEquip(){ | ||
| + | let r = raceSelect.value; | ||
| - | <tr class=" | + | equipments.forEach((e, |
| - | <td class="race-Communs"> | + | if(e.race!=="all" |
| - | <td>2 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | if(e.slot==="weapon"||e.slot===" |
| - | <td class="race-Communs">Communs</td>< | + | if(e.slot===" |
| - | <td>2 MP</td>< | + | if(e.slot===" |
| - | <td>Avec une arme de jet, fait un tir en étant au contact avec -8 pour toucher</td> | + | }); |
| - | < | + | } |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | // update |
| - | <td class=" | + | raceSelect.addEventListener("change", ()=>{ |
| - | <td>2 MP</ | + | resetSlots(); |
| - | < | + | fillEquip(); |
| - | < | + | }); |
| - | </tr> | + | |
| - | <tr class=" | + | resetSlots(); |
| - | <td class=" | + | fillEquip(); |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class=" | + | // 2 mains |
| - | <td class=" | + | rightHand.addEventListener(" |
| - | <td>2 MP</ | + | let v = rightHand.value; |
| - | < | + | if(v==="" |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | let item = equipments[v]; |
| - | <td class="race-Communs"> | + | if(item.slot==="weapon2h"){ |
| - | <td>2 MP</ | + | leftHand.value="" |
| - | < | + | leftHand.disabled=true; |
| - | < | + | }else{ |
| - | </tr> | + | leftHand.disabled=false; |
| + | } | ||
| + | }); | ||
| - | < | + | // ===== CALCUL |
| + | function calculate(){ | ||
| - | <tr class=" | + | let char = {...races[raceSelect.value]}; |
| - | <td class=" | + | let total = 0; |
| - | <td>4 MP, 1 Mvt</ | + | |
| - | < | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class=" | + | // stats |
| - | <td class=" | + | for(let s in costTable){ |
| - | <td>6 MP</ | + | let v = parseInt(document.getElementById(s).value)||0; |
| - | < | + | char[s]+=v; |
| - | < | + | } |
| - | </tr> | + | |
| - | <tr class=" | + | // equip |
| - | <td class="race-Communs"> | + | [rightHand, |
| - | <td>4 MP</ | + | if(sel.value==="" |
| - | < | + | let e = equipments[sel.value]; |
| - | < | + | for(let stat in e.stats){ |
| - | </tr> | + | char[stat]=(char[stat]||0)+e.stats[stat]; |
| + | } | ||
| + | }); | ||
| - | < | + | // affichage |
| + | result.innerText | ||
| + | } | ||
| - | <tr class=" | + | // ===== EXPORT ===== |
| - | <td class=" | + | function exportWiki(){ |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <!-- ================= NIVEAU 4 ================= --> | + | let txt=" |
| - | + | txt+=" | |
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>X MP, Y Mvt, 1A</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </tr> | + | |
| + | document.querySelectorAll(" | ||
| + | txt+=" | ||
| + | }); | ||
| + | result.innerText=txt; | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
brouillon8.1776882171.txt.gz · Dernière modification : 2026/04/22 20:22 de nanaki
