elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35
231  Foros Generales / Dudas Generales / ¿Por qué al nombrar versiones se usan números decimales? en: 2 Septiembre 2021, 04:31 am
A veces. Crean un programa 1.0 y luego crean otro llamado 1.1 y así sucesivamente, a veces salteándose el conteo con decimales, pasando por ejemplo de 1.6 a 2.0. Lo que di son ejemplos, no sé si sean reales.

Gracias.
232  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Cuando un tema va en Scripting y cuando en Prog. general? en: 23 Agosto 2021, 09:50 am
 :huh:
233  Programación / Scripting / No atacar a enemigos ko. en: 23 Agosto 2021, 09:46 am
Esto es lo que tengo por ahora:
Código:
   actions for fotograma 1
      function Action1 () {
         trace ("Player attacks with 1 to Enemy1!"
         En1HP = BaseEn1HP-1;
      }
      function Action2 () {
         trace ("Player attacks with 2 to Enemy1!"
         En1HP = BaseEn1HP-2;
      }
      function Action3 () {
         trace ("Player attacks with 1 to Enemy2!"
         En2HP = BaseEn2HP-1;
      }
      function Action4 () {
         trace ("Player attacks with 2 to Enemy2!"
         En2HP = BaseEn2HP-2;
      }
      Action = 1;
   actions for fotograma 2
      // player attacks
      eval("Action"+Action) ();
      Si Enemy1 is ok
         Enemy1 attack Player
      Si Player is ok
         Si Enemy2 is ok
            Enemy2 attack Player
         sino si Enemy1 is ko
            // player wins
      sino
         // game over
   actions for fotograma 3
      // variar ataque salteando los que afectan a un enemigo ko

El jugador, que es una IA o parecido, tiene 4 posibles acciones. Dichas acciones varían en cuánto daño hace y a qué enemigo.
No he definido ciertas variables, lo haré cuando resuelva los problemas que tengo.

En el fotograma 2 hay una llamada a una función según el valor de una variable. Quizá está mal escrito, lo analizaré cuando resuelva los problemas que tengo. Lo demás puede que esté mal pero trata simplemente de que los enemigos no ataquen si están ko, de cuando hay victoria y derrota.

La cuestión está en el fotograma 3. Lo normal sería hacer Action++ y volver al fotograma 2, pero quiero evitar que se hagan ataques a enemigos ko. ¿Alguna idea de cómo? Pueden proponer distintos códigos, no sé, yo imaginé el que leyeron pero puede haber mejores. De hecho tengo pensado que pueda haber cualquier cantidad de enemigos, así que la parte de los "si" puede que necesite un arreglo.

Gracias.
234  Programación / Scripting / ¿Ordenar turnos por velocidad? en: 8 Agosto 2021, 06:06 am
Ejemplo de input:
Player1Speed = 2
Player2Speed = 3
Player3Speed = 1
Player4Speed = 4
(pueden ser más)

Para ese input quiero que el output sea:
Turn1 = Player4
Turn2 = Player2
Turn3 = Player1
Turn4 = Player3

¿Cómo hacer eso sin for ni arrays? Es que no me gustan.
235  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Por qué Win_7 tiene tantos problemas? en: 31 Julio 2021, 03:24 am
Entiendo que ya mismo podría empezar a tener muchos problemas yo, pero me llama la atención, no me parece normal, que el tipo en 2 horas abra 4 temas sobre que le falla X o no le funciona bien Y. ¿Tan malos son los electrodomésticos en España? Pero sólo le pasa a él...
236  Programación / Scripting / Se me complicó. IA para batalla estilo RPG. en: 5 Julio 2021, 03:02 am
Este código funciona bien, es una IA que a base de pruebas descubre que quitar 2HP es mejor que quitar solo 1:
Código
  1.   actions for fotograma 1
  2.      // Situación inicial.
  3.      BaseEnHP = 10;
  4.      // Guardar Situación inicial.
  5.      SitID = "S"+BaseEnHP;
  6.      set (SitID+"EnHP", BaseEnHP);
  7.      set (SitID+"Action", "Ninguno");
  8.      Action = 1;
  9.      // Variables de Unsolved situaciones.
  10.      U = 0;
  11.      Us = 0;
  12.   actions for fotograma 2
  13.      // Reset Situación. Aplicación.
  14.      EnHP = BaseEnHP-Action;
  15.      // ¿Sol?
  16.      if (EnHP<=0) {
  17.         // Solución; iniciar mostrar lista.
  18.         List = Action;
  19.         gotoAndPlay (4);
  20.         // Sino ¿la situación está anotada?
  21.      } else if (eval("S"+EnHP+"EnHP") == undefined) {
  22.         // No. Anotarla.
  23.         SitID = "S"+EnHP;
  24.         set (SitID+"EnHP", BaseEnHP);
  25.         set (SitID+"Action", Action);
  26.         Us = Us+1;
  27.         SitID = "U"+Us;
  28.         set (SitID+"EnHP", EnHP);
  29.      }
  30.   actions for fotograma 3
  31.      // La situación existe. ¿Modificar candidato es posible?
  32.      if (Action<2) {
  33.         // Modificación de candidato.
  34.         Action = Action+1;
  35.         gotoAndPlay (2);
  36.      } else if (U<Us) {
  37.         // Usar Unsolveds.
  38.         U = U+1;
  39.         BaseEnHP = eval("U"+U+"EnHP");
  40.         Action = 1;
  41.         gotoAndPlay (2);
  42.      } else {
  43.         // No hay Solución.
  44.         stop ();
  45.      }
  46.   actions for fotograma 5
  47.      SitID = eval("S"+BaseEnHP+"Action");
  48.      BaseEnHP = eval("S"+BaseEnHP+"EnHP");
  49.      if (SitID != "Ninguno") {
  50.         List = SitID+" "+List;
  51.         gotoAndPlay (4);
  52.      } else {
  53.         stop ();
  54.      }

Al enemigo le agregué defensa (1; los ataques del jugador son quitar 1HP o 3):
Código
  1.   actions for fotograma 1
  2.      // Situación inicial.
  3.      BaseEnHP = 10;
  4.      EnDf = 1;
  5.      // Guardar Situación inicial.
  6.      SitID = "S"+BaseEnHP;
  7.      set (SitID+"EnHP", BaseEnHP);
  8.      set (SitID+"Action", "Ninguno");
  9.      Action = 1;
  10.      // Variables de Unsolved situaciones.
  11.      U = 0;
  12.      Us = 0;
  13.   actions for fotograma 2
  14.      // Reset Situación. Aplicación.
  15.      EnHP = BaseEnHP-(Action-EnDf);
  16.      // Si EnHP aumentó, resetear.
  17.      if (BaseEnHP < EnHP) {
  18.            EnHP = BaseEnHP;
  19.      }
  20.      // ¿Sol?
  21.      if (EnHP<=0) {
  22.         // Solución; iniciar mostrar lista.
  23.         List = Action;
  24.         gotoAndPlay (4);
  25.         // Sino ¿la situación está anotada?
  26.      } else if (eval("S"+EnHP+"EnHP") == undefined) {
  27.         // No. Anotarla.
  28.         SitID = "S"+EnHP;
  29.         set (SitID+"EnHP", BaseEnHP);
  30.         set (SitID+"Action", Action);
  31.         Us = Us+1;
  32.         SitID = "U"+Us;
  33.         set (SitID+"EnHP", EnHP);
  34.      }
  35.   actions for fotograma 3
  36.      // La situación existe. ¿Modificar candidato es posible?
  37.      if (Action<2) {
  38.         // Modificación de candidato.
  39.         Action = Action+1;
  40.         gotoAndPlay (2);
  41.      } else if (U<Us) {
  42.         // Usar Unsolveds.
  43.         U = U+1;
  44.         BaseEnHP = eval("U"+U+"EnHP");
  45.         Action = 1;
  46.         gotoAndPlay (2);
  47.      } else {
  48.         // No hay Solución.
  49.         stop ();
  50.      }
  51.   actions for fotograma 5
  52.      SitID = eval("S"+BaseEnHP+"Action");
  53.      BaseEnHP = eval("S"+BaseEnHP+"EnHP");
  54.      if (SitID != "Ninguno") {
  55.         List = SitID+" "+List;
  56.         gotoAndPlay (4);
  57.      } else {
  58.         stop ();
  59.      }

Agregué HP del jugador:
Código
  1.   actions for fotograma 1
  2.      // Situación inicial.
  3.      HP = 10;
  4.      BaseEnHP = 10;
  5.      EnDf = 1;
  6.      // Guardar Situación inicial.
  7.      SitID = "S"+HP+"_"+BaseEnHP;
  8.      set (SitID+"HP", HP);
  9.      set (SitID+"EnHP", BaseEnHP);
  10.      set (SitID+"Action", "Ninguno");
  11.      Action = 1;
  12.      // Variables de Unsolved situaciones.
  13.      U = 0;
  14.      Us = 0;
  15.   actions for fotograma 2
  16.      // Reset Situación. Aplicación.
  17.      EnHP = BaseEnHP-(Action-EnDf);
  18.      // Si EnHP aumentó, resetear.
  19.      if (BaseEnHP<EnHP) {
  20.         EnHP = BaseEnHP;
  21.      }
  22.      // ¿Sol?
  23.      if (EnHP<=0) {
  24.         // Solución; iniciar mostrar lista.
  25.         List = Action;
  26.         gotoAndPlay (4);
  27.         // Sino ¿la situación está anotada?
  28.      } else if (eval("S"+HP+"_"+EnHP+"HP") == undefined) {
  29.         // No. Anotarla.
  30.         SitID = "S"+HP+"_"+EnHP;
  31.         set (SitID+"HP", HP);
  32.         set (SitID+"EnHP", BaseEnHP);
  33.         set (SitID+"Action", Action);
  34.         Us = Us+1;
  35.         SitID = "U"+Us;
  36.         set (SitID+"HP", HP);
  37.         set (SitID+"EnHP", EnHP);
  38.      }
  39.   actions for fotograma 3
  40.      // La situación existe. ¿Modificar candidato es posible?
  41.      if (Action<2) {
  42.         // Modificación de candidato.
  43.         Action = Action+1;
  44.         gotoAndPlay (2);
  45.      } else if (U<Us) {
  46.         // Usar Unsolveds.
  47.         U = U+1;
  48.         HP = eval("U"+U+"HP");
  49.         BaseEnHP = eval("U"+U+"EnHP");
  50.         Action = 1;
  51.         gotoAndPlay (2);
  52.      } else {
  53.         // No hay Solución.
  54.         stop ();
  55.      }
  56.   actions for fotograma 5
  57.      SitID = eval("S"+HP+"_"+BaseEnHP+"Action");
  58.      HP = eval("S"+HP+"_"+BaseEnHP+"HP");
  59.      BaseEnHP = eval("S"+HP+"_"+BaseEnHP+"EnHP");
  60.      if (SitID != "Ninguno") {
  61.         List = SitID+" "+List;
  62.         gotoAndPlay (4);
  63.      } else {
  64.         stop ();
  65.      }
  66.  

---------------------------------------------------------------------------------------------------------

Ahora es cuando se me complicó: El enemigo puede golpear; no funciona (la IA) si él tiene defensa 2 o más.
Código
  1. Escena 1
  2.   actions for fotograma 1
  3.      // Situación inicial.
  4.      BaseHP = 10;
  5.      BaseEnHP = 10;
  6.      EnDf = 2;
  7.      // Guardar Situación inicial.
  8.      SitID = "S"+BaseHP+"_"+BaseEnHP;
  9.      set (SitID+"HP", BaseHP);
  10.      set (SitID+"EnHP", BaseEnHP);
  11.      set (SitID+"Action", "Ninguno");
  12.      Action = 1;
  13.      // Variables de Unsolved situaciones.
  14.      U = 0;
  15.      Us = 0;
  16.   actions for fotograma 2
  17.      // Reset Situación.
  18.      HP = BaseHP;
  19.      EnHP = BaseEnHP;
  20.      trace ("La sit es: "+HP+"_"+EnHP);
  21.      // Aplicación.
  22.      trace ("Player attacks!");
  23.      EnHP = EnHP-(Action-EnDf);
  24.      // Si EnHP aumentó, resetearlo.
  25.      if (BaseEnHP<EnHP) {
  26.         trace ("EnHP aumentó, se resetea: "+BaseEnHP);
  27.         EnHP = BaseEnHP;
  28.      } else {
  29.         trace ("EnHP reducido a: "+EnHP);
  30.      }
  31.      // Efecto simultáneo.
  32.      trace ("Enemy attacks!");
  33.      HP = HP-1;
  34.      // Si HP quedó negativo, pasa a 0.
  35.      if (HP<0) {
  36.         trace ("HP quedó negativo, pasa a 0");
  37.         HP = 0;
  38.      } else {
  39.         trace ("HP reducido a: "+HP);
  40.      }
  41.      // ¿Sol?
  42.      if (0<HP) {
  43.         if (EnHP<=0) {
  44.            // Solución; iniciar mostrar lista.
  45.            List = Action;
  46.            gotoAndPlay (4);
  47.            // Sino ¿la situación está anotada?
  48.         } else if (eval("S"+HP+"_"+EnHP+"HP") == undefined) {
  49.            // No. Anotarla.
  50.            SitID = "S"+HP+"_"+EnHP;
  51.            set (SitID+"HP", BaseHP);
  52.            set (SitID+"EnHP", BaseEnHP);
  53.            set (SitID+"Action", Action);
  54.            trace ("Nueva sit anotada: "+SitID);
  55.            Us = Us+1;
  56.            SitID = "U"+Us;
  57.            set (SitID+"HP", HP);
  58.            set (SitID+"EnHP", EnHP);
  59.         }
  60.         // Sino ¿la situación está anotada?
  61.      } else if (eval("S"+HP+"_"+EnHP+"HP") == undefined) {
  62.         // No. Anotarla.
  63.         SitID = "S"+HP+"_"+EnHP;
  64.         set (SitID+"HP", BaseHP);
  65.         set (SitID+"EnHP", BaseEnHP);
  66.         set (SitID+"Action", Action);
  67.         trace ("Nueva sit anotada: "+SitID);
  68.         Us = Us+1;
  69.         SitID = "U"+Us;
  70.         set (SitID+"HP", HP);
  71.         set (SitID+"EnHP", EnHP);
  72.      }
  73.   actions for fotograma 3
  74.      // La situación existe. ¿Modificar candidato es posible?
  75.      if (Action<3) {
  76.         // Modificación de candidato.
  77.         Action = Action+2;
  78.         gotoAndPlay (2);
  79.      } else if (U<Us) {
  80.         // Usar Unsolveds.
  81.         U = U+1;
  82.         BaseHP = eval("U"+U+"HP");
  83.         BaseEnHP = eval("U"+U+"EnHP");
  84.         Action = 1;
  85.         gotoAndPlay (2);
  86.      } else {
  87.         // No hay Solución.
  88.         stop ();
  89.      }
  90.   actions for fotograma 5
  91.      SitID = eval("S"+BaseHP+"_"+BaseEnHP+"Action");
  92.      Base2HP = BaseHP;
  93.      BaseHP = eval("S"+BaseHP+"_"+BaseEnHP+"HP");
  94.      BaseEnHP = eval("S"+Base2HP+"_"+BaseEnHP+"EnHP");
  95.      if (SitID != "Ninguno") {
  96.         List = SitID+" "+List;
  97.         gotoAndPlay (4);
  98.      } else {
  99.         stop ();
  100.      }
  101.  

¿Cómo debería ser el código? Luego de varios segundos me genera situaciones donde el HP enemigo es negativo.

Gracias.
237  Foros Generales / Foro Libre / ¿Películas en que el comunismo hace bien? en: 27 Junio 2021, 03:10 am
Tengo entendido que el comunismo es cuando los medios de producción son de los trabajadores, y los políticos son toda la gente (es decir no hay políticos a los que se les pague por decidir, decide toda la gente, todos son políticos).

Que yo sepa eso nunca ocurrió. ¿Hay alguna película en que se muestre ocurriendo?

Gracias.
238  Foros Generales / Sugerencias y dudas sobre el Foro / Si edito un mensaje ¿el tema aparecerá como no leído? en: 17 Junio 2021, 17:24 pm
Alguien estaba esperando un mensaje mío y como yo tenía un mensaje al final lo edité, para no hacer doble post, pero ¿al usuario le aparece el tema en "no leídos"?

Gracias.
239  Foros Generales / Foro Libre / Por un juego de rol realista. en: 17 Junio 2021, 00:33 am
En dichos juegos se controla uno o más personajes que tienen características como puntos de vida (PV), puntos de ataque, etc. Prácticamente en ninguno de estos juegos el personaje puede perder un brazo por ejemplo, sólo puede quedar muerto/KO, dormido, etc. Para que el juego sea más realista los personajes deben tener PV de cada cosa cuyo daño pueda llevar a la muerte, KO, desmayo (no sé si es lo mismo que KO), y de cada cosa cuyo daño implique reducción de los puntos de ataque, velocidad de preparación del ataque, etc, es decir, PV del cerebro, PV del corazón, PV de los pulmones, etc, y PV de la mano izquierda, PV de la conexión entre la mano y el brazo izquierd@s, etc. Mostraré una lista y quisiera que uds me digan qué faltaría o qué iría unido (¿la sangre?).
PV del cerebro
Cantidad de sangre
PV del ojo izquierdo
PV del ojo derecho
PV del cuello
PV del torso
PV de la conexión entre torso y abdomen
PV del abdomen
PV del corazón
Tiempo sin respirar
PV del pulmón izquierdo
PV del hombro izquierdo
PV del bíceps izquierdo
PV del codo izquierdo
PV del antebrazo izquierdo
PV de la muñeca izquierda
PV de la mano izquierda (los dedos no los tengo en cuenta, pero quizá debería)
PV del pulmón derecho
PV del hombro derecho
PV del bíceps derecho
PV del codo derecho
PV del antebrazo derecho
PV de la muñeca derecha
PV de la mano derecha
PV de la cadera
PV del muslo izquierdo
PV de la rodilla izquierda
PV de la pantorrilla izquierda
PV del talón izquierdo
PV del pie izquierdo
PV del muslo derecho
PV de la rodilla derecha
PV de la pantorrilla derecha
PV del talón derecho
PV del pie derecho

También quisiera que me hablen de las posibles causas de muerte, KO, y desmayo (no sé si hay otro estado como esos).

Faltarían más estadísticas como velocidad de preparación del ataque, pero eso prefiero dejarlo para más adelante.
240  Sistemas Operativos / Windows / ¿En Windows 7 cómo logro que la opción apuntada tenga un color vistoso? en: 13 Junio 2021, 23:44 pm
Esto es lo que tengo:

De lejos no la veo y no quiero acercarme al monitor a cada rato.

La zona para cambiar los colores parece ser esta:

Pero no logro que cambie.

Además está esto:

...que con esa elección se achican los íconos de las ventanas, el menú inicio, el puntero del mouse... Cosa que no me gusta.

Gracias.


Páginas: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines