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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Re: python en: 3 Agosto 2018, 17:07 pm
https://mega.nz/#F!5PYj2aoQ!p52qjtbk_cRaGQuqtlC5Jg!gLpH3IbA
https://www.youtube.com/watch?v=G2FCfQj-9ig&list=PLU8oAlHdN5BlvPxziopYZRd55pdqFwkeS
https://mega.nz/#F!DgMHwIQR!2b11bBu7iPfjpRm70m2ogg
:)
2  Programación / Programación General / Re: aprender a programar en: 14 Julio 2018, 09:13 am
Mira amigo te voy a dar un concejo. Muchos programadores novatos se esfuerzan por aparentar saber muchos lenguajes de programacion, escribir el famoso "hola Mundo" y sonreir a la vida. Pero un buen programador pasa el 70% de su tiempo leyendo y el 30% escribiendo codigos.
Mas importante que iniciar una discusion tonta por saber cual es el mejor lenguaje de programacion, es mejor que sepas que el lenguaje como tal no es el mas importante de aprender. Me refiero a que debes comprender bien el funcionamiento de las cosas y debes saber que son los paradigmas de programacion.
Por ejemplo si vas a construir una casa primero debes conocer como es que se fabrica una casa antes de habalr de materiales, costos, etc.

Me parece muy exagerado el comentario de NEBIRE.
Decir que un lenguaje diseñado por el MIT para el aprendizaje de los fundamentos de la programación es completa basura, me parece una actitud arrogante. Nadie es perfecto ni tiene la potestad como para juzgar y separar todo en "bueno" y  "malo" según su propia perspectiva. El objetivo de Scratch es hacer comprender a las personas de una forma didáctica el funcionamiento de los conceptos basicos de la programacion. Los paradigmas no son recetas en las cuales se deban seguir una serie de pasos determiando y ya. Es muy importante que el programador entienda bien que esta haciendo y el por qué de las cosas.
Cada lenguaje de programacion es... eso! un lenguaje. Como tal tiene reglas distintas. Sin embargo cada uno tiene sus ventajas y desventajas, aqui te hago un breve resumen de los lenguajes mas populares:


1. JAVA: Java es un lenguaje interpretado, moderno, potente y agil. LA filosofia de JAVA original es "escribe tu código una vez". A lo que se refiere es que el objetivo de java es que tus programas sean multi-plataforma, es decir, que sean compatibles en diferentes maquinas, sistemas operativos y entornos. Java está en todas partes. Es por eso que hay una versión de java en cualquier dispositivo, desde celulares, computadores, servidores hasta lavadoras y tarjetas de crédito.  Actualmente Java es el lenguaje mas popular que existe y en el que mayor oferta de empleos hay. Siempre se necesitan programadores en java. Si te preocupa tu futuro laboral Java es tu opción.

2. Python: Otro lenguaje de programación del tipo interpretado ( es compatible en varios dispositivos haciendo uso de un interprete ) es python. Actualemtente está tomando mucha fuerza por las ventajas que ofrece frente a otros lenguajes.                                                                                                         
La característica de python es que se pone del lado del programador. Su filosofía se basa en hacer el código lo mas legible, simple y sencillol posible.
Python es un lenguaje multi-paradigma y potente conocido como el lenguaje "de las baterias incluidas", es decir, está listo para hacer casi cualquier cosa de la forma mas simple posible. Si quieres un lenguaje potente y simple a la vez, python es tu elección.

3. C++: C++ es la continuación mejorada de c, quien es conocido como el padre ( abuelo) de TODOS los lenguajes. C++ es un lenguaje potente que reúne todas las carcateristicas de c en un paradigma de programación conocido como POO (programación orientada a objetos). Cabe mencionar que a diferencia de los dos anteriores, c++ es un lenguaje compilado.

4. javascript: javascript es el rey en internet debido a que lo puedes encontrar en todas las paginas web que existen. javascript es ejecutado del lado del cliente y permite interactuar con distintos elementos en las paginas web. Otro lenguaje en el que hay muchas ofertas laborales.


Solo resumí 4 lenguajes ( porque me canse xD) sin embargo hay un mundo de tecnologías que requieren paradigmas y conocimientos que puedes encontrar en una gran cantidad de lenguajes.

A continuación te dejo una serie de cursos si quieres empezar en este mundo:

1. Python: https://www.youtube.com/watch?v=G2FCfQj-9ig&t=28s

2. JAVA: https://www.youtube.com/watch?v=coK4jM5wvko&list=PLU8oAlHdN5BktAXdEVCLUYzvDyqRQJ2lk

3. javascript: https://www.youtube.com/watch?v=m2nscBtQEIs&list=PLU8oAlHdN5BmpobVmj1IlneKlVLJ84TID
 
4. C++: https://www.youtube.com/watch?v=7x9369_-cWc&list=PL4A486BBFC5AD733B


Adicional puedes encontrar cursos en archivos pdf:

https://mega.nz/#F!5PYj2aoQ!p52qjtbk_cRaGQuqtlC5Jg!sWIgiCRD
https://mega.nz/#F!DgMHwIQR!2b11bBu7iPfjpRm70m2ogg

El problema no es encontrar recursos para aprender sino comprender lo que haces.

Buena suerte
3  Programación / Programación General / Re: Ayuda para crear un bot en: 14 Julio 2018, 04:19 am
Bueno estoy trabajando con los cambios que me indicaste. Voy a ver si me funciona. En cuanto este listo mi bot lo voy a publicar xD
4  Programación / Programación General / Re: curso de python por pdf en: 7 Julio 2018, 23:14 pm
https://mega.nz/#F!DgMHwIQR!2b11bBu7iPfjpRm70m2ogg
5  Programación / Programación General / Re: Cursos de programación en español en: 7 Julio 2018, 23:13 pm
Gracias bro
Ese es el espiritu jeje :)
6  Programación / Programación General / Re: ¿que programa me recomiendan usar para este proyecto? en: 7 Julio 2018, 23:11 pm
Si quieres algo simple de hacer y a la vez potente usa python.
Si no quieres aprender algo nuevo pues pagale a alguien que lo haga por ti.
Saludos
7  Programación / Programación General / Re: Ayuda para crear un bot en: 7 Julio 2018, 23:00 pm
Gracias por responder.
Bueno si creo que no especifique que no quiero un chatbot.
La idea es un programa que interactue con un juego en base a algo que se le especifique.

Citar
Por último, hablas de matar en un mapa ¿pero cuántas dimensiones tiene? ¿tiene obstáculos? ¿plataformas? ¿cómo mata? ¿hablas de un shooter o más bien algo como Warcraft 3?
Es un juego en 2d visto desde arriba que tiene dos cosas simples: enemigos y cosas para recojer nada mas.
Hay varios tipos de enemigos unos mas fuertes que otros y es en base a eso que debe decidir si atacar o escapar.


Actualmente trabajo con open cv para identificar a los enemigos y objetos a recojer en la pantalla.
Citar
En caso de videojuego estilo Warcraft, por ejemplo, si uno de tus soldados se encuentra con algún enemigo, lejos de tu base:
Código:
¿Crees que le ganas?
   S: Machacarlo.
   N: ¿Crees que conoce donde está tu base?
      S: ¿Crees que va distraídamente a ella?
         S: Machacarlo.
         N: ¿Crees que conviene machacarlos en tu base?
            S: ¿Tu soldado tiene menos rango que el enemigo?
               S: ¿Crees conveniente que tu soldado corra a la base?
                  S: Que corra a tu base.
                  N: Machacar al enemigo.
                  Nota: Otra opción sería alejarse, pero si el enemigo lo persigue entonces probablemente lo hiera y se aleje de la base.
               N: Mientras tenga rango y resistencia suficiente, atacar. Si se acercan, acercarte a tu base.
            N: ¿Tu soldado tiene menos rango que los enemigos?
               S: Mientras lo estén persiguiendo, huir al punto más alejado de ellos y las bases.
               N: Mientras tenga rango y resistencia suficiente, atacarlos. Si se acercan, acercarte al punto más alejado de ellos y las bases.
      N: ¿Crees que va distraídamente a ella?
         S: Machacarlo.
jeje le diste en el clavo.
Por ejemplo
Código:
 si el enemigo3 es mas fuerte que jugador entonces escapar sino atacar.
EL problema aqui es que lo unico que he logrado avanzar es en que el programa reconozca las imagenes del juego tales como enemigos y objetos para recojer pero mas nada.
Lo que necesito es un ejemplo de como interactuar con esa informacion.


Citar
Tendrías que hacer esto para más casos, por ejemplo si un enemigo llega a tu base. Aunque en ese caso parece obvio qué hacer.
Exacto pero no logro encajar esos datos con instrucciones.( ni me imagino siquiera como)

