|
44
|
Programación / Programación C/C++ / Re: Anillo de procesos circulares
|
en: 10 Mayo 2010, 19:11 pm
|
Perdón, no había leído bien xD Me ha costado, pero se hace muy bien si haces un diagrama de como van forkeando los procesos, y las pipes que se crean y como se conectan Esto circula con un entero que van incrementando cada uno, el primero se lo inyecta a sí mismo el entero pipe(primera_pipe); write(primera_pipe[1], &ini, sizeof(int)); mipipe[0] = primera_pipe[0]; mipid = getpid(); while(num--) { pipe(pipe_hijo); if(pid = fork()) { mipipe[0] = pipe_hijo[0]; mipid = pid; } else { mipipe[1] = pipe_hijo[1]; while(1) { read(mipipe[0], &ini, sizeof(int)); printf("Leido %d en el proceso %d\n", ini , mipid ); ini++; write(mipipe[1], &ini, sizeof(int)); } } } mipipe[1] = primera_pipe[1]; while(1) { read(mipipe[0], &ini, sizeof(int)); printf("Leido %d en el proceso %d\n", ini , mipid ); ini++; write(mipipe[1], &ini, sizeof(int)); }
|
|
|
45
|
Programación / Java / Opciones GUI para Java
|
en: 10 Mayo 2010, 18:02 pm
|
Quisiera saber alternativas y pros y contras, si es que alguien se ha dedicado a explorar este tema y así me ahorra un poco de trabajo. También acepto opiniones de quien lo haya usado, pero recientemente. Conozco: Swing - +puro java, -poco eficiente?, +incluído en el runtime, -abandonado? AWT - -pocos componentes SWT - ? -librería externa QT Jambi - ? -librería externa
|
|
|
46
|
Programación / Programación C/C++ / Re: Anillo de procesos circulares
|
en: 10 Mayo 2010, 17:27 pm
|
Hay que hacer 2 cosas, leer del pipe con el padre y escribir en el pipe del hijo, pero podemos utilizar sólo una variable pipe, ponemos un while de procesos, en el padre terminamos con break y escribimos en el pipe del hijo, en el proceso hijo leemos del pipe, procesamos y seguimos iterando, al iterar se machaca el pipe haciendo que sea del nuevo hijo, para una entrada entera: [spoiler] int main() { while(num--) { //num = numero de procesos pipe(mipipe); if(pid = fork()) { //hijo read(mipipe[0], &ini, sizeof(int)); //leemos del pipe del padre ini++; //procesamos } else { //padre write(mipipe[1], &ini, sizeof(int)); //escribimos en el pipe del hijo break; //acabamos la iteración } } }
[/spoiler] Faltaría cerrar los pipes si quieres pa hacerlo bien
|
|
|
47
|
Programación / Programación C/C++ / Re: Problemas!!... matriz Dinamicos
|
en: 10 Mayo 2010, 16:29 pm
|
No entiendo que quieres hacer pero: i está sin inicializar buscas que algo se cumpla en cierto elemento (matriz[y][k] y nuevo[j]) pero luego el que utilizas es otro (matriz[k] y nuevo[y][num_elem]), digo yo que al menos uno debería coincidir, si es que es una búsqueda. No puedo ayudarte más porque no entendí que quieres hacer.
|
|
|
48
|
Programación / Programación General / Re: Dudas existenciales
|
en: 10 Mayo 2010, 16:20 pm
|
Necesitas un detector de colisiones, en processing no se, pero en java hay librerías de hacer juegos que ya lo implementan, yo he probado GTGE y JGame. Simplemente cuando entres en el update del loop de juego detectas si hay colision entre el grupo de las caras y el grupo de la carota, si la hay modificas su velocidad o cambias su estado. Lo único tendrías que implementar la física de la gravedad, también hay motores de física en 2d pero yo nunca use uno. Busca por detectores de colisiones, aunque básicamente es ver si alguna posicion perteneciente a la carita está dentro de alguna posición de la carota, intersección no vacía. Para que queden en el suelo, es detectar cuando llegaron a él, paralas y dejarlas activas.
|
|
|
|
|
|
|