martes, 9 de mayo de 2017

Javascript Parte XL

En JavaScript podemos definir varias clases en un mismo programa.
Vamos a desarrollar un programa que contenga dos clases. Plantearemos una clase Numeroquiniela que representa una persona que elige un número de quiniela y además registra su nombre, la clase tiene por objetivo la carga por el teclado del número deseado.
Por otra parte crearemos una clase Bolillero que sortee un valor aleatorio entre 1 y 10 (que representa el valor extraído del bolillero).
La codificación de las dos clases es:
<html>
<head>
<title>Problema</title>
<script type="text/javascript">

  //clase Numeroquiniela ************************************************
  function Numeroquiniela(nombre)
  {
    this.nombre=nombre;
    this.cargarnumero=cargarnumero;
    this.verificarsigano=verificarsigano;
  }

  function cargarnumero()
  {
    this.numero=prompt("Que número de quiniela quiere?","");
  }

  function verificarsigano(num)
  {
    if (this.numero==num)
      return true;
    else
      return false;
  }

  //clase Bolillero ************************************************
  function Bolillero()
  {
    this.numero=-1;
    this.sortear=sortear;
  }
  
  function sortear()
  {
    this.numero=parseInt(Math.random()*10)+1;
  }

</script>
</head>
<body>

<script type="text/javascript">
  var numeroquiniela1;
  numeroquiniela1=new Numeroquiniela("juan");
  numeroquiniela1.cargarnumero();
  var numeroquiniela2;
  numeroquiniela2=new Numeroquiniela("ana");
  numeroquiniela2.cargarnumero();
  var bolillero;
  bolillero=new Bolillero();
  bolillero.sortear();
  document.write('Numero sorteado:' + bolillero.numero + '<br>');
  document.write(numeroquiniela1.nombre + ' eligió ' + numeroquiniela1.numero +'<br>');
  document.write(numeroquiniela2.nombre + ' eligió ' + numeroquiniela2.numero +'<br>');
  if (numeroquiniela1.verificarsigano(bolillero.numero))
  {
    document.write(numeroquiniela1.nombre + ' a ganado <br>');
  }
  if (numeroquiniela2.verificarsigano(bolillero.numero))
  {
    document.write(numeroquiniela2.nombre + ' a ganado <br>');
  }
</script>
</body>
</html>
Al constructor de la clase Numeroquiniela llega como parámetro el nombre de la persona que la compra (podíamos cargarlo por teclado al nombre también).
Al número que selecciona lo cargamos por teclado. La clase Numeroquiniela además tiene otra responsabilidad, que es avisarnos si a ganado según el número sorteado.
Por otro lado en la página html definimos dos objetos de la clase Numeroquiniela y uno de la clase Bolillero:

No hay comentarios.:

Publicar un comentario