Citar
Lo ideal sería que la IA pudiera aprender, pero es muy difícil así como para empezar.
En eso pense porque la idea ( o lo que creo) es que el programa tenga la menor asistencia posible.
Los humanos no somos perfectos ni hacemos las cosas exactamente es por eso que deberia tener comportamientos erráticos espontáneos  que simulen a un ser humano.
Por ejemplo equivocarse al tomar una decision o desplazarse a algun lugar sin tener realmente un motivo para hacerlo( no hay enemigos ni tampoco objetos).

Esto es lo que tengo ( omito la parte de buscar imagenes ):
Código
  1. -----
  2. class accion (pem):
  3.         def __init__(self, arg):
  4.         super(accion, self).__init__()
  5.         self.arg = arg
  6.         global enemigo,x,y
  7.                        if enemigo ==3:
  8. escapar(x,y)
  9. else:
  10. atacar(x,y)
  11.  
  12.         def m_m(x, y):
  13. pyautogui.moveTo(x, y)
  14.     pyautogui.click()
  15.  
  16.  
  17. def press(p):
  18.   pyautogui.press(p)
  19.  
  20.  
  21. def atacar(posX, posY):
  22. m_m(posX, posY)
  23. press("c")
  24.  
  25.  
  26. def escapar(x, y):
  27. if x < 10 or x > 220:
  28. x = 100
  29. if y < 35:
  30. y = y + 10
  31. m_m(x, y)
  32.  
Algun ejemplo paractico al respecto me serviara de ayuda.
gracias
8  Programación / Programación General / cambiar parametros a boton en wxpython en: 7 Julio 2018, 22:13 pm
HOla buenas tengo una duda acerca de como cambiar parametros a un boton en wxpython. Me explico:
Tengo una ventana con una lista desplegable con algunos colores y  tengo un boton mas abajo que dice "OK"

La idea es que el usuario seleccione algun color de la lista y luego le de al boton "OK".

Si el usuario selecciona el color blanco se debe abrir un pop-up con un mensaje de error.
Si selecciona algun otro color se debe cerrar la ventana.
Aqui el codigo en python:

Código
  1. import wx
  2.  
  3.  
  4.  
  5. class ventana(wx.App):
  6.    """docstring for ventana"""
  7.  
  8.    def OnInit(self):
  9.        frame = crear_ventana()
  10.        frame.Show(True)
  11.        frame.Centre()
  12.        return True
  13.  
  14. ####SI EL USUARIO SELECCIONA BLANCO Y LE DA OK DEBE APARECER ESTA VENTAN:#######
  15.  
  16.  
  17. class ventana_error(wx.Dialog):
  18.  
  19.    def __init__(self, padre):
  20.  
  21.        wx.Dialog.__init__(self, padre, wx.NewId(),
  22.                           title="Error", size=(300, 100))
  23.        panel = wx.Panel(self, -1)
  24.        boton = wx.Button(panel, label="entendido",
  25.                          pos=(125, 37), size=(70, 25))
  26.        boton.Bind(wx.EVT_BUTTON, self.llamar)
  27.        self.Centre()
  28.        normal = wx.StaticText(
  29.            panel, -1, "Seleccione otro color", pos=(75, 15), style=wx.ALL)
  30.        # self.entrada_texto=wx.TextCtrl(panel,value="",pos=(5,27),size=(5,5),style=wx.TE_LEFT)
  31.  
  32.    def llamar(self, event):
  33.        self.Close(True)
  34.  
  35.  
  36. #################VENTANA PRINCIPAL: ##################
  37.  
  38. class crear_ventana(wx.Frame):
  39.  
  40.    def __init__(self):
  41.        wx.Frame.__init__(self, None, -1, title="Seleccione colores", size=(200, 200),
  42.                          pos=(100, 10), style=wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX | wx.CLOSE_BOX))
  43.        panel1 = wx.Panel(self, -1)
  44.  
  45.        boton1 = wx.Button(panel1, label="OK",
  46.                           pos=(50, 100), size=(50, 25))
  47.  
  48.        opciones = [u"Blanco", u"Rojo", u"Verde"]
  49.        self.opciones = wx.Choice(
  50.            panel1, wx.ID_ANY, choices=opciones, pos=(50, 50), size=(100, 25))
  51.        self.opciones.SetSelection(-1)
  52.  
  53.        #####AQUI ESTA EL PROBLERMA:######
  54.        boton1.Bind(wx.EVT_BUTTON, self.llamar_ventana1)
  55.        # Lo que necesito es cambiar ese llamar_ventana1
  56.        # por llamar_ventana2 pero dependiendo de lo que el
  57.        # usuario seleccione
  58.  
  59.        dec = self.opciones.Bind(
  60.            wx.EVT_CHOICE, self.Choice)  # esto se me ocurrio
  61.        # pero resulta que solo funciona una vez al ejecutarse
  62.        # tal vez que me devuelva un valor distinto cada vez que
  63.        # el usuario cambie de seleccion
  64.        # dec almacena eso que el usuario selecciona
  65.  
  66.        print("dec: ")
  67.        print(dec)
  68.  
  69.    def Choice(self, event):  # Esta es la funcion para verificar lo que se selecciono
  70.  
  71.        opcion_seleccionada = self.opciones.GetStringSelection()
  72.        opcion_seleccionada_uno = self.opciones.GetSelection()
  73.        print(opcion_seleccionada)
  74.        print(opcion_seleccionada_uno)
  75.        return opcion_seleccionada_uno
  76.  
  77.    def llamar_ventana1(self, event):  # si el usuario selecciona blanco
  78.        # llamar a esta funcion
  79.        ventana2 = ventana_error(self)
  80.        ventana2.ShowModal()
  81.        ventana2.Destroy()
  82.  
  83.    def llamar_ventana2(self, event):  # si selecciona otro color llamar a esta funcion
  84.        self.Destroy()
  85.  
  86.  
  87. app1 = ventana(0)
  88. app1.MainLoop()
  89.  
  90.  

