Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

JavaScript - Juego de fosforos

  • 0 Respuestas
  • 161 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Adalher

  • *
  • Underc0der
  • Mensajes: 84
  • Actividad:
    83.33%
  • Reputación 0
    • Ver Perfil
« en: Octubre 18, 2019, 05:33:53 am »
Hola a todos,

la mayoría de ustedes saben bien de este juego. El javascript trata de quitar los
fósforos de tal manera que al final no se tenga que sacar el último. Con ello se
juega contra la computadora.

Al principio se fija cuantos fósforos se alistaran en el juego.

En cada jugada se puede quitar entre uno y tres maderas. Entonces el
javascript calcula los fósforos restantes y actualiza la visualización en la página
principal.

Naturalmente, al mismo tiempo, la computadora o el javascript también trata de
sacarles el último fósforo y con eso ganar el juego.

Para iniciar nuevamente el javascript tienen que actualizar la página principal en el
navegador.

Código:
Código: Javascript
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <title>Ejemplo de javascript</title>
  5.   <meta charset="UTF-8">
  6. </head>
  7. <body>
  8. <!-- Presentado por javascripts-gratis.de -->
  9. <script type='text/javascript'>
  10. <!--
  11. var obj1 = new Array(100), mc,mc1, cur_obj, total_sel, win = false, cpu_sel, ost, user_sel, game = true;
  12.  
  13. function RemoveElementByNum(num) {
  14.         document.getElementById("ch"+num).style.display = 'none';
  15.         document.getElementById("im"+num).style.display = 'none';
  16. }
  17.  
  18. function RemoveCpuSel(num) {
  19.         del = num;
  20.         for ( i=0; i<mc1; i++ ) {
  21.                 ename = document.getElementById("ch"+i);
  22.                 if (del!=0) {
  23.                         if (ename.style.display != 'none') {
  24.                                 ename.style.display = 'none';
  25.                                 document.getElementById("im"+i).style.display = 'none';
  26.                                 del-=1;
  27.                         }
  28.                 }
  29.  
  30.         }
  31. }
  32.  
  33. function GetClickedElement(){  
  34.         total=0;
  35.         result=false;
  36.         for (i=0; i<mc1; i++) {
  37.                 ename = document.getElementById("ch"+i);
  38.                 if ((ename.style.display != 'none') && (ename.checked)) {
  39.                         total++;
  40.                 }
  41.         }
  42.         if (total>3) {
  43.                 alert('Demasiados fosforos seleccionados. No puedes seleccionar mas de tres fosforos!');
  44.                 result=false;
  45.         } else {
  46.                 result=true;
  47.         }
  48.         document.getElementById("maderalog").value = "Tu tomas "+total+" pieza/s.";
  49.         total_sel=total;
  50.         user_sel=total;
  51.         return result;
  52. }
  53.  
  54. function AI() {
  55.         if ( (mc>1) && (win==false) ) {
  56.                 game = true;
  57.         }
  58.         if (game == true) {
  59.                 if ( (mc-user_sel)==1 ) {
  60.                         win=true;
  61.                         game=false;
  62.                 }
  63.                 if ( (mc%4)!=1 ) {
  64.                         ost=(mc-user_sel)%4;
  65.                         if (ost==0) {
  66.                                 ost=4;
  67.                         }
  68.                         if (ost>1) {
  69.                                 cpu_sel=ost-1;
  70.                         } else {
  71.                                 cpu_sel=Math.floor( (3*Math.random()) );
  72.                                 cpu_sel++;
  73.                                 if (cpu_sel>mc) {
  74.                                         cpu_sel=mc;
  75.                                 }
  76.                         }
  77.                 }
  78.                 else {
  79.                         cpu_sel=4-user_sel;
  80.                 }
  81.                 RemoveCpuSel(cpu_sel);
  82.                 mc=mc-(cpu_sel+user_sel);
  83.                 document.getElementById("maderalog").value='La computadora toma '+cpu_sel+' pieza/s.';
  84.         }
  85.         if ( (mc==1) || (mc<1)) {
  86.                 game = false;
  87.                 if (win == true) {
  88.                         document.getElementById("maderalog1").style.visibility='hidden';
  89.                         document.getElementById("maderalog").style.visibility='hidden';
  90.                         document.getElementById("eliminar").style.visibility='hidden';
  91.                         alert('Felicitaciones! Tu has ganado!!!!');
  92.                         game=false;
  93.                 } else {
  94.                         document.getElementById("maderalog1").style.visibility='hidden';
  95.                         document.getElementById("maderalog").style.visibility='hidden';
  96.                         alert('Tu has perdido. La inteligencia artificial ha ganado!!!! JA - JA - JA!!!!');
  97.                         game=false;
  98.                         document.body.innerHTML = ""
  99.                 }
  100.         }
  101.         document.getElementById("maderalog1").value = "Sobra/n " +mc+ " pieza/s";
  102. }
  103.  
  104. function RemoveSelected(){
  105.         if ((total_sel!=0) && (total_sel<4)) {
  106.                 user_sel=total_sel;
  107.                 for (i=0; i<mc1; i++) {
  108.                         ename = document.getElementById("ch"+i);
  109.                         if ((ename.style.display != 'none') && ename.checked) {
  110.                                 RemoveElementByNum(i);
  111.                         }
  112.                         total_sel=0;
  113.                 }
  114.                 AI();
  115.         } else {
  116.                 if (total_sel>3) {
  117.                         alert("Demasiados fosforos seleccionados.");
  118.                 } else {
  119.                         alert('Nada seleccionado');
  120.                 }
  121.         }
  122. }
  123.  
  124.  
  125. function initMadera() {
  126.         mc = prompt("Cantidad de fosforos?. La cantidad debe hallarse entre 7 y 50", "23");
  127.          if (mc<7) mc=7;
  128.          if (mc>50) mc=50;
  129.  
  130.         mc1 = mc;
  131.         document.write('<center><table border="0" cellspacing="0" cellpadding="0"><tr>');
  132.         for (i=0; i<mc; i++) {
  133.                 document.write('<td align="center"><div style="height: 70px; width: 7px; background-color: #C0C077;" name="im'+i+'" id="im'+i+'"><div style="height: 7px; width: 7px; background-color: #FF3300;"></div></div></td>');
  134.                 obj1[i]=1;
  135.         }
  136.         document.write('</tr><tr>');
  137.         for (i=0; i<mc; i++) {
  138.                 document.write('<td><input type="checkbox" onclick="GetClickedElement();" name="ch'+i+'" id="ch'+i+'" /></td>');
  139.         }
  140.         document.write('</tr></table>');
  141.         document.write('<br /><input type="button" value="Eliminar fosforos seleccionados" onclick="RemoveSelected();" id="eliminar" />');
  142.         document.write('<br /><br /><br /><br />');
  143.         document.write('<input type="text" name="maderalog" id="maderalog" size="30" /><br />');
  144.         document.write('<input type="text" name="maderalog1" id="maderalog1" size="30" /><br />');
  145.         document.write('</center>');
  146. }
  147. //-->
  148. </script>
  149. <script type="text/javascript">initMadera();</script>
  150. <!-- Presentado por javascripts-gratis.de -->
  151.  
  152. </body>
  153. </html>
  154.  

Página web: https://drive.google.com/open?id=14Gu9OuiYfRsDIHCZ4CT_AIQtfvRgvD-N

Saludos
« Última modificación: Octubre 18, 2019, 06:31:54 pm por AXCESS »

 

¿Te gustó el post? COMPARTILO!



[VIDEOTUTORIAL] Aprender Javascript desde cero - incluye hacking con Node.js

Iniciado por graphixx

Respuestas: 2
Vistas: 5231
Último mensaje Agosto 25, 2017, 10:08:45 am
por Gothiquedark
[VIDEOTUTORIAL] TypeScript (2014) Programación orientada a objetos en JavaScript

Iniciado por graphixx

Respuestas: 0
Vistas: 2036
Último mensaje Octubre 09, 2015, 08:54:14 am
por graphixx
[SOURCE] Formulario con validacion javascript de contraseña y email a mysqli

Iniciado por graphixx

Respuestas: 2
Vistas: 2677
Último mensaje Agosto 31, 2014, 03:56:47 pm
por Destructor.cs
[Curso gratis con certificado] HTML5 - CSS3 - JAVASCRIPT [OPENWEBINARS]

Iniciado por graphixx

Respuestas: 0
Vistas: 7278
Último mensaje Septiembre 12, 2016, 09:18:15 am
por graphixx
[JavaScript] Contá tu edad real (años con dígitos decimales)

Iniciado por Polsaker

Respuestas: 11
Vistas: 4849
Último mensaje Junio 06, 2015, 09:59:34 pm
por [L]ord [R]NA