Lo de instalar el Runtime era una broma pues iba seguido por el ícono > .
Lo que sí es que no me parece correcto usarlo debido a que los controles se crean sin usar nada de código .
| ||||
Respuesta: Segunda competencia para programadores Lo de instalar el Runtime era una broma pues iba seguido por el ícono > . Lo que sí es que no me parece correcto usarlo debido a que los controles se crean sin usar nada de código .
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Segunda competencia para programadores Hola, acabo de leer el tema, y tengo unas sugerencias para este, pero mas que nada para el siguiente concurso. Concurso Actual ¿Que les parece que gane (o al menos que obtenga muchos puntos extras) el que resuelva el algoritmo en menos tiempo? Es MUY facil agregarle esa funcion, y ahi se sabria con exactitud quien hizo el algoritmo mas rapido. Proximo Concurso Lo mas importante es sentar bien las bases. Que sean inamovibles. Mis sugerencias: 1.- Primero que nada, que se avise con 1 semana de anticipacion, cuando se daran a conocer las bases para el siguiente concurso. 2.- Ese dia dar los requerimentos y el tiempo de entrega (por ejemplo, subirlo el lunes 15 de octubre a las 12pm en GMT-6) 3.- Definir que lenguajes estan permitidos, o mas facil, que lenguajes NO estan permitidos. 4.- Definir la plataforma. Sugiero que la plataforma default sea windows. Los que quieran codear sobre linux, mac u otro sistema operativo, deberan tener mas cuidado, ya que deben de asegurarse que su codigo sea recompilable y ejecutable sobre windows. 4.1-Aquellos que programen sobre un OS que no es windows, deben de proporcionar las instrucciones detalladas de lo que se necesita para compilar y correr su aplicacion. 5.- Sugiero que NO se tome en cuenta el codigo. Es decir, imaginense que participan 10 y todos en lenguajes diferentes (pascal, basic, c#, c++, java, python, ect...). Dar puntos por codigo limpio va a depender demasiado de los conocimientos del juez, y lo ideal es que todos seamos los jueces. 6.- Definir exactamente como se eligira al ganador. Para esto, propongo que todos seamos jueces, y existan unas 5 categorias. Por ejemplo, se puede calificar del 1 al 10: -Presentacion -Estabilidad (que no crashee) -Facilidad de instalar -Diversion -Funcionalidad (que realmente haga lo que tiene que hacer, si alguien le agrego cosas extras, se le pueden dar mas puntos). Extra: Tiempo de ejecucion de los algoritmos. El que lo haga mas lento, recibe 0 puntos, el segundo mas lento recibe 1 punto, y asi se va hasta llegar al mas rapido. Esas son mis sugerencias. |
| ||||
Respuesta: Segunda competencia para programadores Cita: De ninguna forma, pues yo también podría hacerlo con Visual Basic si así quisiera. Cuanto más lenguajes aprendes mejor, te recomiendo que aprendas C o Python que son lenguajes más potentes, y muchos otros que hay por ahí.Saludos . Éxitos con el jueguito.
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Segunda competencia para programadores Y que paso por fin con esto? si es el 6, lo estas jeje. Si es el .NET esta bien. |
| ||||
Respuesta: Segunda competencia para programadores Hola, ¿ En que momento hay que presentar el proyecto ? ¿ Por los diferentes husos horarios ? Es decir, estamos a 5 de Octubre, y la fecha límite es el 6. El proyecto sigue en pie y continuamos con las mismas reglas ... ? Puedo mostrar mi juego ... poner el vínculo ... ya ? Faltan 6 minutos ... ... bromita ! Saludos, Última edición por HackmanC; 05/10/2008 a las 23:54 Razón: vínculo ? |
| ||||
Respuesta: Segunda competencia para programadores Hola, me disculpo de verdad, por mi falta de irresponsabilidad, no boy a poder entregar el programa, que estube muy liado ultimamente y los pocos momentos que tube para programar no puede resolber el maldito algoritmo que lo resolbiera solo -.- |
| |||
Respuesta: Segunda competencia para programadores Hola, disculpen mi ausencia XD, pero no voy a poder entregar el jueguito, la verdad es que no he tenido tiempo para nada y no he echo casi nada, lo siento, pero para otra competencia intentaré asistir, gracias por su comprensión 54LU2 y lo siento |
| ||||
Respuesta: Segunda competencia para programadores Bueno, es ya el último día, así que nos toca a todos presentar nuestros proyectos. El que no lo entregue hoy ya no podrá participar (Dejemos las 00:00 en cada hora local como límite). Por mi parte, temo compartir que mi proyecto quedó a la mitad, pues nunca pude deducir la IA que necesitaría el programa para resolver el juego por si mismo (Una creación solo es tan buena como su creador, y yo apenas si resuelvo el juego moviendo fichas al azar casi ). Así que quedando yo descalificado, solo me queda ver los resultados de los competidores. Suerte a todos |
| ||||
Respuesta: Segunda competencia para programadores Hola, Bueno, bueno... no hay problema. Realmente yo si tuve bastante tiempo disponible, y creo que la lógica de programación no era sencilla. Me extendí bastante en algunos aspectos; pero creo que cumple con todos los requisitos solicitados. En velocidad no es muy eficiente, repite muchas operaciones. Todos los detalles están en la página de Lycos. (NO muestra el Applet en Java en la página principal). Pero igual ... aquí está mi juego ... http://hackmangt.tripod.com/JPuzzle/index.html JPuzzle Copyright © 2008 HackmanGT Saludos, ps: In Lycos hay un límite de 1 Gb. de transferencia mensual, así que posiblemente los últimos en verlo les muestre un mensaje que se acabó el ancho de banda. Esta liberado como Open Source. Última edición por HackmanC; 06/10/2008 a las 11:14 Razón: imagen |
| |||
Respuesta: Segunda competencia para programadores Hola hackmanC, felicidades por tu proyecto. Me gusto mucho que no solo te dedicaste a resolver el problema especifico de 3x3, sino que lo extendiste a nxn. Ademas, la documentacion es buena y el codigo en general es bastante ordenado y legible (no lo lei a detalle). Por lo que lei, se ve que aprendiste bastante con este proyecto, lo cual se me hace muy importante. Mi unica gran queja, es que tu algoritmo para resolverlo es bastante pobre (es una critica constructiva), el de 3x3 lo probe un par de veces, y y no siempre se tardaba lo mismo, y a veces solo tenia que mover las 2 piezas de abajo hacia la izquierda y movia otras que no tenia caso, lo cual me hace suponer que es a prueba y error. El de 10x10 se llevo casi 9 minutos en resolverlo, 9!!! Para mi gusto, debiste pasar mas tiempo en pensar mejor tu algoritmo que darle todos esos detalles bonitos. El buen funcionamiento en los videojuegos es basico, y ahi tuviste una gran falla. En mi muy particular punto de vista, si alguien viene con un algoritmo que resuelva el nxn de una manera claramente superior, aun cuando su programa fuera en modo texto, y sin esa documentacion, el deberia ganar. No lo tomes a mal, mi intencion fue dar una opinion lo mas objetiva posible. saludos, |
| ||||
Respuesta: Segunda competencia para programadores bueno HackMan muy interesante... asi hasta ganas de jugar dan para resolver el jueguito
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |
| ||||
Respuesta: Segunda competencia para programadores Después de ver el trabajo publicado se me fueron las ganas de publicar el mío (que de hecho no he mirado en las últimas 2 semanas ). Cita: No le mires al mío, porque la forma de resolver es igual de mediocre o peor . Irresponsabilidad mía dejarlo de la misma forma como estaba.
Iniciado por blackwind En mi muy particular punto de vista, si alguien viene con un algoritmo que resuelva el nxn de una manera claramente superior, aun cuando su programa fuera en modo texto, y sin esa documentacion, el deberia ganar. Bueno, pero como para no dejarle a HackmanC participar solito, aquí va: Archivo: 8puzzle.py Descripción: Menú Principal
Código python:
Archivo: modgame.pyVer original Descripción: Módulo del programa, contiene el juego en sí.
Código python:
Archivo: clear.batVer original Descripción: <sarcasmo>El archivo principal del proyecto</sarcasmo>. Solo sirve para que el borrado de pantalla funcione en Windows .
Código:
Felicidades, HackmanC por ganar la competencia .cls P.S.: ¿De veras es necesario hacer una votación? .
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
Respuesta: Segunda competencia para programadores Gracias ! Cita: No hay problema. .
Iniciado por blackwind Mi unica gran queja, es que tu algoritmo para resolverlo es bastante pobre (es una critica constructiva), el de 3x3 lo probe un par de veces, y y no siempre se tardaba lo mismo, y a veces solo tenia que mover las 2 piezas de abajo hacia la izquierda y movia otras que no tenia caso, lo cual me hace suponer que es a prueba y error. Realmente el algoritmo no es a prueba y error; cada movimiento lo calcula en base a muchos factores; (mira la clase Cerebro().Resolver(), especialmente la función encontrarMejorPosicion() y encontrarMejorMovimiento()); pero sí tienes mucha razón que es un algoritmo deficiente en algunos aspectos. Es deficiente, por que no revisa si la pieza ya está en su lugar antes de comenzar a intentar resolverlo. Por ejemplo si la pieza número 8 ya está puesta en su lugar, ya no debería intentar resolverla; pero él prueba ir a la posición más cercana del 8 y para eso ya realizó muchos movimientos innecesarios. Y otros casos parecidos (en algunos casos si lo hace otras veces no, dependiendo de algunos factores). Creo que le hace falta optimización. Se gana exactitud, pero se pierde legibilidad del código (se vuelve demasiado complejo). Lo resolviste con la opción 'animar' activada. Para resolver el de 10x10 utiliza aproximadamente 3,400 movimientos, y hace una pausa de 125 milisegundos entre cada uno. 3400 * 125 = 425000 milisegundos / 1000 = 425 segundos / 60 = 7 minutos. + overhead. Más el overhead de hacer el paint(), etc. Sin la opción 'animar' activada lo resuelve mucho más rápido, en un procesador de mediana velocidad, en un Intel Dual Core 2.8 Ghz., lo resuelve en 1.2 segundos (sin animación). La opción 'animar' la puedes desactivar en cualquier momento, inclusive cuando lo está resolviendo o desordenando. Cita: Creo que tiene un funcionamiento bueno, por que no falla. (O por lo menos aceptable, puesto que no tira ninguna excepción). Mi objetivo no era que lo resolviera con la menor cantidad de movimientos posible, ni que fuera el más rápido. (No estaba dentro de las reglas del juego iniciales). De otra forma lo hubiera realizado en C o Assembler.
Iniciado por blackwind El buen funcionamiento en los videojuegos es basico, y ahi tuviste una gran falla. En mi muy particular punto de vista, si alguien viene con un algoritmo que resuelva el nxn de una manera claramente superior, aun cuando su programa fuera en modo texto, y sin esa documentacion, el deberia ganar. También de esta forma provee un margen de error, que permite al jugador ganarle a la PC algunas veces. Creo que cualquiera de los participantes u otros programadores de foros del web, pueden mejorar ese código; creo que mi objetivo no era ganar; lo disfrute mucho. Cita: No hay problema, realmente es intersante leer la mayor cantidad de comentarios. Y creo que lo podría haber realizado mucho mejor, pero ... eso es otra historia. Mi objetivo no era ganar, sino competir ... y como siempre, tratar de impresionarme a mi mismo.Gracias, (y eso que las imágenes de prueba no fueron publicadas) |
| |||
Respuesta: Segunda competencia para programadores Hola, como ultimo comentario: Cita: Java tambien es utilizado para videojuegos 3D (practicamente nada comparado con C++, pero he visto uno que otro motor por ahi que se ve bien).
Iniciado por HackmanC Creo que tiene un funcionamiento bueno, por que no falla. (O por lo menos aceptable, puesto que no tira ninguna excepción). Mi objetivo no era que lo resolviera con la menor cantidad de movimientos posible, ni que fuera el más rápido. (No estaba dentro de las reglas del juego iniciales). De otra forma lo hubiera realizado en C o Assembler. El lenguaje no tiene la culpa. Es cierto que con C pudiste haber mejorado tu tiempo, pero a lo mucho de 1.2 segundos, a 1 segundo. Ya que donde se produce el overhead de java es al hacer los metodos de dibujo, y no tanto del manejo de numeros. Por otro lado, yo no lo veo con un buen funcionamiento, ya que consume demasiados recursos. Tengo 1.5 gbs de memoria ram, con un core2duo T7200 a 2ghz y una nvidia 7900, y con tu aplicacion corriendo, mas mi musica, un video y otra ventana mas de firefox, dejo practicamente paralizada mi compu. Ademas, 1.2 segundos es demasiado tiempo. Un algoritmo normal, sin ningun tipo de optimizacion o tecnica especializada, deberia resolverlo en maximo 1/10 de ese tiempo, y ya es mucho tiempo. Tu programa quedo muy bonito, pero como programador, fallaste en la parte que realmente importa. Realmente espero que no lo tomes como un ataque, pero es mi punto de vista como alguien que programa videojuegos, y te recalco esto, porque siento tu crees que hiciste un mejor trabajo del que realmente presentaste, y me di cuenta por esto: Cita: saludos, |
| ||||
Respuesta: Segunda competencia para programadores Hola, Cita: Excelente ! Tu forma de solucionar el tablero se me ocurrió hasta el día de ayer. Evidentemente es mucho más eficiente, en este juego. Tomando en cuenta la eficiencia del manejo de los vectores, la sencillez del código para solventar el problema, la sencillez de la validación de los movimientos... y que el juego logre su objetivo. Eliminando la parte gráfica, yo creo que en base a los requerimientos tu código está más que impresionante. Saludos. |
| |||
Respuesta: Segunda competencia para programadores Ahí está el detalle mi buen |
| ||||
Respuesta: Segunda competencia para programadores Hola, Cita: Lo que quise dar a entender es que me impresiona "a mi mismo" haber logrado realizar por lo menos eso, lo que sucede es que mi falta de experiencia en programación hace que mi aplicación no sea buena. (No sé que fue lo que entendiste)Y no es culpa de Java, simplemente que mi algoritmo es lento y complicado; y muy ineficiente. Y no importa lo de C, por que primero lo hubiera tenido que aprender. Y si fallé en tiempos, eficiencia, presentación o cualquier otra cosa, pues es una lástima; yo logré el objetivo que deseaba y me siento muy satisfecho, así como aprendí muchas cosas nuevas, limé asperezas con un viejo amigo, y lo disfruté al máximo. Y lo de ganar es lo que menos me preocupa. Saludos. |
| ||||
Respuesta: Segunda competencia para programadores aqui lo que realmente importa.... es la diversion no se preocupen demasiado sobre la programacion, entre todos se podra analizar cuales fueron las debilidades o aciertos en los codigos asi podran mirar que es lo que se puede mejorar en sus habitos de programacion
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |
| |||
Respuesta: Segunda competencia para programadores Cita: eso es muy importante.saludos, |
| ||||
Respuesta: Segunda competencia para programadores Hola, Cita: Interesante ...
Iniciado por daPhyre Bueno, un ejemplo vale más que mil palabras, así que aquí dejo un ejemplo del popular 15-puzzle: http://www.javaonthebrain.com/java/puzz15/ . El ejemplo mostrado por daPhyre, también hace algunos movimientos innecesarios. Aun cuando solo necesita mover el 14 y el 15 a la izquierda. Supongo que quise hacerlo igual ... . bromita. Solo que el mio si mueve solo el 14 y el 15 en ese caso. Saludos. Última edición por HackmanC; 06/10/2008 a las 21:18 |
| ||||
Respuesta: Segunda competencia para programadores Pues todo parece indicar que solo se dieron dos participantes. ¿Haremos el voto aquí? ¿O abriremos un nuevo hilo con la opción de encuesta? |
| ||||
Respuesta: Segunda competencia para programadores Ya mejor declarémosle a HackmanC como ganador y listo . En este hilo hemos discutido cosas como de qué se trataría, cuáles serían las exigencias, lenguajes a utilizar, entre otras cosas, así que para facilitar la organización creo que sería más fácil crear una encuesta en otro tema como hicimos con la primera competencia .
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Segunda competencia para programadores Cita: hola david, sugiero que subas el ejecutable de tu codigo. y un documento de como lo resolviste. Para serte sincero, me da flojera analizar tu codigo, y estoy seguro que no soy el unico. Ademas de que ya no recuerdo nada de python jeje.
Iniciado por David el Grande Ya mejor declarémosle a HackmanC como ganador y listo . En este hilo hemos discutido cosas como de qué se trataría, cuáles serían las exigencias, lenguajes a utilizar, entre otras cosas, así que para facilitar la organización creo que sería más fácil crear una encuesta en otro tema como hicimos con la primera competencia . saludos, |
| |||
Respuesta: Segunda competencia para programadores holas,, yo ni siquira comense el juego, de todas maneras hubiera perdido. pues el de hackmanc funciona, ademas de que fue el unico ejecutable que vi. lei tu codigo y permiteme decirlo no entendi ni nada. el de David solo mostro el codigo, seria bueno que pasaras el ejecutable, aver como va en los tiempos, tu codigo es mas legible pero= no lo entiendo abuuuuuuuuuuuu buenos trabajos los dos, felicitaciones |
| ||||
Respuesta: Segunda competencia para programadores Lo cierto es que no me gusta crear ejecutables de código escrito en Python (además de que al poner solo el código que puede ser interpretado, puede ejecutarse también en Linux). Pero bueno, aquí está el .exe junto con los archivos necesarios: http://es.geocities.com/davidnr2002/dist.zip P.S.: Copiar y pegar el enlace en el navegador.
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. Última edición por David; 07/10/2008 a las 12:40 |
| ||||
Respuesta: Segunda competencia para programadores Cita: deivid, no se puede descargar, verifica las letras
Iniciado por David el Grande Lo cierto es que no me gusta crear ejecutables de código escrito en Python (además de que al poner solo el código que puede ser interpretado, puede ejecutarse también en Linux). Pero bueno, aquí está el .exe junto con los archivos necesarios: http://es.geocities.com/davidnr2002/dist.zip P.S.: Copiar y pegar el enlace en el navegador.
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |
| |||
Respuesta: Segunda competencia para programadores a mi tampoco me funciona. Cita: Pero pues tambien puedes poner el codigo junto con el ejecutable. No todos tenemos instalados compiladores de python.
Iniciado por David el Grande Lo cierto es que no me gusta crear ejecutables de código escrito en Python (además de que al poner solo el código que puede ser interpretado, puede ejecutarse también en Linux). Pero bueno, aquí está el .exe junto con los archivos necesarios: http://es.geocities.com/davidnr2002/dist.zip saludos, |
| ||||
Respuesta: Segunda competencia para programadores Por un error extraño solo funciona si copias y pegas el enlace en el navegador, no funciona siguiendo el enlace directamente. ¿Has intentado de esa forma?
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |