Hola estoy haciendo un juego tipo pong y con la ayuda de ceSharp lo he terminado
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"> PelotaLoca
<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"/>
*{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;
}
<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")
};
<body onkeyDown="Mover(event);"> <img id="titulo" src="pelotaLoca.png" /> <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();" /> <img id="score" src="score.png" /><p id="scorea">0000
</p>
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¿?