Comment verifier si l emplacement d un objet

Signaler
Messages postés
11
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
25 avril 2005
-
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
-
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??

Merci!

7 réponses

Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
4
Je dirais ... si les trois personnages ont chacun l'équivalent de 3,5 cuves!!!

Sans code ou plus de précisions, difficile d'en dire plus.

A+, Ghislain
Messages postés
11
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
25 avril 2005

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?
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
4
oui
Messages postés
11
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
25 avril 2005

Et comment faire? Est ce que tu pourrais me dire quels methodes utilisees??
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
4
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>

"cuve1" valeur ="1">

"cuve2" valeur="1">

"cuve3" valeur="1">

"cuve4" valeur="1">

"cuve5" valeur="1">

"cuve6" valeur="1">

"cuve7" valeur="1">

"cuve8" valeur="0.5">

"cuve9" valeur="0.5">

"cuve10" valeur="0.5">

"cuve11" valeur="0.5">

"cuve12" valeur="0.5">

"cuve13" valeur="0.5">

"cuve14" valeur="0.5">

"cuve15" valeur="0">

"cuve16" valeur="0">

"cuve17" valeur="0">

"cuve18" valeur="0">

"cuve19" valeur="0">

"cuve20" valeur="0">

"cuve21" valeur="0">

</html>

A+, Ghislain
Messages postés
11
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
25 avril 2005

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>


<map name="Map2">
]
</map>



<map name="Map3">

</map>



Je te remercie pour ton aide!
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
4
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>

<form action ="">

"person" id="person1" style="width:600px;height:120px; background:url(person1.gif)">

"cuve" id="cuve2" valeur="1">

"cuve" id="cuve3" valeur="1">

"cuve" id="cuve8" valeur="0.5">

"cuve" id="cuve15" valeur="0">

"cuve" id="cuve16" valeur="0">

"cuve" id="cuve17" valeur="0">

"person" id="person2" style="width:600px;height:120px; background:url(person2.gif)">

"cuve" id="cuve4" valeur="1">

"cuve" id="cuve5" valeur="1">

"cuve" id="cuve9" valeur="0.5">

"cuve" id="cuve10" valeur="0.5">

"cuve" id="cuve11" valeur="0.5">

"cuve" id="cuve18" valeur="0">

"cuve" id="cuve19" valeur="0">

"person" id="person3" style="width:600px;height:120px; background:url(person3.gif)">

"cuve" id="cuve6" valeur="1">

"cuve" id="cuve7" valeur="1">

"cuve" id="cuve12" valeur="0.5">

"cuve" id="cuve13" valeur="0.5">

"cuve" id="cuve14" valeur="0.5">

"cuve" id="cuve20" valeur="0">

"cuve" id="cuve21" valeur="0">

"cuve" id="cuve1" valeur="1">

</form>

</html>

A+, Ghislain