본문 바로가기
카테고리 없음

[VB.NET] 카드 찾기 게임를 만들어봅시다!

by norinda 2015. 3. 28.
728x90

랜덤으로 카드 색이 바뀌게해서 특정 카드를 찾는 게임을 만들어 보겠습니다.

처음 로드할때 카드 뒷면이 랜덤으로 섞이게 하고 특정 색을 랜던으로 지정을 합니다.

그리고 특정 카드를 선택하고 미리 지정되어있던 특정색과 일치하면 되는 게임입니다.


항상 똑같이 새프로젝트를 만들어 보겠습니다..FindCard로 하겠습니다.



앞에 세번이나 진행을 해서 과정은 생략했습니다.ㅎ

우선 레이블로 제목 "카드찾기"로 제일 상단에 위치시켰습니다.

카드를 선택하기전 찾아야될 카드이름이 표시되게 됩니다.

빨간색, 노란색, 파란색카드를 보여줄 버튼를 3개 추가했습니다.

마지막으로 우측하단에 게임이 끝나고 카드를 초기화할 버튼(카드섞기)를 추가했습니다.


각 카드 세개의 네임[Name] 을 카드1 , 카드2 , 카드3으로 지정해줍니다.


찾아야될 색상을 보여줄 레이블의 네임[Name]을 선택으로 지정해줍니다.




Public Class Form1

    Dim iColor(2), currentColor As Color

    Dim ipuzzle(2), currentstr As String

    Dim i, j As Integer


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        초기화()

    End Sub

    Private Sub 초기화()

노란색, 빨간색, 파란색을 iColor 변수에 담습니다.

        iColor(0) = Color.Yellow

        iColor(1) = Color.Red

        iColor(2) = Color.Blue

카드이름인 노란카드,빨간카드,파란카드를 ipuzzle변수에 담습니다.

        ipuzzle(0) = "노란카드"

        ipuzzle(1) = "빨간카드"

        ipuzzle(2) = "파란카드"

카드1,카드2,카드3의 색을 모두 흰색으로 변경합니다.

        카드1.BackColor = Color.White

        카드2.BackColor = Color.White

        카드3.BackColor = Color.White

i를 랜덤으로 0~2사이 수로 지정합니다.

        i = Rnd() * 2

현태 찾아야될 색을 지정합니다.

        currentColor = iColor(i)

        선택.Text = ipuzzle(i)


        j = Rnd() * 2


    End Sub


    Private Sub 리셋_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 리셋.Click

        초기화()


    End Sub


    Private Sub 카드1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 카드1.Click, 카드2.Click, 카드3.Click

j도 랜덤으로 0~2사이 수가 지정되기때문에 j에 숫자를 더해서 나머지를 구하는 연산자인 Mod로 0~2의 숫자를 차례대로 뽑아내게 됩니다.

        카드1.BackColor = iColor(j Mod 3)

        카드2.BackColor = iColor((j + 1) Mod 3)

        카드3.BackColor = iColor((j + 2) Mod 3)


클릭된 버튼의 배경색을 담습니다.

        Select Case sender.Backcolor

            Case Color.Yellow

                currentstr = "노란카드"

            Case Color.Red

                currentstr = "빨간카드"

            Case Color.Blue

                currentstr = "파란카드"


        End Select

버튼의 색과 처음에 랜덤으로 iColor에 담은 색과 일치하는지를 알아봅니다.

        If sender.BackColor = iColor(i) Then

            MsgBox("축하합니다!!  " & currentstr & "선택하셨습니다.")

        Else

            MsgBox("틀렸습니다!!  " & currentstr & "선택하셨습니다.")

        End If

        초기화()

    End Sub

End Class





반응형

댓글