랜덤으로 카드 색이 바뀌게해서 특정 카드를 찾는 게임을 만들어 보겠습니다.
처음 로드할때 카드 뒷면이 랜덤으로 섞이게 하고 특정 색을 랜던으로 지정을 합니다.
그리고 특정 카드를 선택하고 미리 지정되어있던 특정색과 일치하면 되는 게임입니다.
항상 똑같이 새프로젝트를 만들어 보겠습니다..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
댓글