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


Tema destacado: También estamos presentes en BlueSky


  Mostrar Mensajes
Páginas: 1 ... 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 [113] 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 ... 257
1121  Foros Generales / Sugerencias y dudas sobre el Foro / Re: ¿Por qué no ponen la opción de ignorar usuario? en: 12 Marzo 2023, 02:19 am
puede uno mismo ignorar y no leer mensajes de aquellos foreros que no quiera leer
La tarea puede simplificarse con la configuración adecuada del foro.

No sé que tan fácil es lo que propones, pero si entras a temas activos o recientes como yo, imagino que ves los títulos 1ero, luego usuarios, e imagino que no todo título te gusta, puedes incluso sospechar y acertar de quienes son, títulos que te gustaría no haber visto y que pudiste evitar ver si tuvieras la opción correspondiente.

Pero incluso si se pudieran reconocer fácilmente como dices, mira, yo creo un poco en eso del inconsciente y los mensajes subliminales, así que si veo algo escrito generalmente trato de leer bien lo que dice. Entonces, sólo me sirven 2 opciones: No verlo o verlo con cierta atención. Por eso algunas cosas prefiero ni verlas.

No entiendo mucho por qué te pones en contra si fuiste tú el que manifestó desagrado por un tema que hice. Te beneficiaría que pudieras configurar que no puedas verlos.

Citar
La otra actitud parece más propia de un chiquillo: "mamá, como yo no soy capaz de dejar de leer a aquellos que dicen algo que me puede sentar mal y no soy capaz de -si lo leo- pasar de ellos y seguir mi vida,  y estoy continuamente contestándoles/leyéndoles tienes que ser tú, mamá, la que no me dejes ver lo que escriben
Con ese criterio no deberían existir los bloqueadores de anuncios, uno no debería enojarse si otro no tiró la cisterna, o si Google muestra lo que se le antoje en vez de lo que se le pide :/
No usemos calculadoras porque es como pedir a mamá que nos haga las cuentas.
No usemos luces porque es como pedir a mamá que nos diga dónde están las cosas.
No usemos reloj porque...
¡No concuerdo!

Citar
demuestra una confianza nula en uno mismo.
Si se decide ignorar a alguien es porque uno confía en si mismo en cuanto a que sabe que le conviene ignorarlo.

Citar
da igual porque si otro forero no ignorado cita a uno ignorado, en el mensaje del no ignorado va a aparecer la cita del si ignorado y al fina, lo vas a leer igual
Si nada se hace se verían el 100% de los mensajes indeseados y si se bloquean, tienes razón, se podrían ver... ¿qué porcentaje? ¿90? Mucho menos. Además la mayoría de las veces el nick estaría al principio de la cita, por lo que fácilmente uno podría evitar seguir leyendo.
Tu argumento es como que mejor no haya policías, si total algún ladrón igual va a robar sin que se lo impidan. No, aunque no se pueda evitar siempre, si se puede evitar algunas veces y no es tan costoso entonces me parece conveniente hacerlo. Mi bloqueador de propagandas no las bloquea todas, pero igual me sirve. Los antivirus no bloquean todo lo malo, pero...

Citar
A no ser que pidas que capen también los mensajes de foreros que citen a uno ignorado, lo que ya me parecería surrealista.
No sé bien qué es eso, no pido tanto, pero no me parecería mal...
Es más lógico que el hecho de alterar ciertas "malas palabras", cosa que de hecho hacen en este foro.
1122  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Por qué no ponen la opción de ignorar usuario? en: 6 Marzo 2023, 07:49 am
Yo participo aquí porque:
1- En programación creo que son bastante abiertos. En otro foro me ocurría que si posteaba algo en el lenguaje que uso entonces en vez de darme sugerencias sobre cómo lograr lo que yo quería me decían que ese lenguaje es una *****, que usara otro.
2- No es exclusivo de programación, a veces ponen noticias interesantes.
3- Es bastante activo, se inscribe gente seguido, preguntan cosas no tan complicadas ni específicas de un lenguaje en particular.

Pero ya me cansé también de recibir aquí críticas en mi opinión no justificadas. Pero no crean que eso es sólo por este foro, es por los foros en general (ayer en uno alguien me recomendó suicidarme porque le dije que en años nada aprendió, y otras cosas, pero justificadas, no como sus tonterías), sólo que si me ocurre aquí también entonces ya no le veo lo positivo a participar tanto aquí, sólo lo mínimo necesario sobre temas de programación. Para otras cosas buscaré otros sitios, lo hacía aquí porque me cuesta encontrar y porque el tiempo lo dedico a participar en sitios que conozco no a buscar otros.

¿Mediante ignorar usuario se podría evitar que la gente se enoje aquí? Es decir, si a quienes les molesten los posts de alguien pudieran ignorarlo, que no le aparezcan ni sus posts ni sus temas. Creo que no. La gente podría seguir enojada porque "espanta a los posibles nuevos usuarios". Con ese criterio cada uno debería hacerse su propio foro, o ni siquiera eso, porque podrían decir "tu foro espanta a posibles usuarios de foros y de Internet". WTF. Pero creo que tienen bastante razón. Si es un foro de hackers, o de programación, no se puede andar preguntando cualquier otra cosa, molesta, pero entonces ... ... nada, pensé que deberían dar la opción de no ver a los usuarios a los que no se quiera ver, pero si la premisa es que los offtopcs molestan entonces la solución es no hacerlos ¿pero para qué existe el foro libre entonces? Ojo, a mí no me importa que venga el admin o el mismísimo dios a decirme que no de bola a los quejicas, pues me importa más no molestarlos, porque muchas veces estoy de su mismo lado del mostrador, así que realmente no entiendo el sentido del foro libre.

