Ir ao conteúdo
  • Cadastre-se
Kevin Neres

Como usar o comando cronômetro no visualg?

Recommended Posts

Estou enfrentando um problema com um comando no visualg. Eu estou tentando utilizar o comando cronometro, mas ele só conta o tempo e eu não sei como fazer para manipular esse tempo.

 

Por exemplo: Eu quero fazer uma pergunta e se o jogador demorar 20 segundos a pergunta é anulada.

 

Como posso fazer isso?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Kevin Neres           Creio que no visualg não terá como fazer isso, porque nele só

tem o comando leia para a entrada de dados, e quando o programa encontra esse

comando ele fica parado esperando que seja digitado alguma coisa e tecle enter,

então não tem como ele saber quanto tempo se passou. isso pode ser feito em outros

programas como o   c++, blitz basic 3d, java, c#...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Kevin Neres.

 

Você quer fazer um cronômetro rodar e ao mesmo tempo ficar aguardando o usuário teclar, correto?

 

Eu também acho que não dá... ou pelo menos eu não faço ideia de como fazer... mas vá saber!

 

 

Então, se der para obter o horário do sistema, daria para "armazenar a hora inicial", "aguardar o usuário responder", "ler novamente a hora do sistema" e "calcular se foi em tempo hábil".

 

PS: No Pascal também daria para fazer. Lá, por exemplo, tem uma função que retorna se uma tecla foi pressionada, ou seja, enquanto nenhuma tecla for pressionada ela retornada "false" (que não foi).. daí podendo ir verificando ela e fazendo algo a depender desse valor...

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Kevin Neres   se você tiver o blitz basic 3d     instalado, você pode usar este algoritmo aqui para fazer  esta função que você  pretende:

Graphics3D 1280,720              ;tamanho da tela grafica
SetBuffer BackBuffer()           ;bufer de fundo da tela
tex=CreateTexture(380,160)       ;cria uma textura
HidePointer                      ;esconde a setinha do mouse
cubo=CreateCube()                ;cria um cubo tridimensional
PositionEntity cubo,0,0,0        ;coloca o cubo na posição x=0 e y=0 e z=0
camera=CreateCamera()            ;cria uma camera para ver o mundo 3d
luz=CreateLight()                ;cria uma luz no mundo 3d para ver os objetos 
MoveEntity camera,0,0,-5         ;move a camera 5 unidades para trás
tempo=600                        ;do jeito que está 600 é igual a 20 segundos
ClsColor 255,255,255             ;cor de fundo para a textura
font=LoadFont("book antiqua",55) ;tipo e tamanho das letras
fant=LoadFont("book antiqua",25) ;tipo e tamaho das letras
Repeat                           ;fica repetindo
  tempo=tempo-1                  ;decrementa o tempo
  c=GetKey()                     ;verifica qual tecla foi pressionada, se nada for pressionada então é c=0
  TurnEntity cubo,2,2.2,1.2      ;gira o cubo nos três eixos: X Y Z
  SetBuffer TextureBuffer(tex)   ;para mostrar o que está no bufer de texturas
  EntityTexture cubo,tex         ;isso escreve os nomes no cubo
  RenderWorld                    ;renderiza e mostra os objetos do mundo 3d
  Cls
  SetFont fant                   ;tamanho das letras na tela igual a 25
  Print "Digite A Resposta E Tecle Enter"
  Print "Em Que Ano Foi Descoberto O Brasil ?"      ;escreve na tela
  If c <> 0 And (c > 47 And c < 58) Then            ;se pressionou alguma tecla e ela for de 0 até 9
    b$=b$+Chr$(c)                                   ;armazena ela na variável b$
    d=d+1                                           ;incrementa o contador
  EndIf                                             ;fim das comparações
  If KeyHit(14) Then                                ;se presionou a tecla backspace
    If d > 0 Then d=d-1                             ;se o contador for maior que zero
    b$=Mid$(b$,1,d)                                 ;apaga o último número
  EndIf                                             ;fim da comparação
  Print "RespostA = "+b$                            ;escreve o número na tela
  Color 1,1,1                                       ;cor preta para as letras
  SetFont font                                      ;tamanho das lstras no cubo = 55
  Text 130,100,Int(tempo/30)+"    SegundoS"         ;escreve no cubo
  Color 255,255,255                                 ;cor branca para as letras
  Flip                                              ;mostra tudo que está no bufer da tela
Until KeyHit(28) Or tempo=00                        ;até apertar enter ou o tempo esgotar 
SetFont fant                                        ;tamanho das letras ao fundo da tela = 25
For f=1 To Len(b$)                                  ;um loop de acordo com a quantidade de números em b$
  x=x+Mid$(b$,f,1)                                  ;calculando a resposta
Next                                                ;fim do loop
If tempo = 00 Then                                  ;se o tempo esgotou
  Print"Tempo Esgotado"                             ;escreve na tela 
  If x<>0 Then Print " Você Não Teclou Enter"       ;se deu uma resposta
  If x=0 Then Print "E Você Não Deu Nenhuma Resposta.";se não responder e o tempo acabar
  If x<>0 And x<>1500 Then Print "E A Propósito, A Resposta Está Errada";se respondeu mas não teclou enter
  If x=1500  Then Print "Mas A Resposta Estaria Certa Se Tivesse Teclado Enter";se respondeu certo mas não teclou enter
Else
  If x=1500 Then                                    ;se a resposta estiver certa
    Print "Resposta Certa"                          ;escreve na tela
  Else                                              ;se a resposta não estiver certa
    If x<> 0 Then Print "Resposta Errada"           ;escreve na tela
    If x=0 Then Print " Nenhuma Resposta Foi Digitada";se não respondeu nada
  EndIf                                             ;fim da comparação
EndIf                                               ;fim da comparação
Delay 1000                                          ;espera um segundo
;End

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×