1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C -> Intervalo de Tempo

Discussão em 'Programação' iniciada por Overblaze, 14 de Fevereiro de 2008. (Respostas: 10; Visualizações: 1243)

  1. Overblaze

    Overblaze Power Member

    Boas a todos
    Ando a fazer um jogo em C mas cheguei a um ponto em que me falta causar um intervalo de tempo.
    Tenho alguma experiencia em VB.net, e sei que havia uma função para causar um intervalo de tempo que era indicado em milisegundos... gostaria de saber como faço o mesmo em C (sff indiquem apenas em C... não quero C++ etc...) e se possivel quais a bibliotecas necessaria para a sua implementação :confused:

    Fiquem bem
    Obrigado
    :009:
     
  2. Overblaze

    Overblaze Power Member

    visual c++

    Obrigado pela rapida resposta...
    Mas o Visual C++ não reconhece essa biblioteca... :'(
    Não há ninguem que tambem use C++ e que saiba como faço um sleep?
    Obrigado pelo tempo dispendido
     
  3. Warlord

    Warlord [email protected] Member

    tenta:

    #include <windows.h>
    Sleep( 1000 ); // sleep for 1 second
     
  4. Overblaze

    Overblaze Power Member

    nop..

    fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
    ...ao que me parece o visual C++ carece de alguam falta de bibliotecas...
    Não há nenhuma "batota" do genero por o pc a fazer calculos de modo a demorar tempo?

     
  5. Warlord

    Warlord [email protected] Member

    ha mas ocupa 100% cpu...

    #include <time.h>

    void sleep(unsigned int mseconds)
    {
    clock_t goal = mseconds + clock();
    while (goal > clock());
    }
     
  6. Overblaze

    Overblaze Power Member

    :D

    Muito obrigado!
    Para quem tiver a mesma pergunta que eu tive e quiser um ex:
    Código:
    [SIZE=2][COLOR=#0000ff]#include[/COLOR][/SIZE][SIZE=2][/SIZE][SIZE=2][COLOR=#a31515]<stdio.h>
    [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]#include[/COLOR][/SIZE][SIZE=2][/SIZE][SIZE=2][COLOR=#a31515]<conio.h>
    [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]#include[/COLOR][/SIZE][SIZE=2][/SIZE][SIZE=2][COLOR=#a31515]<time.h>[/COLOR][/SIZE]
    [SIZE=2][/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2][COLOR=#000000] mseconds=1000;[/COLOR][/SIZE]
    [SIZE=2] 
    [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2][COLOR=#000000] sleep()[/COLOR]
    {
        clock_t goal = mseconds + clock();
    [/SIZE][SIZE=2][COLOR=#0000ff]    while[/COLOR][/SIZE][SIZE=2][COLOR=#000000] (goal > clock());[/COLOR]
    }
    [/SIZE][SIZE=2][COLOR=#0000ff] 
    void[/COLOR][/SIZE][SIZE=2][COLOR=#000000] main ([/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2][COLOR=#000000])[/COLOR]
    {
        printf([/SIZE][SIZE=2][COLOR=#a31515]"ola..\n"[/COLOR][/SIZE][SIZE=2]);
        sleep();
        printf([/SIZE][SIZE=2][COLOR=#a31515]"ola um segundo depois"[/COLOR][/SIZE][SIZE=2]);
        getch();
    }
    [/SIZE]
     
  7. Warlord

    Warlord [email protected] Member

    mas olha k deves procurar a biblioteca k te permite fazer o sleep, ja k o sleep e geralmente usado para ter o programa "a dormir" acordando de x em x segundos para ver se tem algo k fazer. ter o CPU a 100% nao e dormir ;)
     
  8. arconada

    arconada Power Member

    De facto, se o programa for só para testar ou algo do género a "solução" de cima serve bem.... agora, se quiseres optimizar o uso da cpu deves utilizar o sleep.
     
  9. Pachec0

    Pachec0 Power Member

    Penso que se puseres:
    #include <windows>

    vai bombar...não tenho a certeza, estou bastante destreinado e sou capaz de estar a confundir:P

    Cumps,
    Pachec0
     
  10. positive_mind

    positive_mind Power Member

    nem mais
     

Partilhar esta Página