Autor
|
Tema: Realizar dos operaciones al mismo tiempo en un mismo programa ayuda... (Leído 3,592 veces)
|
SilentBolt
Desconectado
Mensajes: 7
|
Hola!!!, soy yo otra vez xD... bueno estuve haciendo un programa en el cual aparecen varios asteriscos que se deben mover al mismo tiempo pero, no estoy del todo seguro de como hacer que estas dos funciones se ejecuten al mismo tiempo, investigue y consegui unos comandos los cuales se usan con la libreria windows.h usando hilos pero quisiera saber si alguno de ustedes me puede dar otras alternativas, porque nunca he utilizado la libreria windows.h , porque sino tendre que aprender a usarlo autodidacto.
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Explica lo de los asteriscos que se mueven al mismo tiempo.
Probablemente no necesites hilos para eso. Ten en cuenta que el procesador es mucho más rápido que la vista humana, con lo cual mover un asterisco y luego mover el otro es lo mismo que hacerlo "al mismo tiempo".
|
|
|
En línea
|
|
|
|
SilentBolt
Desconectado
Mensajes: 7
|
en realidad, lo que quiero hacer es una clase de juego de guerra xD, pero de asteriscos, y que cada vez que presionas una tecla el asterisco aparezca y empieze a moverse a la izquierda, como si fuera una tropa, ahora viene mi problema necesito hacer una funcion que haga el movimiento del asterisco (sin parar) y otra que reciba por tecla la accion del usuario (donde aparecera el asterisco)
|
|
|
En línea
|
|
|
|
0and6
Desconectado
Mensajes: 49
|
ok, ok quires hacer un juego, la libreria windows.h generalmente la utilizan para crear funciones que pinten los caracteres en una consola, borrarlos, detectar el teclado, no se si tambien el sonido, etc, etc.
un juego sencillo solo es un bucle infinito, dentro de el se ejecutan funciones que las podriamos reducir en leer teclado, actualizar movimientos, dibujar nuevas posiciones; estas funciones se ejecutan una detras de la otra y el ciclo se repite, para que se logre un efecto de que las balas/tanques estan en movimiento un juego lo que hace es dibujar alrededor de 30/60 veces por segundo, y esto nos da una sensacion de movimiento
Tu no necesitas hilos, aunque los puedes implementas, solo necesitas crear un bucle que se ejecute unas 30 veces por segundo y dentro de ese bucle lees el teclado y dibujas.
|
|
|
En línea
|
|
|
|
SilentBolt
Desconectado
Mensajes: 7
|
Tal como dices, uso un bucle que imprime infinitamente los movimientos en pantalla, lo que sucede es que yo quiero que el asterisco se mueva continuamente, pero cada vez que avanza, este se detiene a causa de que el programa esta esperando por teclado la accion del usuario, lo que quiero es que el asterisco se mueva continuamente y a la vez el el programa espere la accion del jugador (donde enviara el siguiente asterisco), no se si me explico.
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
La verdad, yo en tu caso me plantearía empezar a utilizar una librería para gráficos (como SFML, por ejemplo), y hacer el juego con gráficos. Una consola, al fin y al cabo, es una consola. Es dar vuetas de más.
En cualquier caso, si sigues con esto:
- ¿Utilizas C o C++? Si utilizas C++, la librería estandar tiene threads a partir de C++11 (un estandar relativamente antiguo, asi que probablementelo tengas). Su include es <thread> y la clase se llama "thread", y son muy sencillos e usar.
- Sin threads de C++, puedes usar los de windows. Son algo más "complejos", pero bueno, bien englobado todo en funciones, todo se hace sencillo.
- Otra opción es, con 1 solo thread, dibujar y ver si hay teclas pulsadas. Para esto, sin bloquear la aplicación leyendo la entrada del usuario, puedes usar la función de la WinAPI "GetAsyncKeyState", que te dice si una tecla está pulsada o no.
Vistas estas alternativas, ¿cuál elegirías?
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como instalar 2 quemadores para que quemen lo mismo y al mismo tiempo
Software
|
vale
|
2
|
6,958
|
7 Octubre 2005, 00:07 am
por Mordor
|
|
|
ejecutar el mismo programa varia veces al mismo tiempo
Dudas Generales
|
narizota
|
3
|
9,910
|
8 Enero 2011, 17:25 pm
por simorg
|
|
|
programa o autoclicker que de 3 clicks al mismo tiempo en 3 coordenadas
Dudas Generales
|
Andry
|
1
|
4,204
|
8 Febrero 2011, 17:54 pm
por Nikco
|
|
|
¿Cómo utilizar dos Rocket Docks al mismo tiempo en un mismo PC? (SOLUCIONADO)
Software
|
vincent13m
|
5
|
9,026
|
14 Agosto 2011, 02:04 am
por vincent13m
|
|
|
programa que se cierra a si mismo ayuda
Programación C/C++
|
Borito30
|
2
|
2,066
|
15 Febrero 2017, 16:50 pm
por Borito30
|
|