Demo entry 6350520

ReflexTest

   

Submitted by ssh9930 on Mar 12, 2017 at 12:54
Language: VB.net. Code size: 1.7 kB.

Module Main

    Public AttemptCount As Integer = 0 '시도한 횟수를 나타냅니다.
    Private AdditionalString As String = "" '전체 테스트 결과를 가지고 있습니다.
    Public CountTimer As New Stopwatch() '반응속도 측정기 입니다.

    Sub Main()

        Console.ForegroundColor = ConsoleColor.White

        Console.WriteLine(AdditionalString) '전체 테스트 결과를 출력합니다.

        Console.WriteLine(vbCrLf + "ReflexTest - 초간단 반응속도 측정기")
        Console.WriteLine(vbCrLf + "    프로그램 화면의 글자가 '누르세요' 로 바뀌는 순간")
        Console.WriteLine("    키보드의 아무 키나 눌러주세요.")
        Console.WriteLine("    너무 빨리 누를시에는 오류가 발생합니다. 자신을 속이지 맙시다")
        Console.WriteLine(vbCrLf + "아무 키나 누르면 시작합니다.")

        Console.ReadKey()
        Test()

    End Sub

    Sub Test()

        Console.Clear()
        Console.ForegroundColor = ConsoleColor.Red
        Console.WriteLine("기다리세요")

        Threading.Thread.Sleep(New Random().Next(3000, 7000)) '3초에서 7초 사이의 딜레이를 만듭니다.

        Console.Clear()
        Console.ForegroundColor = ConsoleColor.Green
        CountTimer.Start() '반응속도 측정기를 시작합니다.
        Console.WriteLine("누르세요")

        Console.ReadKey()
        CountTimer.Stop() '측정기를 멈춥니다.

        Console.ForegroundColor = ConsoleColor.White
        Console.Clear()

        AttemptCount += 1 '시도횟수를 조정합니다.
        AdditionalString += vbCrLf + "#" + AttemptCount.ToString + " - " + CountTimer.ElapsedMilliseconds.ToString _
                          + "ms (" + (CountTimer.ElapsedMilliseconds / 1000).ToString + " 초)" '전체 테스트 결과에 현재 테스트 결과를 추가합니다.

        CountTimer.Reset() '측정기를 리셋합니다.
        Console.Clear()
        Main() '처음 화면으로 돌아갑니다.

    End Sub

End Module

This snippet took 0.00 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).