Si porfavor alguien sabe como hacer eso me explica.
Estare aqui todo el tiempo gracias :)
9  Programación / Programación C/C++ / Re: mi programa no lee las opciones del menu en: 25 Junio 2018, 20:57 pm
Hola mira pues no se si te entendi bien pero lo que deberias usar es un diccionario de datos.
Mas facil puedes declarar unos arreglos globales ( antes del main):

Código
  1. String nombres_nuevos[100]; // en tu caso usas char
  2. int indice_nombres =0; // esta variable global sirve para recorrer el arreglo nombres_nuevos
  3. String apellidos_nuevos[100]; // arreglo para los apellidos
  4. int indice_apellidos=0; // variable para recorrer el arreglo
  5. String direccion_nueva[100];
  6. int indice direccion=0;
  7. int n_telefono[100];
  8. int indice_telefono=0;
  9.  
  10.  

Luego al momento de pedir los datos tienes que guardar los datos en cada uno de los arreglos y aumentar el inidce en 1 para cada dato.

Código
  1. system("cls");
  2.      printf("\nIngrese el nombre:  \n");
  3.      scanf("%s",&b);
  4.      nombres_nuevos[indice_nombres]=b;
  5.      indice_nombres++;
  6.      printf("\nIngrese el apellido:  \n");
  7.      scanf("%s",&c);
  8. apellidos_nuevos[indice_apellidos] = c ;
  9. indice_apellidos++;
  10.  
  11.      printf("\nIngrese la direccion por calle: \n");
  12.      scanf("%s",&d);
  13. direccion_nueva[indice_direccion]=d;
  14. indice_direccion++;
  15.      printf("\nIngrese el numero telefonico: \n");
  16.      scanf("%s",&e);
  17. n_telefono[indice_telefono]=e;
  18. indice_telefono++;
  19.  
  20.  


Yo uso String y no char por lo que este codigo no funcionara a menos que cambies el tipo de mis variables por Char o dejes de utilizar char y uses Strings.
Con cada recorrido el indice de todos los arreglos cambia por lo que el mismo numero de indice debe coincidir con cada usuario.
Al momento de mostrar la informacion muestras los arreglos con el mismo numero de inidice ( mas facil con un for o algo).
Recuerda que hacer casting entre String y char es doloroso :)


[MOD] Para publicar código se usan las etiquetas GeSHi.

10  Programación / Programación General / Ayuda para crear un bot en: 25 Junio 2018, 19:30 pm
Hola bueno pues quiero crear un bot para un juego.  Actualmente estoy trabajando en python y quiero saber que tengo que hacer o por donde empezar. Tambien uso c++.
La idea del bot es simple( bueno relativamente  ;D ) que mate a los bichos segun el mapa en el que se encuentre. Que recoja cosas que encuentre por ahi y escape de ataques. Tengo unos avances PERO no exactamente de bot sino mas bien de interactuar con el equipo. (Tomar una captura de pantalla, hacer click en tal posicion, oprimir tal tecla) La idea es que parezca que es un humano y no solamente un programa.
Si pueden ayudarme con informacion o ejemplos que me sirvan me ayudarian mucho...
Gracias
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines