cs_samsarra
Messages postés11Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention25 avril 2005
-
21 avril 2005 à 20:16
GhislainLavoie
Messages postés289Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention 3 avril 2008
-
26 avril 2005 à 03:40
Je dois creer un jeu ou l utilisateur doit prendre et deplacer 21 cuves ( 7 pleines, 7 a moitie pleines et 7 vides). L utilisateur doit les partager equitablement a 3 personnages. Pourriez vus m eclairer sur la maniere dont mon programme pourrait savoir si l utilisateur a fait un partage equitable ou pas??
cs_samsarra
Messages postés11Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention25 avril 2005 22 avril 2005 à 10:58
En faite, la solution du partage est:
Personne A: 3 Pleines, 1 a moitie et 3 vides
Personnes B: 2 Pleines, 3 a moitie et 2 vides
Personne C: 2 Pleines, 3 a moitie et 2 vides
Est- ce qu il est possible de creer une zone pour chaque personnage permettant au programme de savoir le nombre de cuves mises par l'utilisateur a cet endroit la?
GhislainLavoie
Messages postés289Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention 3 avril 20083 23 avril 2005 à 18:31
Salut!
C'est que je ne peux pas vraiement t'en dire plus car je ne sait pas quel sorte d'objet sont tes cuves? Des divs qui sont déplacés? Si tu donnerais ton code, ça serait plus facile de te diriger.
En gros ce qui suffit de faire, c'est d'associé aux objets que tu déplaces un attribut qui détermine sa valeur soit :
Cuve pleine : 1
Cuve a moitié : 0.5
Cuve vide : 0
Le total de toutes les cuves sera donc de 10.5 . Après l'attribution de toutes les cuves, il suffit de d'additionner la valeur de chaques cuves pour chaque personnage et pour que le partage soit équitable, le total pour chacun doit être de 3.5.
Exemple de l'objet et la façon d'additionner l'attribut :
<html>
<head>
<title>Untitled</title>
<script type= "text/javascript">
function tester() {
total = 0;
for(var i= 1;i<=21;i++) {
cuve = document.getElementById("cuve"+i);
if (cuve) { alert("Valeur de la cuve"+i+" : "+cuve.getAttribute("valeur"));
total += eval(cuve.getAttribute("valeur"));
}
} alert("Pour un total de : " + total);
} </script>
</head>
cs_samsarra
Messages postés11Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention25 avril 2005 24 avril 2005 à 11:42
Salut!
Je te remercie pour ton exemple, c est exactement ce que je recherchais! Mes images sont bien dans des divs. Comment est ce que je pourrais creer 3 zones pour chacun des personnages afin que la fonction test() verifie le total de cuve pour chacune d entres elles. Est ce que je dois passer par des [
</map>
GhislainLavoie
Messages postés289Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention 3 avril 20083 26 avril 2005 à 03:40
Salut!
Ci-joint un exemple avec la fonction pour tester l'attribution équitable des cuves ainsi qu'une fonction qui te démontre comment inserer la cuve dans la zone d'un personnage. Tu devras bien sur adapter le tout a la sauce que tu as utiliser pour le déplacement de tes cuves.
Mais sans conaître ton code, difficile de t'en dire plus.
<html>
<head>
<title>Untitled</title>
<STYLE type= "text/css">
. cuve {float:left;position:static;left:200px;top:200px;} .person {position:relative;border:1px inset gray;} #cuve1 {position:absolute;top:500px;left:400px;} </STYLE>
<script type ="text/javascript">
function insererCuve()
{ cuveActive = document.getElementById("cuve1");
cuveActive.style.position = "static";
document.getElementById("person1").appendChild(cuveActive);
}
function tester()
{ for(var i =1;i<= 3;i++)
{
person = document.getElementById("person"+i);
if (person)
{ cuves = person.childNodes;
total = 0;
nbcuve = 0;
for (j=0;j<cuves.length;j++)
if (cuves[j].className=="cuve")
{
total + = eval(cuves[j].getAttribute("valeur"));
nbcuve++
} if (total != 3.5 || nbcuve!=7)
{
alert("Le partage des cuves n'est pas équitable!!!");
return;
} } } alert("Bravo!!! l'attribution des cuves est équitable");
} </script>
</head>