Nel programma qui sotto viene eseguita l'istruzione if (x>=1290 || x<=200){dx=-dx}, cioè se
(x>=1290 || x<=200) è true si ha dx=-dx.
Stranamente invece, non viene eseguita l'istruzione if (y>= 550 || y<=10){dy=-dy}, cioè se
(y>= 550 || y<=10) è true non sia dy=-dy, ma dy resta dy.
Dando un valore alla velocità, per es. 10, e un altro all'angolo, per es. 30, la pallina rimbalza tra sinistra(200px) e destra(1290px), ma non rimbalza sotto(top 550px) e va oltre. Lo stesso in alto(top 10).
Per controllare quanto ho detto, in alto ho scritto in due caselle di testo i valori di y(top) e della condizione true o false di (y>= 550 || y<=10).
Desidererei sapere il perché di questa anomalia. Grazie

lanvoel


codice:
<!DOCTYPE html PUBLIC>
<html>
<head>
<script language=JavaScript>
var oggetto;
var intervallo;
   var x=200;var y=250;
   var dx=1;var dy=1;
function avvia()
{
   velo=testo1.value;
   intervallo=window.setInterval("muovi()",velo);
}
function muovi()
{
   oggetto=document.getElementById("para1");
   x=x+dx;
   var alfa=angolo.value;
   dy=dx*Math.tan(alfa*3.14159/180);
   y=y+dy;
          if (x>=1290  || x<=200){dx=-dx}
          if (y>= 550 || y<=10){dy=-dy}
   oggetto.style.position="absolute";
   oggetto.style.top =y;
   oggetto.style.left =x;
testo2.value=y;
testo3.value= (y>= 550 || y<=10);
}  
function ferma1()
{
clearInterval(intervallo);
}
</script
</head>
<body>
controllo valori di y (top)<input type="text" name="testo2" id="testo2" size=25>
controlollo condizione (y>= 550 || y<=10)<input type="text" name="testo3" id="testo3" size=15><br><br>
<input type="button" name="pulsanre1" id="pulsante1" value="avvia" onclick="avvia()"><br> <br>
velocità (alta:1 bassa:200)<br>
<input type="text" name="testo1" id="testo1" size=20><br><br>
angolo di partenza in gradi:<br>
<input type="text" name="angolo" id="angolo" size=10><br><br>
<input type="button" name="pulsante2" id="pulsante2" value="ferma" onclick="ferma1()">
<P style="background:yellow; width:1100; height:550; border:3px red double; position:absolute; left:200px; top:10px;"></P>
<P Style="background:red; width:10px; height:10px; border:3px blue solid; position:absolute; left:200px; top:250px;" id="para1">
</body>
</html>