|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Masiosare
1
« en: Jueves 13 de Marzo de 2008, 20:31 »
¿Sabes programar en C++? ¿que tanta experiencia tienes? Aprendi lo basico en la universidad, lo mas complejo que hice fueron unas listas con punteros. Pero ahora como estoy muy metido en Java, ya estoy empezando a olvidar un poco eso. ¿sabes algo de graficas por computadora? ¿manejas algun api como DirectX u OpenGL? Menciona cual y tu experiencia La verdad no he manejado ninguno de esos apis ni similares. ¿Tienes algun tipo de experiencia en la programacion de videojuegos? Menciona cual Desde hace como 3 meses me contrato una empresa de juegos de celular para adaptar juegos de cierto modelo de celular a otros, no es lo mismo que crearlos, pero algo tiene que ver. ¿Sabes usar algun programa de diseño o animacion? Si es asi, ¿cual es tu experiencia? Corel Draw, Corel Photo-Paint, GIMP, un poco de Flash, y tome la parte del curso de blender de 'como hacer un hombre de gengibre' . Pero aunque puede ser preferible que el programador de videojuegos sepa un poco manejar programas de diseño, lo mejor es que en el proyecto de crear un videojuego (como en todo proyecto) se tenga cada quien (o cada equipo) en su area, programacion, diseño, producción (coordinar las otras areas y tomar las desiciones complejas), pruebas, distribucion, etc... O sea que en caso de existir ese curso se deveria de enfocar a la programación. ¿que tanto tiempo estarias dispuesto a dedicarle al taller? (1 hora diaria, 3 hrs a la semana, etc....) Nota: Por favor hagan una estimacion del tiempo que podrian dedicarle, ya que de eso depende que tan rapido o lento iriamos con el curso. Es decir, no respondan: "el tiempo que sea necesario" Lo mas viable se me harian 3 horas a la semana. ¿cual seria la principal razon por la cual abondonarias el curso (si es que la hay)? ejemplo: duro mas de lo que pense, trabajo, escuela, muy dificil, etc.... Como la mayoria, tengo mucho trabajo. La verdad a la mejor ni tomaria el curso por eso, sin tomar en cuenta que ya esta colgado como dicen, nomas estoy respondiendo de ocioso. ¿de que pais eres? Mexico, casi casi EUA (Me mude por el trabajo).
2
« en: Martes 11 de Marzo de 2008, 01:57 »
La mayoría de los IDE para Java son muy pesados para la computadora que tenía cuando estaba en la universidad, por eso mas o menos me enseñé a trabajar con el puro SDK sin IDE, y ahora en el trabajo que estoy, sigo sin utilizar IDE (con ayuda de archivos *.bat).
Pero en la universidad trabaje con un IDE llamado 'JCreator' no tiene tantas características como su version de paga, pero es liviano y no tan complicado de utilizar, hasta donde lo probé.
3
« en: Viernes 7 de Marzo de 2008, 03:34 »
Estuve tratando de probar esos codigos y encontre varias fallas (mias), la principal es que no le puedes pasar una variable a una clase interna, además de que es mejor utilizar la interface 'WindowStateListener', por que el 'WindowListener' tiene muchos métodos y nada mas se utilizaria 1. El codigo que pude correr es muy distinto al que ambos estamos haciendo, es la otra forma de poner los 'Listeners' a los frames. import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MeRepintoAlRegresar extends JFrame implements WindowStateListener { static MeRepintoAlRegresar principal; public MeRepintoAlRegresar() { //Crea la ventana... super("Me repito al regresar..."); //Esto es para que termine el programa al cerrarse la ventana. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //le da tamaño a la ventana setSize(300,200); //Le asigna el 'Listener' addWindowStateListener(this); //Muestra la ventana. show(); } public void paint(Graphics g) { g.setColor(Color.YELLOW); g.drawString("Me he pintado...",25,60); g.setColor(Color.RED); g.fillRect(20,80,100,100); //System.out.println("Me he pintado"); } public static void main(String[] args) { //Dicen los de 'Sun' que esta operacion se haga asi para evitar problemas con los hilos...¿? javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { principal = new MeRepintoAlRegresar(); } }); } public void windowStateChanged(WindowEvent e) { if(e.getNewState()==0) { System.out.println("Regrese de estar minimizado y me repinté"); principal.repaint(); } } }
Para hacerlo asi tendrías que hacerle muchos cambios a tu código. De cualquier forma no me ha sucedido eso de la pantalla gris, asi que no puedo garantizar que se solucione, pero al menos puede detectar cuando la ventana se regresa de estar minimizada. Aca tiene mucha informacion al respecto... http://java.sun.com/docs/books/tutorial/uiswing/index.htmlEs un curso sobre la API Swing. Suerte
4
« en: Miércoles 5 de Marzo de 2008, 23:00 »
Intenta poner un window listener que mande repintar el frame cuando la ventana regrese de ser minimizada. principal.addWindowListener ( new WindowListener( public void windowDeiconified(WindowEvent e) { principal.repaint(); } ) );
Este codigo asigna una instancia 'inline' de la interface 'WindowListener' al frame 'principal', en este caso iría en el metodo 'main'. Este método no es el más aconsejable, por que si se hace varias veces en un código, puede restarle considerable rendimiento a la aplicación, pero es más sencillo y el mas adecuado para la estructura que ya le diste a tu clase. P.D.: Si ese era el problema y te funciona verifica poner alguna ventana de otra aplicación, como por ejemplo el notepad o el navegador de internet y si al regresar no te repinta bien la zona que fue cubierta por la otra ventana, prueba cambiar el nombre del metodo 'windowDeiconified' por el de windowActivated. Espero que sea de ayuda.
5
« en: Miércoles 5 de Marzo de 2008, 02:14 »
Para ese caso mas que una mente artificial (red neuronal o algo asi), lo adecuado para este caso seria un Sistema experto. He leido sobre sofware de ajedrez con mentes artificiales con la capacidad de aprender, los cuales fueron capaces de ganarles a campeones de carne y hueso, pero son proyectos demasiado complejos. Los sistemas expertos no son una simulacion de una mente, no simulan relacion de ideas, aprendizaje, o lenguaje (a menos que su objetivo sea conversar). Los sistemas expertos son algoritmos complicados que tienen procedimientos completos y conocimientos detallados sobre como realizar determinada actividad, por ejemplo, jugar ajedrez. Suena complicado pero puede ser mas facil que programar una mente. De poder ponerlo si se puede pero requiere de bastante tiempo, y de como no se exactamente como por que es tambien muy complicado, existen lenguajes orientados a la inteligencia artificial como por ejemplo prolog y miranda, pero casi cualquier lenguaje puede servir, sobre todo si se trata de un sistema experto. http://es.wikipedia.org/wiki/Sistemas_Expertos
6
« en: Martes 4 de Marzo de 2008, 21:42 »
En teoria Java es completamente multiplataforma, o sea que al compilar la fuente resulta en un bytecode, que es ejecutable en cualquier plataforma que tenga la maquina virtual instalada. Los de sun usan el eslogan para referirse a java 'Write once, run anywhere". (Escríbelo una vez, y corrélo en cualquier lugar)
Pero muchos lo cambian en broma por "Write once, debug everywhere" (Escribélo una vez, y corrígelo en todo lados), lo segundo es muy cierto si programas para celulares, y otros dispositivos moviles.
Pero si hablas de pasar entre Windows, Linux, Mac, etc. tengo entendido que no hay tantos problemas. Mas bien las incompatibilidades se dan por la diferencia de versiones entre el compilador y la maquina virtual. Y creo que entre distintas versiones del mismo SO (Windows) hay menos problemas aun. Lo que podrias hacer es usar un compilador de version no tan nueva (1.4 o mas vieja si no causa problemas).
7
« en: Martes 4 de Marzo de 2008, 20:45 »
El principal problema aquí es que el formato Word (Al menos por ahora), es privado de Microsoft y las especificaciones del formato no están disponibles en muchos lados, 'Open Office' lo maneja solo por que recurieron a la ingeniería inversa, y otros programas por que hicieron arreglos económicos con Microsoft.
Hace no mucho leí que Microsoft iba a hacer pública informacion acerca de los formatos de su suite 'Office', si hicieron esto no fué recientemente y no ha habido suficiente tiempo para que existieran disponibles muchas librerias o cosas por el estilo (al menos gratuitas, he oido hablar de una libreria en Java que lee archivos de exel pero es de paga) que hagan esa tarea.
Esto es lo que sé yo, lo pongo para que sepas por que no lo encuentras tan fácil. De todas formas sigue investigando.
8
« en: Martes 4 de Marzo de 2008, 20:10 »
el error que me dice lo siguiente: class main is public,should be declared in a file named Main.java El error dice traducido: La clase 'Main' es del tipo 'publica', debería de ser declarada en un archivo llamado "Main.java". Simplemente te pide que que le cambies el nombre al archivo al de "Main.java". Y de hecho siempre el archivo debe de llamarse igual que la clase, inclusive llevar las mismas minúsculas y mayúsculas, por que Java siempre las distingue.
9
« en: Martes 4 de Marzo de 2008, 04:56 »
Perdon para todos los que usan algun otros sistema pero es que los que puse serian los mas comunes(los que me acordaba ) Y ademas los que estan disponibles en versiones de 64 bits. Por que ese procesador es de 64 bits. ¿O no? PD: Ah, y vote por el XP...
10
« en: Martes 4 de Marzo de 2008, 04:31 »
Compilé lo que esta ahí con el sdk 1.6 sin IDE, y lo corrí con el respectivo JRE sin ningún problema.
¿Estas dandole el mismo nombre al archivo y a la clase (Que en este caso seria "Main")?
Tambien podrias intentar (ya si no funciona lo que dice 'Juez')en la ventana de comando (consola, 'Command prompt', ventana del MS-DOS; no me olvido el nombre), entrar en la carpeta donde esta instalado el sdk (o jdk, dependiendo de la version), entrar de ahi a la carpeta 'bin', y compilar con la siguiente instrucción:
javac ['ruta completa de Main.java']
Y ahi te debe de mostrar los errores que ocurren.
Si no te aparecen errores entonces trata de correrlo con:
java -classpath [direccion donde se encuentra Main.class'] ['El nombre de la clase, puede ir sin la extencion .class']
P.D: Tambien funcionó sin problemas en la version 1.4.2_10...
11
« en: Viernes 29 de Febrero de 2008, 03:21 »
Pues me parece fácil (al menos a mi), sobre todo cuando la única estructura que usas es nada más de dos variables. Quizá sea algo laborioso pero fácil. Cambias la estructura con n datos por n variables del tipo necesario. o sea que en vez de ... struct Serpiente { //movimiento de la serpiente// int x; //EJE X// int y; // EJE Y// } Cole[750]; ... Cole[0].x=10; Cole[0].y=10; ...
iria... ... int Cole_x[750], Cole_y[750]; ... Cole_x[0]=10; Cole_y[0]=10; ...
12
« en: Viernes 29 de Febrero de 2008, 02:15 »
Si usas la version 1.6 del JDK (Versiones anteriores no tienen todavia esa funcion), el cual según recuerdo esta todavia en fase beta, al momento en que llamas al comando 'jar' para crear el archivo, agregas el parámetro -e para especificar el punto de entrada, o sea la clase principal, a este parametro tienes que darle el nombre de la clase sin la extencion '.class y las mismas mayúsculas y minúsculas. Por ejemplo:
jar cvfe MiEjecutable.jar *.class *.jpg MiClasePrincipal
Y al momento de crearte el manifest, va a agregar la linea
"Main-Class: MiClasePrincipal".
Tambien escuche que Eclipse al momento de compilar el 'proyecto' te genera automaticamente el Jar ejecutable.
13
« en: Viernes 29 de Febrero de 2008, 02:01 »
A pesar de que no podría ser el mejor, ese algoritmo funciona. Solo una observación:
En lugar de 'j=j+1;' utiliza 'j++', quiza no haya tantas ni tan fuertes razones, pero es lo que se acostumbra.
15
« en: Jueves 27 de Diciembre de 2007, 02:43 »
Para eso te recomendaria mas bien uno llamado matematica de la computacion, o teoria de la computacion, no recuerdo exactamente, pero algunas universidades imparten eso como una materia, temas respecto a lo que llaman 'modelos matematicos' como las 'maquinas de estados finitos', y las 'maquinas de turing' etc. Es como una base para los compiladoes y analizadores de semantica y sintaxis. De todas formas creo que si hay informacion en internet sobre eso.
16
« en: Jueves 27 de Diciembre de 2007, 02:33 »
Según sé no hay norma para hacer 'void' un método o hacer que devuelva un valor. Mas bien depende de tu forma de pensar o 'tu logica' como le llaman. Yo ya se que void no devuelve valor Creo que ahi mismo te estas respondiendo. Pero a grandes rasgos, un metodo 'void' es un codigo (o fragmento de codigo) que necesita ser estar repetido en 'lugares' distintos del programa y en lugar de escribirse varias veces en el codigo del programa, haciendolo pesado, y mas dificil de leer, se escribe dentro del metodo y se colocan llamadas a este en los lugares que se necesite poner dicho codigo, cuando se necesite que la tarea realizada por el metodo se haga sobre variables o valores distintos algunas o todas las veces que se llame se le agregan parametros. Y un metodo que regresa valor, se parece mas bien a un sistema al que le das datos (parametros), los procesa y te da un resultado (valor de retorno) el cual asignas a una variable o haces una operacion sobre el. Un uso muy comun tambien que le dan a 'return', es crear un metodo boolean, o sea que devuelve un valor binario (true, o false), y hacer que regrese true (return true;)en determiados casos, y que regrese false (return false;)en otros, por ejemplo en algun error, que el usuario haya cancelado la accion, o que haya pedido salir, etc... A lo mejor con experiencia comprenderas mejor cuando se necesita el return o el void.
17
« en: Sábado 8 de Diciembre de 2007, 01:48 »
Lanzan excepción ...
18
« en: Jueves 6 de Diciembre de 2007, 03:22 »
En mi opinión sería casi obvio que es mejor usar bases de datos, a menos que no sepas manejarlas nada, tienen por lo menos la ventaja de la persistencia, además manejan los datos ya estructurados, y seguramente no tendrías que programar las busquedas.
Recuerda que Java no tiene estructuras, solo clases.
No he manejado bases de datos con Java (solo con visual fox pro), por lo que no podría darte mucha información de como hacerlo.
19
« en: Miércoles 5 de Diciembre de 2007, 01:59 »
Pues la dirección donde pongas ese archivo .JAR podrías darla como "CLASSPATH" cuando llames al java runtime o al JVM, o sea, usando solo el símbolo de sistema, si no me equivoco, sería mas o menos así: java -cp %ubicaciondelarchivojar%;%direcciondetuclase% %nombredetuclase%
%ubicaciondelarchivojar% es la ruta donde está el archivo JAR incluyendo nombre y extención, %direcciondetuclase% es la direccion de tu programa (o clase), y al ultimo el nombre de tu clase, no necesita extencion aunque puedes ponerla. El Jbuilder lo que hace, según recuerdo, es automatizar los comandos del símbolo de sistema que compilan y ejecutan los codigos, (las llamadas a los programas del JDK y el runtime) pero no se con exactitud como configurarlo para que use determinados CLASSPATH. aca un poco más de info sobre los CLASSPATH
20
« en: Martes 4 de Diciembre de 2007, 19:01 »
La función, mejor dicho Método, getFiguraCarta() regresa un dato del tipo 'String'. en la linea: resulta = nombre[getFiguraCarta(carta) - 1];
A un valor del tipo 'String' (que en Java se le considera un objeto) le estas tratando de aplicar una operación aritmética con un número, que es lo que arroja el error. Y por otro lado estás tratando de accesar a un elemento de un 'Array' o arreglo mediante un "String" siendo válido hacerlo solo con números. Aparte de eso estas haciendo una llamada al método dentro del mismo método, lo que se llama recursividad, y en muchas ocaciones, como en esta, provoca ciclos infinitos. Para resolverlo quita la llamada a la función en esa linea. resulta = nombre[carta - 1];
Creo que también se puede quitar la variable resulta dejando el código así: static String getFiguraCarta(int carta) { String[] nombre = {"as", "2", "3", "4", "5", "6", "7", "8", "9", "10", "j", "q", "k"}; return nombre[carta - 1]; }
Yo inclusive haría esto: private final String[] nombre = {"as", "2", "3", "4", "5", "6", "7", "8", "9", "10", "j", "q", "k"}; public static String getFiguraCarta(int carta) { return nombre[carta - 1]; }
21
« en: Martes 6 de Noviembre de 2007, 06:55 »
El notepad... Yo, por ahora no uso los IDE de Java, por que muy a mi gusto me parecen pesadísimos. En la universidad utilizé un tiempo el JCreator y me gustó por liviano y sencillo, pero las características más interesantes (por ejemplo, la completación automática de lineas) están sólo en la versión de paga. Pero de todas maneras es por el que voté de esta lista.
22
« en: Domingo 21 de Octubre de 2007, 08:37 »
Según me parece, lo que pasa con el Flash player es que lo tienes instalado en el IE, pero no en el Firefox. Los plug-in son añadidos que le pones a determinado navegador, y no aplicaciones individuales. Los plug-in que le instales al IE no van a afectar en nada al Firefox, y viceversa.
Sobre lo de no poder bajar la página, no tengo idea. para bajar páginas con IE le doy en el menú "Archivo -> Guardar como", y en la otra ventana de dialogo le dejo la opción de "Página web completa". Y no conosco otro método.
23
« en: Jueves 4 de Octubre de 2007, 04:51 »
Yo tampoco he presentado una de esas carteras, pero también pienso que debes de poner las direcciónes de los sitios hechos, para que se pueda ver el funcionamiento de las páginas que no sean estáticas. Quizá también datos de para quién realizaste el trabajo para poder corroborar.
24
« en: Jueves 4 de Octubre de 2007, 03:25 »
Se me ocurre que el código para meter el flash lo pongas en un archivo html, en otro archivo html insertes el botón con el link al primer archivo, y en el blog metas donde va el archivo flash, un iframe conteniendo el la página con el botón (o sea el segundo archivo). Al iframe le das las medias de la animación flash (o un poco más).
25
« en: Miércoles 3 de Octubre de 2007, 06:40 »
Podrías hacer Array, de 10 elementos, del 0 al 9. char[] hoja = new char[10];
o char hoja = {'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v'};
Habría un casillero que no usarías, el número cero, no sé si en java exista un modo para que los array comienzen arriba de cero, de existir harías el array del 1 al 9. Para asignar el valor 'X' al primer casillero haría : Y para asignar el valor 'O' al casillero de enmedio haría: Y así no tendrías la necesidad de hacer dicha conversión. Por otro lado, no he trabajado en programas que funcionen remotamente (en redes, pues), pero tampoco veo por lo pronto necesidad de Treads para eso.
|
|
|