Otra cosa que podrían hacer es dar la opción a cada usuario de elegir qué secciones quieren que les aparezca en "ver temas activos personalizado", o como quieran llamarlo. Uno entraría a su perfil, en una cierta sección, y pondría tics en las secciones que quiera que le aparezcan, entonces por ejemplo los que no quieran ver temas de la sección foro libre podrían ver los temas recientes del foro sin ver los temas de dicha sección.
1123  Foros Generales / Foro Libre / Re: Un tipo dice que no sé programar y que lea un libro ¿es un troll o qué hago mal? en: 6 Marzo 2023, 06:49 am
No entiendo qué nos puede importar aquí problemas que alguien tenga en otros foros.
Sobre cualquier problema que alguien tenga podrías decir eso, que no entiendes qué les puede importar ese problema. Si le hackean la cuenta bancaria, si un juego no le funciona, si no se puede conectar a Internet, si la computadora no le enciende, si se está muriendo de hambre ¿qué les importa? No sé qué responderte, o cómo explicarte, no es que les deba importar, pero MÁS O MENOS estamos para ayudarnos ¿no? ¿o cómo crees que funciona esto? ¿sólo hay que postear cosas que les interesen? Pero no es una comunidad homogénea, a diferente gente puede que le interesen unas cosas y a otros no. ¿Que a la mayoría no le interesa esto y sólo hay que postear cosas que interesen a la mayoría? Puede ser, pero yo no sé a priori si algoi les interesa o no. Y mi problema no es simplemente un problema en otro foro, está relacionado con programación. Podría haber puesto el código y haber preguntado por sus supuestos grandes defectos sin decir el contexto de la pregunta, pero diciendo el contexto se puede entender mejor cómo responderla. No entiendo cual es el problema en decir el contexto.
Igual no entiendo por qué tanto problema, si alguien tiene un problema se supone que puede consultar, no va a consultar sobre si le conviene comprar un reloj como hace alguno, pero un problema relacionado con Internet, y con más razón con un foro, me parece que tiene sentido consultarlo en un foro ¿dónde sino, en el otro? Ya lo hice y no se solucionó. ¿Qué hay de malo en pedir la opinión a personas de otro foro entonces? Un foro es un lugar donde interaccionan personas, no me parece mal consultar en uno sobre problemas relacionados con interacciones entre personas. Pero incluso si fuera sobre cómo cultivar plantas no está prohibido, foro libre dice. Mientras no se haga flood de temas así "molestos" u offtopic... no veo el problema. Este tema lo puse en la sección de programación porque como expliqué tiene que ver con eso, pero lo cambiaron a la sección foro libre, pero no me afecta mucho eso.
Ah, pregunté aquí porque es un tema de programación, y de foros, pero también porque no estoy familiarizado con otros sitios donde preguntar, pierdo mucho tiempo intentando explicar ciertas cosas así que... En fin ¿dónde según tú tendría que haber hecho mi consulta? No me digas que a un psicólogo o algo de eso

dime sitios de Internet, dame links, por privado si quieres, así no me verás tan seguido, no lo hagas por mí o sólo por mí, sino por ti y si quieres por esos a quienes te parece que este tipo de temas no les importan y/o molestan. A mí me molesta que por la calle me pregunten si me pueden hacer una pregunta (genio me acabás de hacer una pregunta), o me pidan tabaco, etc, e incluso fuego desde un auto ("¿tenés fuego?", "No, no fumo ¿tenés auto que me puedas prestar campeonazo?"), pero esto es un foro, esto sí es para hacer preguntas, no para caminar. Si te molestan las preguntas en un foro de programación, relacionadas con foros y con programación, no entiendo para qué las lees.

Citar
Pero no que ponga aquí de si otros foreros de otros foros, los enlace aquí y encima que quiera que opinemos sobre lo que pasa con otros foreros de otros foros.
No he puesto enlaces. Y no veo por qué tu sugerencia es buena, excepto si se tiene en cuenta que el tema estando resumido sería más fácil de responder, pero repito que me parece mejor decir el contexto en este caso.

Citar
Que me impotrta una MIer..-D..A
Ya pero, si un día tienes un problema, consultas y te respondan eso mismo no te gustaría ¿o sí?

Citar
Que lo pongas en el subforo adecuado sobre programación y sin mezclar con asuntos tuyos personales sobre cuitas con otros foreros de otros foros.
Pero ya no tiene sentido, el tema ya está en este tema, hacer otro sería como repetir el tema.

Citar
Que preguntes SOLO sobre tu código y no mezcles problemas personales de personalidad obsesivo/compulsiva y/o esquizofrenia-paranoide (detectados médicamente y negándose a tratarlos médicamente) con problemas de código de programación informática.
He consultado en el foro sobre problemas con psiquiatras y de leyes en el foro libre, donde se supone que puedo hacerlo, y ya que la firma del admin es "La libertad no se pide, se conquista", es decir, esperaba que él me diera algún consejo sobre cómo conqustarla, para mí tenía sentido, pero no he mezclado esos problemas con problemas de programación.

Mira, tienes derecho a decir y hacer más o menos lo que se te de la gana, digo más o menos porque los mods pueden borrar comentarios, pero en tu opinión es como si yo hubiera hecho algo malo pero ¿qué bien has hecho tú? ¿es mejor lo que has hecho que lo que yo hice? A mí me parece que mi consulta es válida y tiene sentido, por lo tanto criticar que la haya hecho me parece injustificado. Pero ya me harté, lo tendré muy en cuenta. Dame links aquí o por privado, a sitios que no pidan un p*** teléfono ni cosas extrañas como tener que postear 50 veces para hacer una consulta.

Ah por cierto gracias por mencionar lo de mi supuesta enfermedad mental, al otro forero le divirtió mucho.
1124  Programación / Programación General / Re: Aporte. COBOL. Interactive Fiction: La Torre en: 5 Marzo 2023, 00:23 am
¿Tienes un code para que un personaje camine, salte, ataque y se agache? Vi que tu code tiene algo de eso, pero no vi casos prohibidos como que si está atacando no puede saltar.

Mira, tengo esto:
Código
  1. fscommand ("fullscreen", "true");
  2. Player.Facing = 1;
  3. Player.Attacking = 0;
  4. Player.Action = 1;
  5. // 0 crouching, 0.5 startingjump, 1 nothing, 2 walking, 3 falling, 3.5 minjump, 4 jumping.
  6. // /////////////////////////////////////////////
  7. // //////////////////  Bond  ///////////////////
  8. // /////////////////////////////////////////////
  9. function PersControl () {
  10. if (Player.Action == 2) {
  11. // Si el personaje está caminando.
  12. if (Key.isDown(65)) {
  13. // Si se presiona A.
  14. StartingJump();
  15. } else if (Key.isDown(83)) {
  16. // Si se presiona S.
  17. Attack();
  18. } else if (Key.isDown(40)) {
  19. // Si se presiona abajo.
  20. Crouch();
  21. } else if (Key.isDown(39)) {
  22. // Si se presiona derecha.
  23. FaceRight();
  24. Player._x = Player._x+0.9;
  25. } else if (Key.isDown(37)) {
  26. // Si se presiona izquierda.
  27. FaceLeft();
  28. Player._x = Player._x-0.9;
  29. } else {
  30. Quiet();
  31. }
  32. //FALTA THROW
  33. } else if (Player.Attacking == 0) {
  34. // Si el personaje no está atacando.
  35. if (Player.Action == 1) {
  36. // Si el personaje está en reposo.
  37. if (Key.isDown(65)) {
  38. // Si se presiona A.
  39. StartingJump();
  40. } else if (Key.isDown(83)) {
  41. // Si se presiona S.
  42. Attack();
  43. } else if (Key.isDown(40)) {
  44. // Si se presiona abajo.
  45. Crouch();
  46. } else if (Key.isDown(39)) {
  47. // Si se presiona derecha.
  48. FaceRight();
  49. Player._x = Player._x+0.9;
  50. Walk();
  51. } else if (Key.isDown(37)) {
  52. // Si se presiona izquierda.
  53. FaceLeft();
  54. Player._x = Player._x-0.9;
  55. Walk();
  56. }
  57. //FALTA THROW
  58. } else if (Player.Action == 3) {
  59. // Si el personaje está cayendo.
  60. Player.SpeedY = Player.SpeedY+0.1;
  61. MovingJump();
  62. if (Player._y>=554) {
  63. // Si el personaje toca el suelo.
  64. Player._y = 554;
  65. // Acá no debería haber Quiet sino FallEnd o...
  66. // depende de la velocidad de la caída???
  67. Quiet();
  68. }
  69. //FALTA: AT, THROW
  70. } else if (Player.Action == 4) {
  71. // Si el personaje está saltando.
  72. Jump();
  73. //FALTA: AT, THROW
  74. } else if (Player.Action == 0.5) {
  75. // Si el personaje está empezando a saltar.
  76. if (Key.isDown(39)) {
  77. // Si se presiona derecha.
  78. if (Player.Facing == -1) {
  79. Player.Facing = 1;
  80. }
  81. Player.SpeedX = 0.9;
  82. } else if (Key.isDown(37)) {
  83. // Si se presiona izquierda.
  84. if (Player.Facing == 1) {
  85. Player.Facing = -1;
  86. }
  87. Player.SpeedX = -0.9;
  88. } else {
  89. Player.SpeedX = 0;
  90. }
  91. //FALTA: AT, THROW, Down?
  92. } else if (Player.Action == 0) {
  93. // Si el personaje está agachado.
  94. if (Key.isDown(40)) {
  95. // Si se presiona abajo.
  96. if (Key.isDown(65)) {
  97. // Si se presiona A.
  98. StartingJump();
  99. } else if (Key.isDown(83)) {
  100. // Si se presiona S.
  101. Player.Attacking = 1;
  102. Player.gotoAndPlay(124);
  103. }
  104. } else {
  105. Quiet ();
  106. }
  107. } else if (Player.Action == 3.5) {
  108. // Si el personaje está saltando pero aún no llegó a cierta altura.
  109. Player.SpeedY = Player.SpeedY+0.1;
  110. if (Player.SpeedY<-3) {
  111. MovingJump();
  112. } else {
  113. // Si el personaje llegó a cierta altura (y perdió cierta velocidad).
  114. Player.Action = 4;
  115. Jump();
  116. }
  117. //FALTA: AT, THROW???
  118. }
  119. //¿FALTA: AT, THROW, AG?
  120. }
  121. }
  122. //JUMP, AG WHILE STARTING AT? AFTER?
  123. //AG
  124. // Otras funciones.
  125. function StartingJump () {
  126. Player.gotoAndPlay(96);
  127. Player.Action = 0.5;
  128. }
  129. function MovingJump () {
  130. Player._x = Player._x+Player.SpeedX;
  131. Player._y = Player._y+Player.SpeedY;
  132. }
  133. function MinJump () {
  134. Player.Action = 3.5;
  135. Player.SpeedY = -4;
  136. MovingJump();
  137. }
  138. function Jump () {
  139. if (Key.isDown(65)) {
  140. // Si se presiona A.
  141. Player.SpeedY = Player.SpeedY+0.1;
  142. if (Player.SpeedY>=0) {
  143. // Si el personaje comienza a caer.
  144. Fall();
  145. }
  146. } else {
  147. // Si se suelta A.
  148. Player.SpeedY = 0.1;
  149. Fall();
  150. }
  151. MovingJump();
  152. }
  153. function Fall () {
  154. Player.Action = 3;
  155. Player.play();
  156. }
  157. function Walk () {
  158. Player.gotoAndPlay(35);
  159. Player.Action = 2;
  160. }
  161. function Attack () {
  162. Player.gotoAndPlay(2);
  163. Player.Attacking = 1;
  164. Player.Action = 1;
  165. }
  166. function FaceRight () {
  167. if (Player.Facing == -1) {
  168. Player.Facing = 1;
  169. Player._xscale = 100;
  170. }
  171. }
  172. function FaceLeft () {
  173. if (Player.Facing == 1) {
  174. Player.Facing = -1;
  175. Player._xscale = -100;
  176. }
  177. }
  178. function Crouch () {
  179. Player.gotoAndStop(96);
  180. Player.Action = 0;
  181. }
  182. function Quiet () {
  183. Player.gotoAndStop(1);
  184. Player.Action = 1;
  185. }
  186. //Player.SpeedX = 0.9*Player.Facing;
  187. //Jump();

