본문 바로가기
Programing/vb.net

비쥬얼베이직(비주얼베이직)visual basic,vb.net 강좌 랜덤하게 움직이는 이미지 클릭시 점수 얻는게임,Random ,Timer,AudioPlay

by 고니피즈 2017. 1. 17.
반응형

랜덤하게 이미지가 움직이고 정해진 시간에  

그 이미지를 클릭시 점수를 얻는 게임입니다.


timer 틱마다 pictureBox  의 위치를 랜덤하게 조정해서 , 

pictureBox 클릭시 점수가 올라갑니다.

시간은 기본값을 11로 정해두고 timer 틱마다 -1 을 빼는 방식으로 했습니다.

점수와 시간은 변수를 만들어서 Label 에 저장..


gif 이미지라서 소리는 안납니다..





pictureBox 1개, timer 1개,   Button 1개, Label 5개를 디자인 합니다.



timer 속성을 셋팅합니다....Interval 은 700 정도가 적당하던데..각자 알아서 


위의 3곳의 pictureBox 속성세팅을 합니다..



사운드는 리소스 등록으로 사용했습니다..인터넷상 자료 찾아보면 하드에 저장해두고 하는 방법도 있지마는 이번것은 리소스에 등록후 사용했습니다..소스가 지저분한데..워낙 독학으로 해서 그러니 널리 양해를.....


Public Class Form1

    Dim rn As New Random '랜덤 변수 선언

    Dim t As Integer = 11 '시간 변수 선언

    Dim p As Integer = 0 '점수 변수선언


    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

        If t = 1 Then '시간이 끝나면

            Timer1.Enabled = False

            Label5.Visible = True '마지막 중앙에 나타날 최종점수판

        End If

        PictureBox1.Left = rn.Next(0, 500) '틱마다 이미지박스 위치를 0,500사이로 랜덤하게 나타나게 함

        PictureBox1.Top = rn.Next(0, 450)

       

        t = t - 1 'timer tick 마다 시간이 줄어들게 함

        Label2.Text = t '시간 레이블에 줄어든 시간표시


    End Sub


    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click

        If t > 1 Then '픽쳐박스 클릭시 점수올라가게함


            p += 1 '픽쳐박스 클릭시 점수 1점 추가

            Label3.Text = p '올린점수 표시

            My.Computer.Audio.Play(My.Resources.squeaky,

                AudioPlayMode.WaitToComplete) '픽쳐박스 클릭시 소리나게함

            Label5.Text = "당신의 점수는:" & p

        End If

    End Sub


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        p = 0 '재시작버튼 클릭시

        Timer1.Enabled = True

        t = 11

        Label5.Visible = False

    End Sub

End Class


반응형