pero quiero darle los ultimos toque y es que no consigo poner un score o puntuacion cada vez que la bola toque la pala he probado creando una variable llamada con y pasarle el getElementById('scorea'). scorea es un parrafo pero no consigo nada mirar este es el codigo del juego
Código HTML:
Ver original
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"> <head> <title> PelotaLoca </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name = "autor" content = ""/> <meta name = "generator" content = "Notepad++_TopStyle"/> <meta name = "keywords" content = "palabras para posicionarse arriba en buscadores"/> <meta name = "description" content = " javascript"/> <style type="text/css"> *{margin-left:225px; margin-top:125px; padding:0; } body{background-color: black;} #borde{border: solid white 1px; margin-left: -225px; margin-top: -125px; width: 564px; height: 372px;} #fondo{ background-color: black; border: solid black 7px; margin-left: 0px; margin-top: 0px; } #pelota{position: absolute;} #raqueta{position: absolute;} #titulo{margin-top:-90px; position: absolute; margin-left: -255px;} #score{position: absolute; margin-top: 0px; margin-left: 200px;} #scorea{color: red; position: absolute; margin-left: 275px; margin-top: 3px; } #gameover{position: absolute; margin-left: 0px; margin-top: 50px; visibility: hidden;} #boton{position: absolute; margin-top: 150px; margin-left: 135px; visibility: hidden; } </style> <script type="text/javascript"> //he usado substring visto en el manual y tambien viendo ejemplos en google //El script se carga con la pagina window.onload = function() { setInterval(pelotaLoca,1);//funcion que produce el movimiento cada centesimade segundo } //declaracion de varibles var dirHorizontal = 0;//switch o bandera var dirVertical = 1;//switch o bandera var arriba = 0;//var de movimiento var izquierda = 0;//var de movimiento funcion ramdon para que la bola se coloque en diferentes posiciones var raque = 353; var raque2 = 230; var score = 100; function pelotaLoca() { var bola = document.getElementById('pelota')//almacenamos la imagen en un variable var pala = document.getElementById('raqueta')//almacenamos la imagen en un variable bola.style.left = izquierda+"px";//ponemos la bola en la esquina superior izquierda left: 0px; bola.style.top = arriba+"px";//ponemos la bola en la esquina superior izquierda top: 0px; document.getElementById('raqueta').style.top=raque+"px"; document.getElementById('raqueta').style.left=raque2+"px"; var leftBola = bola.style.left;//vamos almacenando en otra varible el movimiento horizontal var topBola = bola.style.top;//vamos almacenando en otra varible el movimiento vertical var Nbola = new Number(leftBola.substring(0,leftBola.length-2 ));//Nbola lo que hago es convertir en número leftBola y con substring lo que hago es eliminar "px" para que funcione en IE var zonaX = document.getElementById('fondo').style.width=550+"px";//damos tamaño de ancho al div de fondo añadimos "px" para que firefox lo interprete var zonaY = document.getElementById('fondo').style.height=358+"px";//damos tamaño de alto al div de fondo añadimos "px" para que firefox lo interprete var NzonaX = new Number(zonaX.substring(0,zonaX.length- 2 ));//Es la zona por donde se va a desplazar ls bola var NzonaY = new Number(zonaY.substring(0,zonaY.length- 2));//Es la zona por donde se va a desplazar ls bola var NtopBola = new Number(topBola.substring(0,topBola.length- 2 )); //movimiento horizontal if(Nbola >= NzonaX) dirHorizontal = 1; if(Nbola == 0) dirHorizontal = 0; if(dirHorizontal == 0) izquierda += 1; else izquierda -= 1; //movimiento vertical if(NtopBola >= NzonaY-19 && Nbola > raque2 && Nbola < raque2+100)//para que la bola choque en la raqueta dirVertical = 1; if(NtopBola >= NzonaY)//si la bola supera a la raqueta bola y raqueta desapareceran dando lugar una imagen //que dice game over seguida de un boton que reinicia el juego { bola.style.visibility = "hidden"; document.getElementById('raqueta').style.visibility = 'hidden';//al terminar la raqueta desaparece bola.style.top = 0;//La bola vuelve aposicion inicial bola.style.left = 0;//La bola vuelve aposicion inicial document.getElementById('gameover').style.visibility = 'visible';//imagen de game over al terminar el juego aparece document.getElementById('boton').style.visibility = 'visible';}//boton de game over al terminar el juego aparece if(NtopBola == 0) dirVertical = 0; if(dirVertical == 0) arriba += 1; else arriba -= 1; } function Mover(direccion) { switch (direccion.keyCode) { case 90:if(raque2>0) {raque2-= 5; document.getElementById("raqueta").style.left= String(raque2) + "px";} break; case 88:if(raque2<465) {raque2+= 5; document.getElementById("raqueta").style.left= String(raque2) + "px";} break; } } //cambio de imagen al pasar el raton por encima de imagen ¿otra partida? imagen1 = new Image(); imagen1.src = "otrapartida.png"; imagen2 = new Image(); imagen2.src = "otrapartida2.png"; //funcion para cambiar imagen reutilizada de otro ejercicio function Cambia(pos,imagen) { document[pos].src = eval(imagen+".src") }; </script> </head> <body onkeyDown="Mover(event);"> <img id="titulo" src="pelotaLoca.png" /> <div id="borde"> <div id="fondo"> <img id="pelota" src="bola.gif" alt="pelota del juego" width="15" height="15" /> <img id="raqueta" src="raqueta.png" alt="raqueta del juego" /> <img id="gameover" src="gameover.png" alt="fin del juego" /> <img id="boton" src="otrapartida.png" alt="fin del juego" name="pos" onMouseOver="Cambia('pos','imagen2')" onMouseOut="Cambia('pos','imagen1')" onClick="location.reload();" /> </div> </div> </body> </html>
Edito: me pasa una cosa curiosa si pongo que la pelota salga en una posicion RAMDON en el eje horizontal funciona pero la pelota sale por el lado izquierdo y se sale del campo por¿?