PDA

View Full Version : em moi hoc VIsualBasic.Net mà còn mơ hồ lắm xi\n anh chị help mee



genjuno
02-10-2008, 12:07
em dang lap trinh tro Line ma dang bi, mong anh chi giup do chi em cach sao moi lan click vao thi se hien len 3 qua banh moi, thank

Public Class Form1
Dim so(80) As Int16
Dim i As Integer
Dim j As Integer
Dim nuttruoc As Label
Dim bntNut As Label

Private Sub Label_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim soTam As Integer
bntNut = CType(sender, Label)
If nuttruoc Is Nothing Then
nuttruoc = bntNut

ElseIf so(bntNut.Tag) = 1 Or so(bntNut.Tag) = 2 Or so(bntNut.Tag) = 3 Or so(bntNut.Tag) = 4 Or so(bntNut.Tag) = 5 Then
nuttruoc = bntNut

Else
If so(nuttruoc.Tag) > 0 Then
soTam = so(bntNut.Tag)
so(bntNut.Tag) = so(nuttruoc.Tag)
so(nuttruoc.Tag) = soTam
so(nuttruoc.Tag) = 0
nuttruoc.Image = trang.Image
' khuc nay em hong biet lam sao cho moi lan click vao thi no se hien len 3 qua banh moi, mong anh chi help do em , cam on nhieu

nuttruoc = Nothing
End If
End If
Gieoso()
End Sub


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

Me.Width = 530
Me.Height = 560
For i As Int32 = 0 To 8
For j As Int32 = 0 To 8
bntNut = New Label
With bntNut
.Text = ""
.Name = "bntNut" & (9 * j + i)
.Size = New Size(45, 45)
.Image = trang.Image
.Location = New Point(50 * j - 1 * j + 35, i * 50 - 1 * i + 35)
.FlatStyle = FlatStyle.Flat
.BorderStyle = BorderStyle.Fixed3D
.Tag = 9 * j + i
End With
Me.Controls.Add(bntNut)
AddHandler bntNut.Click, AddressOf Label_click


Next
Next
End Sub

Sub chenbanhngaunhien()
Dim ngaunhien As New Random
Dim r, tam, a As Int16
For d As Int16 = 1 To 6
For f As Int16 = 1 To 5
a = ngaunhien.Next(d)
so(f) = a
Next
Next
For i = 0 To 80
r = ngaunhien.Next(i)
tam = so(i)
so(i) = so(r)
so(r) = tam
Next
Gieoso()
End Sub
Sub Gieoso()
For i = 0 To 80
If so(i) = 5 Then
For Each ctr As Label In Me.Controls
If (ctr.Tag = i.ToString) Then
ctr.Image = xanh.Image
End If
Next
End If
If so(i) = 1 Then
For Each ctr As Label In Me.Controls
If (ctr.Tag = i.ToString) Then
ctr.Image = nau.Image
End If
Next
End If
If so(i) = 2 Then
For Each ctr As Label In Me.Controls
If (ctr.Tag = i.ToString) Then
ctr.Image = ddo.Image
End If
Next
End If
If so(i) = 3 Then
For Each ctr As Label In Me.Controls
If (ctr.Tag = i.ToString) Then
ctr.Image = xla.Image
End If
Next
End If
If so(i) = 4 Then
For Each ctr As Label In Me.Controls
If (ctr.Tag = i.ToString) Then
ctr.Image = tim.Image
End If
Next
End If
If so(i) = 0 Then
For Each ctr As Label In Me.Controls
If (ctr.Tag = i.ToString) Then
ctr.Image = trang.Image
End If
Next
End If
Next
End Sub

Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click
For r As Int16 = 0 To 80
so(r) = 0
Next
chenbanhngaunhien()

End Sub


End Class

[=========> Bổ sung bài viết <=========]

em viết trò chơi Line bằng VB.Net am dang bí, mong anh chị giúp đỡ em viết duoc đoạn code mỗi lần di chuyển quả banh thì nó sẽ hiện lên 3 quả banh mới, mong anh chị giúp, thank thật nhiều.

bahytq
02-10-2008, 15:07
Là khúc nào vậy bạn? Có phải lúc người sử dụng di chuyển quả banh xong, bạn cho tính điểm, rồi cho hiện lên thêm 3 banh mới hả?
Bạn sử dụng gì để lưu trữ vị trí phải ma trận không? Tớ nghĩ bạn dùng radom 3(hoặc 6 số nếu ma trận vuông) xong cho hiển thị vào các ô chưa có banh.

Không biết giống ý bạn không đó.

genjuno
03-10-2008, 18:00
minh chua co cho tinh diem, minh muon sau moi lan click thi no se hien len 3 qua banh ngau nhien o nhung noi chua co banh ma viet hoai ko ra, bao loi hoai, mong anh chi viet gium, hay chi em, thank

le tieu doanh
02-11-2008, 20:26
em muốn học VIsualBasic anh chị giúp em được không ? em thấy nó hay đấy
--------lính mới thương giúp----------