Intento imitar a este personaje:
https://www.youtube.com/watch?v=PGmIbgmc6qI

Es más complejo que Mario y varios otros, ya que por ejemplo antes de saltar se agacha.

¿Cómo harías el código? ¿te doy más datos del personaje? A ver

Estado              ¿Puede caminar?  ¿atacar?  ¿saltar?  ¿agacharse?  ¿desagacharse?
Quieto                        S                    S           S              S                    N
Caminando               S(*)                  S           S              S                    N
Atacando parado         N                    N         S(*2)         N                    N
Atacando en el aire     N                    N            N             N                    N
Atacando agachado     N                    N           N             N    S (cambia a ataque parado)
Iniciando salto (agachado)  N          N(*3)        N             N                    N
Elevándose                 N                    S           N             N                    N
Cayendo                    N                     S           N             N                    N
Agachado                  N             S(agachado)   N       S(continuar)          S
(*) Continuar, la animación no reinicia por presionar el botón sino cuando termina si el botón sigue presionado.
Cuando ataca, si está caminando se detiene.
Cuando el personaje salta, antes se agacha.
(*2): Primero se agacha (y continúa la animación de que ataca) como sucede al saltar.
La imagen o pose del personaje mientras se eleva es distinta de cuando cae.
La velocidad hacia los costados del salto no es modificable una vez establecida (sucede luego del estado "iniciando salto").
Es posible saltar sin moverse hacia un costado, o sí hacerlo.
Si en "iniciando salto" el personaje está mirando hacia un lado, se presiona saltar, y enseguida hacia el lado contrario, se salta hacia dicho lado (mirando hacia ese lado sí).
(*3) Pero cuando se eleva sí ataca.
Cuando cae se agacha.
Si al caer está atacando, el ataque continúa agachado.
Sólo es posible cambiar hacia donde se mira cuando se camina.

Creo que eso es todo lo que me interesa por ahora.

Gracias.
1125  Foros Generales / Dudas Generales / Re: ¿Email gratis no temporal ni instalado y sin verificación? en: 4 Marzo 2023, 20:03 pm
Bueno, me sirvió. Fue fácil hacer la cuenta, pide tan poco que ni siquiera pide aceptar un contrato creo xD (quizá sea mala señal pero...)
1126  Foros Generales / Foro Libre / Un tipo dice que no sé programar y que lea un libro ¿es un troll o qué hago mal? en: 4 Marzo 2023, 19:50 pm
Me cuesta creer que el tipo sea tan pero tan troll, me dice estas cosas desde hace años sin dar explicación de por qué me lo dice o qué cree que hago mal a pesar de que amablemente se l@ he pedido en varias ocasiones. Entonces, como no puedo creer que sea troll, consulto con uds y le mando un link a este tema a ver qué me dice basado en sus respuestas.

En esta última me dice:
Citar
Fijate que vos seguís creando temas sobre algún programa que estás haciendo de la manera equivocada, al estilo: "shh... no me digas como debería aprender a programar para poder crear juegos como este o mucho mejores, solamente decime como sigo con el programa del modo que lo estoy creando yo".

Es simplemente terquedad. Algo tan básico, que no has podido superar con más de 30 años.

Le digo:
Citar
Varios programadores o a quienes les gusta el tema creen que existe algo similar a "el modo correcto de programar", pero no todos somos así. A ver, te pongo un par de ejemplos de programas "mal hechos" (probablemente) y nos cuentas cómo los harías.

Este es de un personaje que camina, ataca, se agacha, etc. No sé por qué del modo que lo hice parece excesivamente complicado. Es este:
https://www.youtube.com/watch?v=PGmIbgmc6qI
Su nombre original es Bond, lo que pasa que en la versión en inglés cambiaron de todo.
Código
  1. fscommand ("fullscreen", "true");
  2. Player.Facing = 1;
  3. Player.Attacking = 0;
  4. Player.Action = 1;
  5. // 0 crouching, 0.5 startingjump, 1 nothing, 2 walking, 3 falling, 3.5 minjump, 4 jumping.
  6. // /////////////////////////////////////////////
  7. // //////////////////  Bond  ///////////////////
  8. // /////////////////////////////////////////////
  9. function PersControl () {
  10. if (Player.Action == 2) {
  11. // Si el personaje está caminando.
  12. if (Key.isDown(65)) {
  13. // Si se presiona A.
  14. StartingJump();
  15. } else if (Key.isDown(83)) {
  16. // Si se presiona S.
  17. Attack();
  18. } else if (Key.isDown(40)) {
  19. // Si se presiona abajo.
  20. Crouch();
  21. } else if (Key.isDown(39)) {
  22. // Si se presiona derecha.
  23. FaceRight();
  24. Player._x = Player._x+0.9;
  25. } else if (Key.isDown(37)) {
  26. // Si se presiona izquierda.
  27. FaceLeft();
  28. Player._x = Player._x-0.9;
  29. } else {
  30. Quiet();
  31. }
  32. //FALTA THROW
  33. } else if (Player.Attacking == 0) {
  34. // Si el personaje no está atacando.
  35. if (Player.Action == 1) {
  36. // Si el personaje está en reposo.
  37. if (Key.isDown(65)) {
  38. // Si se presiona A.
  39. StartingJump();
  40. } else if (Key.isDown(83)) {
  41. // Si se presiona S.
  42. Attack();
  43. } else if (Key.isDown(40)) {
  44. // Si se presiona abajo.
  45. Crouch();
  46. } else if (Key.isDown(39)) {
  47. // Si se presiona derecha.
  48. FaceRight();
  49. Player._x = Player._x+0.9;
  50. Walk();
  51. } else if (Key.isDown(37)) {
  52. // Si se presiona izquierda.
  53. FaceLeft();
  54. Player._x = Player._x-0.9;
  55. Walk();
  56. }
  57. //FALTA THROW
  58. } else if (Player.Action == 3) {
  59. // Si el personaje está cayendo.
  60. Player.SpeedY = Player.SpeedY+0.1;
  61. MovingJump();
  62. if (Player._y>=554) {
  63. // Si el personaje toca el suelo.
  64. Player._y = 554;
  65. // Acá no debería haber Quiet sino FallEnd o...
  66. // depende de la velocidad de la caída???
  67. Quiet();
  68. }
  69. //FALTA: AT, THROW
  70. } else if (Player.Action == 4) {
  71. // Si el personaje está saltando.
  72. Jump();
  73. //FALTA: AT, THROW
  74. } else if (Player.Action == 0.5) {
  75. // Si el personaje está empezando a saltar.
  76. if (Key.isDown(39)) {
  77. // Si se presiona derecha.
  78. if (Player.Facing == -1) {
  79. Player.Facing = 1;
  80. }
  81. Player.SpeedX = 0.9;
  82. } else if (Key.isDown(37)) {
  83. // Si se presiona izquierda.
  84. if (Player.Facing == 1) {
  85. Player.Facing = -1;
  86. }
  87. Player.SpeedX = -0.9;
  88. } else {
  89. Player.SpeedX = 0;
  90. }
  91. //FALTA: AT, THROW, Down?
  92. } else if (Player.Action == 0) {
  93. // Si el personaje está agachado.
  94. if (Key.isDown(40)) {
  95. // Si se presiona abajo.
  96. if (Key.isDown(65)) {
  97. // Si se presiona A.
  98. StartingJump();
  99. } else if (Key.isDown(83)) {
  100. // Si se presiona S.
  101. Player.Attacking = 1;
  102. Player.gotoAndPlay(124);
  103. }
  104. } else {
  105. Quiet ();
  106. }
  107. } else if (Player.Action == 3.5) {
  108. // Si el personaje está saltando pero aún no llegó a cierta altura.
  109. Player.SpeedY = Player.SpeedY+0.1;
  110. if (Player.SpeedY<-3) {
  111. MovingJump();
  112. } else {
  113. // Si el personaje llegó a cierta altura (y perdió cierta velocidad).
  114. Player.Action = 4;
  115. Jump();
  116. }
  117. //FALTA: AT, THROW???
  118. }
  119. //¿FALTA: AT, THROW, AG?
  120. }
  121. }
  122. //JUMP, AG WHILE STARTING AT? AFTER?
  123. //AG
  124. // Otras funciones.
  125. function StartingJump () {
  126. Player.gotoAndPlay(96);
  127. Player.Action = 0.5;
  128. }
  129. function MovingJump () {
  130. Player._x = Player._x+Player.SpeedX;
  131. Player._y = Player._y+Player.SpeedY;
  132. }
  133. function MinJump () {
  134. Player.Action = 3.5;
  135. Player.SpeedY = -4;
  136. MovingJump();
  137. }
  138. function Jump () {
  139. if (Key.isDown(65)) {
  140. // Si se presiona A.
  141. Player.SpeedY = Player.SpeedY+0.1;
  142. if (Player.SpeedY>=0) {
  143. // Si el personaje comienza a caer.
  144. Fall();
  145. }
  146. } else {
  147. // Si se suelta A.
  148. Player.SpeedY = 0.1;
  149. Fall();
  150. }
  151. MovingJump();
  152. }
  153. function Fall () {
  154. Player.Action = 3;
  155. Player.play();
  156. }
  157. function Walk () {
  158. Player.gotoAndPlay(35);
  159. Player.Action = 2;
  160. }
  161. function Attack () {
  162. Player.gotoAndPlay(2);
  163. Player.Attacking = 1;
  164. Player.Action = 1;
  165. }
  166. function FaceRight () {
  167. if (Player.Facing == -1) {
  168. Player.Facing = 1;
  169. Player._xscale = 100;
  170. }
  171. }
  172. function FaceLeft () {
  173. if (Player.Facing == 1) {
  174. Player.Facing = -1;
  175. Player._xscale = -100;
  176. }
  177. }
  178. function Crouch () {
  179. Player.gotoAndStop(96);
  180. Player.Action = 0;
  181. }
  182. function Quiet () {
  183. Player.gotoAndStop(1);
  184. Player.Action = 1;
  185. }
  186. //Player.SpeedX = 0.9*Player.Facing;
  187. //Jump();

El siguiente creo que es una búsqueda de la serie de acciones más corta con la cual se logre el objetivo de vencer al enemigo. También esto parece excesivamente complicado.
Código
  1.   actions for fotograma 1
  2.      // Situación inicial.
  3.      BaseHP = 10;
  4.      Action = 1;
  5.      BaseEnHP = 10;
  6.      // Guardar Situación inicial.
  7.      SitID = "S"+BaseHP+"_"+BaseEnHP;
  8.      set (SitID+"HP", BaseHP);
  9.      set (SitID+"EnHP", BaseEnHP);
  10.      set (SitID+"Action", "Ninguno");
  11.      // Variables de Unsolved situaciones.
  12.      U = 0;
  13.      Us = 0;
  14.   actions for fotograma 2
  15.      // Reset Situación.
  16.      HP = BaseHP;
  17.      EnHP = BaseEnHP;
  18.      trace ("La sit es: "+HP+"_"+EnHP);
  19.      // Aplicación.
  20.      trace ("Player attacks with "+Action+"!");
  21.      EnHP = EnHP-Action;
  22.      trace ("EnHP reducido a: "+EnHP);
  23.      // ¿Sol?
  24.      if (EnHP<=0) {
  25.         // Solución; iniciar mostrar lista.
  26.         List = Action;
  27.         gotoAndPlay (4);
  28.      } else {
  29.         // Sino, ambos están OK.
  30.         // Efecto.
  31.         trace ("Enemy attacks!");
  32.         HP = HP-1;
  33.         trace ("HP reducido a: "+HP);
  34.         if (0<HP) {
  35.            // Ambos están OK.
  36.            // ¿La situación está anotada?
  37.            if (eval("S"+HP+"_"+EnHP+"HP") == undefined) {
  38.               // No. Anotarla.
  39.               SitID = "S"+HP+"_"+EnHP;
  40.               set (SitID+"HP", BaseHP);
  41.               set (SitID+"EnHP", BaseEnHP);
  42.               set (SitID+"Action", Action);
  43.               trace ("Nueva sit anotada: "+SitID);
  44.               Us = Us+1;
  45.               SitID = "U"+Us;
  46.               set (SitID+"HP", HP);
  47.               set (SitID+"EnHP", EnHP);
  48.            }
  49.            // Sino, el enemigo ganó.
  50.         }
  51.      }
  52.   actions for fotograma 3
  53.      // La situación existe o el jugador perdió.
  54.      // ¿Modificar candidato es posible?
  55.      if (Action<3) {
  56.         // Modificación de candidato.
  57.         Action = Action+2;
  58.         gotoAndPlay (2);
  59.      } else if (U<Us) {
  60.         // Usar Unsolved.
  61.         U = U+1;
  62.         BaseHP = eval("U"+U+"HP");
  63.         BaseEnHP = eval("U"+U+"EnHP");
  64.         Action = 1;
  65.         gotoAndPlay (2);
  66.      } else {
  67.         // No hay Solución.
  68.         List = "No hay sol";
  69.         stop ();
  70.      }
  71.   actions for fotograma 5
  72.      SitID = eval("S"+BaseHP+"_"+BaseEnHP+"Action");
  73.      Base2HP = BaseHP;
  74.      BaseHP = eval("S"+BaseHP+"_"+BaseEnHP+"HP");
  75.      BaseEnHP = eval("S"+Base2HP+"_"+BaseEnHP+"EnHP");
  76.      if (SitID != "Ninguno") {
  77.         List = SitID+" "+List;
  78.         gotoAndPlay (4);
  79.      } else {
  80.         stop ();
  81.      }
  82.   }
Repito, muéstranos el método correcto según tú de hacer esas cosas.

Su respuesta:
Citar
Aprendé a programar.

Le digo:
Citar
Si te dijera que aprendas a pensar o a algo que crees que haces bien, te parecería una mala sugerencia.
Yo no es que crea que programo bien, pero mi modo es el que conozco y el que me gusta, así que no sé si tu sugerencia es trolleo o buena, pero parece trolleo porque no explicas qué es lo que te parece que hago mal y cómo crees que está bien. Además mis programas funcionan bien, por lo tanto tan mal no programo.

Lo que debe hacerse es explicar por qué se considera que el otro debe aprender, indicar qué es lo que se cree que hace mal.

No me digas que hago todo mal porque ni tú te lo crees.

Te he dicho que hagas tú esos programas, no lo has hecho ¿cómo tomarte en serio entonces? Si no quieres dedicar tanto tiempo vale, pero sólo has criticado de modo muy superficial, como de costumbre. Sé más específico respecto a qué crees que está mal, nunca lo has sido que yo recuerde.

A ver
Código:
Si se presiona abajo
   personaje se agacha
sino si se presiona derecha
   personaje queda mirando hacia la derecha
   personaje se muestra caminando
   personaje se mueve a la derecha
sino si se presiona izquierda
   personaje queda mirando hacia la izquierda
   personaje se muestra caminando
   personaje se mueve a la izquierda
sino
   personaje se muestra quieto
¿Eso crees que está mal, cómo lo harías?

Si crees que está bien agrega esto:
- Si se presiona S el personaje ataca parado o agachado según cómo haya estado
- Mientras ataca se detiene y no puede cancelar su ataque, no puede caminar. Tampoco puede reiniciar su ataque (puede cuando termine, cuando vuelve al estado "normal").
- Mientras ataca parado no puede agacharse, pero si está atacando agachado puede pararse

No sé si en mi programa lo hice así pero en el juego original acabo de ver que es así. No creo que sea difícil de hacer ni que tome tant tiempo y menos para un supuesto sabiondo como tú. Anda, muéstrame. Luego hablamos del salto.

Responde:
Citar
Lee un libro.

Luego le escribí que por qué él es así, entre otras cosas, y le voy a mandar un link a este tema.


¿Uds qué opinan? ¿qué tienen mal mis códigos si es que lo tienen, cómo serían mejor? ¿o me está trolleando? ¿o está loco y es incapaz de entender lo que se le dice? Parece como si en serio él se creyera un genio (no sólo en programación se lo cree) y que cuando se le piden demostraciones una especie de personalidad alterna le surgiera y no va más allá de repetir esas frases, no entiendo.

El 1er código no está terminado, pero funciona casi todo bien salvo lo que le estaba agregando, dejé de programar eso porque se me hizo complicado.
El 2ndo funciona bien.
Yo admito que mis códigos parecen excesivamente complicados, es decir, creo que pueden simplificarse, pero no sé cómo pero no me voy a poner a leer libros como si cualquiera fuera a decirlo.

Gracias, perdón si estoy dando de comer a un troll pero como es una cosa desde años (hay tiempos en que no le respondí, él mismo ya no responde tanto) no puedo creer que lo sea, pero, o es alguien que por algún extraño motivo no quiere explicar las cosas, o es alguien que tiene una locura bárbara. Y si es un troll quisiera que me expliquen cómo puede existir gente así porque no entiendo cómo puede haber gente que repite las mismas tonterías durante años para romper las bolas, no entiendo, como si no hubiera cosas más interesantes que hacer.
1127  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 4 Marzo 2023, 16:28 pm
¿Por que querriamos que los rusos pagaran por las acciones de su gobierno?
Cuando postié yo estaba asumiendo que el gobierno lo eligieron los rusos y que si dicho gobierno hacía lo que hacía era porque los rusos colaboraban. No soy experto en esos temas pero las armas que están usando los soldados rusos no se hicieron solas, sus uniformes tampoco, la comida que consumen tampoco, los vehículos que los transportaron tampoco ¿entonces cómo se hicieron? Si bien Rusia puede que haya comprado mucho de eso a otros países, e incluso contratado mercenarios, parece evidente que hay muchos rusos colaborando en que se construyan armas y todo lo demás que se usa para esta guerra injustificada.
También estaba pensando en que están dejando en ruinas a Ucrania, un país que hace eso no debería quedar vivito y coleando. Y también pensaba que a los rusos que no les gustara se podrían ir del país, pero no estaba pensando que eso es complicado, más bien pensaba en que eso mismo obligaron a hacer a los ucranianos.

Citar
No se de donde eres
Uruguay, queda abajo de Brasil.

Citar
y no es Estados Unidos sino Europa el que debe llevar las riendas de esta situacion
Yo tenía entendido que la ONU se creó para proteger a los países de ser invadidos injustificadamente como hizo Hitler. La ONU incluye a EEUU tengo entendido.


Citar
PD: "Deberian dejarlos en la ruina". Un poco cinico el comentario, ¿No? xd ¿Con dejar en la ruina a que te refieres? ¿Al pueblo ruso o al gobierno ruso? ¿Sabias que gran parte del pueblo ruso esta en contra de la guerra? Me imagino que no, porque con ese comentario...
Como dije, cuando hice el comentario no estaba teniendo en cuenta ciertas cosas, pero también es que me cuesta creer que la invasión sea culpa de unos pocos rusos, siento (probablemente me equivoque) que es culpa de la mayoría.
¿Lo ideal? No tiene mucho sentido que hable de lo que me parece ideal, pero bueno, entre a) que rompan toda Rusia y b) que maten a los que siguen colaborando con la invasión, prefiero la b.
El tema es también que la historia no se repita. Si en Rusia surgió un grupo de personas que siguen colaborando con la invasión, significa que ese país está podrido y habría que limpiarlo ¿no? O un nuevo grupo así invasivo volverá a nacer, invadirán otro país, y si siguen así invadirán todo.

Citar
Vale la pena investigar todo lo que ocurrio en la alemania Nazi y en los tiempos de la Union Sovietica a profundidad para comprender los patrones que se repiten.
Paso, pero me interesa, dime un resumen please ¿qué ocurrió en relación con "los sentimientos y la informacion que se transmiten en tiempos de guerra"?
1128  Programación / .NET (C#, VB.NET, ASP) / Re: Muestra en consola el nombre de la variable, no su contenido en: 2 Marzo 2023, 22:07 pm
Sólo le veo utilidad si el nombre es generado según variables que desconoces. Por ejemplo si pones una lista de posibles nombres y creas una variable con un nombre al azar de entre ellos, te puede servir. Normalmente se usaría Personaje1Ubicacion por ejemplo, en vez de PablitoUbicacion, pero capaz que en algún caso conviene hacerlo así.
Pero tú llamas a la variable sabiendo el nombre, en este caso no lo sabrías, tendrías que guardarlo en una variable cuando se genere.

Últimamente estoy pensando en representar visualmente los grafos que se producen en mis buscadores de las series más cortas de acciones (puede sonar muy complejo pero sólo lo apliqué en cosas muy simples, y capaz que ni siquiera se llaman así, pero es que fuerza bruta tampoco creo que sea), hace como 1 año que no toco eso pero, si mal no recuerdo se crean variables cuyos nombres describen una situación y el contenido es qué acción se realizó antes de que se produjeran y/o cual era la situación anterior, no me acuerdo, pero, en este caso puede que convenga mostrar el nombre de la variable.
Te busco algún code porque imagino que eso no está bien explicado, pero como digo estoy fuera de práctica así que no esperes gran cosa.
Código
  1.   actions for fotograma 1
  2.      // Situación inicial.
  3.      BaseHP = 10;
  4.      Action = 1;
  5.      BaseEnHP = 10;
  6.      // Guardar Situación inicial.
  7.      SitID = "S"+BaseHP+"_"+BaseEnHP;
  8.      set (SitID+"HP", BaseHP);
  9.      set (SitID+"EnHP", BaseEnHP);
  10.      set (SitID+"Action", "Ninguno");
  11.      // Variables de Unsolved situaciones.
  12.      U = 0;
  13.      Us = 0;
  14.   actions for fotograma 2
  15.      // Reset Situación.
  16.      HP = BaseHP;
  17.      EnHP = BaseEnHP;
  18.      trace ("La sit es: "+HP+"_"+EnHP);
  19.      // Aplicación.
  20.      trace ("Player attacks with "+Action+"!");
  21.      EnHP = EnHP-Action;
  22.      trace ("EnHP reducido a: "+EnHP);
  23.      // ¿Sol?
  24.      if (EnHP<=0) {
  25.         // Solución; iniciar mostrar lista.
  26.         List = Action;
  27.         gotoAndPlay (4);
  28.      } else {
  29.         // Sino, ambos están OK.
  30.         // Efecto.
  31.         trace ("Enemy attacks!");
  32.         HP = HP-1;
  33.         trace ("HP reducido a: "+HP);
  34.         if (0<HP) {
  35.            // Ambos están OK.
  36.            // ¿La situación está anotada?
  37.            if (eval("S"+HP+"_"+EnHP+"HP") == undefined) {
  38.               // No. Anotarla.
  39.               SitID = "S"+HP+"_"+EnHP;
  40.               set (SitID+"HP", BaseHP);
  41.               set (SitID+"EnHP", BaseEnHP);
  42.               set (SitID+"Action", Action);
  43.               trace ("Nueva sit anotada: "+SitID);
  44.               Us = Us+1;
  45.               SitID = "U"+Us;
  46.               set (SitID+"HP", HP);
  47.               set (SitID+"EnHP", EnHP);
  48.            }
  49.            // Sino, el enemigo ganó.
  50.         }
  51.      }
  52.   actions for fotograma 3
  53.      // La situación existe o el jugador perdió.
  54.      // ¿Modificar candidato es posible?
  55.      if (Action<3) {
  56.         // Modificación de candidato.
  57.         Action = Action+2;
  58.         gotoAndPlay (2);
  59.      } else if (U<Us) {
  60.         // Usar Unsolved.
  61.         U = U+1;
  62.         BaseHP = eval("U"+U+"HP");
  63.         BaseEnHP = eval("U"+U+"EnHP");
  64.         Action = 1;
  65.         gotoAndPlay (2);
  66.      } else {
  67.         // No hay Solución.
  68.         List = "No hay sol";
  69.         stop ();
  70.      }
  71.   actions for fotograma 5
  72.      SitID = eval("S"+BaseHP+"_"+BaseEnHP+"Action");
  73.      Base2HP = BaseHP;
  74.      BaseHP = eval("S"+BaseHP+"_"+BaseEnHP+"HP");
  75.      BaseEnHP = eval("S"+Base2HP+"_"+BaseEnHP+"EnHP");
  76.      if (SitID != "Ninguno") {
  77.         List = SitID+" "+List;
  78.         gotoAndPlay (4);
  79.      } else {
  80.         stop ();
  81.      }
  82.   }
  83.  

Con los codes que dicen set aquí
Código:
      BaseHP = 10;
      Action = 1;
      BaseEnHP = 10;
      // Guardar Situación inicial.
      SitID = "S"+BaseHP+"_"+BaseEnHP;
      set (SitID+"HP", BaseHP);
      set (SitID+"EnHP", BaseEnHP);
      set (SitID+"Action", "Ninguno");
Se crean estas variables:
S10_10HP = 10
S10_10EnHP = 10
S10_10Action = "Ninguno"
Si mal no recuerdo significa que la situación anterior a la inicial fue ella misma (lo cual se interpreta como que fue ninguna) y que la acción conque se produjo fue ninguna.

Tendríamos S10_10 en pantalla, indicando cómo era la 1era situación, el inicio del grafo.

Código:
            // ¿La situación está anotada?
            if (eval("S"+HP+"_"+EnHP+"HP") == undefined) {
               // No. Anotarla.
               SitID = "S"+HP+"_"+EnHP;
               set (SitID+"HP", BaseHP);
               set (SitID+"EnHP", BaseEnHP);
               set (SitID+"Action", Action);
Esto se realiza luego de que los rivales se golpeen y sólo si ambos sobreviven. El ataque usado por la IA que intenta aprender "el camino más corto" (hacia vencer a su rival) fue el que hace 1 punto de daño, el enemigo usa ese ataque siempre, por lo que ahora tenemos:
S9_9HP = 10
S9_9EnHP = 10
S9_9Action = 1
Significa que ahora ambos luchadores tienen 9 HP, antes tenían 10, y la acción usada por la IA fue la 1.

Entonces, el grafo ahora es:
S10_10
      |
      | 1
      V
S9_9
Próximamente se regresa a la situación anterior, y si hay otra acción posible se realiza, la cual es quitar 3 HP en vez de 1, lo que nos da...
            3
S10_10 ---> S9_7
      |
      | 1
      V
S9_9
Pero creo que los que saben del tema saben nombrar a las situaciones como les de la gana o no sé bien qué hacen, tenía un libro donde hacían esto pero lo presté y no me lo devolvió el mr.
1129  Programación / Programación General / Re: ¿Hacer programa que genere/cargue archivo y detecte que no es una copia? en: 2 Marzo 2023, 11:07 am
las fechas no son fiables, porque se pueden cambiar
La de creación no sé cómo. Igual no importa, el asunto es que el copiador no sabría por qué su copia no funciona, no necesariamente se le ocurriría que es debido a la diferente fecha, por lo que no necesariamente la cambiaría. Entre más reduzca las chances de que hagan trampa mejor, mientras no me tenga que esforzar demasiado.

Citar
deberían esmerarse en no guardar los datos en texto plano
Sí, es que nunca probé, es buena idea, ayuda, pero creo que los datos se guardarán de modo humanamente legible también, es decir, el archivo puede ser un .sav por ejemplo, pero si se abre con el bloc de notas creo que se vería igual a como abrir un txt. Probaré algún día.

Citar
Pero francamente, si usas un programa que tiene sus usos y limitaciones, para qué te preocupas por el asunto?
Es que no sé si realmente es imposible, pregunto por curiosidad, me interesa aprender a usar las herramientas que tengo no a su máximo potencial pero más o menos sí.
1130  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 2 Marzo 2023, 06:56 am
¿Pero cómo puede haber países que apoyen la invasión de uno que nada hizo? Si es por algunos supuestos nazis, eso no justifica ir a romper todo.

A Armenia tengo entendido que los masacraron una vez, parece que no aprendieron que el que le pase eso a un país es desagradable, o no sé qué les pasa.
Y Venezuela no sé si me da risa o qué, se caen a pedazos y apoyan que se haga pedazos a otro en vez de que los recursos usados para eso se usaran para mejorar a los países pobres. Chavezs se quejaba del supuesto imperialismo yanquie ¿y lo que hace Rusia no lo es? Que yo sepa los yanquies fueron atacados por un par de aviones, quizá fue un autoatentado sí, pero los rusos ni esa excusa tienen. Pensar que a mí los rusos me habían empezado a caer bien a pesar de tantas películas donde eran pintados como los malos. Pero ahora... Bueno, no los rusos sino quienes apoyan a Putin, pero imagino que son la mayoría. Aunque dicen que los informativos les mienten. ¿Pero qué les han dicho para que crean que está bien invadir?  :rolleyes:
Páginas: 1 ... 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 [113] 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 ... 257
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines