JavaScript - Juego de fosforos

  • 0 Respuestas
  • 360 Vistas

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

Desconectado Adalher

  • *
  • Underc0der
  • Mensajes: 86
  • Actividad:
    6.67%
  • Reputación 0
    • Ver Perfil

JavaScript - Juego de fosforos

  • 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 »

 

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

Iniciado por graphixx

Respuestas: 2
Vistas: 5385
Último mensaje Agosto 25, 2017, 10:08:45 am
por Gothiquedark
Cheat-Sheet: JAVASCRIPT - Hoja Guía para que no se me olvide

Iniciado por Denisse

Respuestas: 0
Vistas: 88
Último mensaje Marzo 20, 2020, 03:00:11 am
por Denisse
[VIDEOTUTORIAL] Zenva – Cómo Programar para Emprendedores – JavaScript

Iniciado por graphixx

Respuestas: 0
Vistas: 2457
Último mensaje Enero 10, 2016, 02:26:42 pm
por graphixx
[VIDEOTUTORIAL] TypeScript (2014) Programación orientada a objetos en JavaScript

Iniciado por graphixx

Respuestas: 0
Vistas: 2086
Ú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: 2744
Último mensaje Agosto 31, 2014, 03:56:47 pm
por Destructor.cs