VNP Community
Tags
This content has not been tagged yet
> Viết Trò Chơi Tung Chó Bông Bằng VB6.0  
Reply to this topicStart new topic
-Angel-43v3r-
post Apr 2 2006, 09:12 AM
Post #1


Wife of ATHK | Forever
Group Icon

Group: Member
Posts: 126
Cash: 0k
Age: N/A
Joined: 29-March 06
Member No.: 11,131
Yahoo! Status: N/A



Thấy đa số box này do anh TD post, em cũng muốn góp 1 bài viết trò chơi tung chó bông bằng VB 6.0.

I .GIỚI THIỆU
Chắc hản ai cũng biết có một trò chơi khá đơn giản đó là có một quả bóng đập lung tung vào tường và người chơi phải dùng một cái bàn đỡ để hứng ko cho bị rơi xuống
Ban hãy thiết kế một cái shape1 ví dú là hình tròn , một cái Timer1 sau đó vào thuộc tính Timer1, chỉnh Interval = 100
rồi bạn gõ

Private Sub Timer1_Timer()

Shape1.left= Shape1.Left +100

End Sub

Sau đó bạn nhấn F5 để chạy bạn sẽ thấy một cái hình tròn chuyển đông sang trái và mất hút luôn phải không ? v.v.

Hoặc bạn biến đổi thêm biến

Dim L, T As Long

Roi Tao Mot

Private Sub Form_Load()

l = Shape1.Left

t = Shape1.Top

End Sub

Sau đó vào Timer1 gõ:

Private Sub Timer1_Timer()

L = L+100

T=T+100

Shape1.move L,T
End Sub



Bạn sẽ thấy một hình tròn bay chéo xuống dưới rồi mất hút luôn phải không , như vậy bạn chỉ cần ràng buộc thêm một chút là sẽ có một trái bóng bay đập lun gtung vào các thanh cửa sổ :

Bạn vẫn dùng đối tượng shape1 và Timer như cũ nhưng toàn bộ đoạn mã là như sau:

‘Phần khai bái biến toàn cục General


Dim l, t As Long

Dim kt1, kt2 As Boolean


‘Phần Thực hiện trước tiên

Private Sub Form_Load()

l = Shape1.Left

t = Shape1.Top

kt1 = True

kt2 = True

End Sub

' Đoạn Mã giành cho bộ định thời Timer1

Private Sub Timer1_Timer()

If l >= Form2.ScaleWidth - Shape1.Width Then kt1 = Not kt1 ‘giới han khi chạm thanh ngang

If l <= 0 Then kt1 = Not kt1

If t >= Form2.ScaleHeight - Shape1.Height Then kt2 = Not kt2 ‘gioi han khi cham thanh đứng

If t <= 0 Then kt2 = Not kt2

If kt1 Then

l = l + 100

Else

l = l - 100

End If

If kt2 Then

t = t + 100

Else

t = t - 100

End If

Shape1.Move l, t ‘Di Chuyển Theo Toạ Độ l , t

End Sub

Như vậy đó bấy giờ bạn chỉ việc thêm một cái bàn đỡ phía dưới " lữa là xong"
và bạn thêm một số chức năng như nế đỡ hụt 10 lần thì game over
đỡ được 10 lần thì tăng level cho người chơi

II .Thiết kế Chương trình

1. Bạn hãy khởi động Visual Basic rồi tạo form như sau
Xem Hình :








Trước hết bạn nhấp chuột vào form chính và chọn thuộc tính tạoi thanh cửa sổ thuộ tính chọn Keypreview là True

Bạn cũng có thể chọn hình nền cho form như trên tôi chọn hình nền winxp châúcẳng hạn

Các đối tượng là

Môt image là hình chú chó tôi đặt tên là : imgcho

Ba hộp textbox : txtlevel , txtdiem , txtloi


Bạn Tạo mộ nút thoát

Một đối tượng label là cái bàn đỡ chú chó bông tôi đặt tên là: lblbando

Cuối cùng là một bộ định thời Timer1

2. Thực hiện
Sau Khi thiết kế bànnhấp chuột phải vào form rồi chọn view code và đây là toàn bộ đoạn mã:

' Khai báo biến toàn cục Genneral

Dim l, t As Long

Dim kt1, kt2 As Boolean

Dim k As Long

Dim sodiem, soloi As Long

Dim level As Byte



‘ Đoạn mã cho sự kiện keydown

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Timer1.Enabled = True

If (KeyCode = vbKeyLeft) And (k > 0) Then

k = k - 200

End If

If (KeyCode = vbKeyRight) And (k < Form1.ScaleWidth - lblBando.Width) Then

k = k + 200

End If

lblBando.Move k

End Sub


‘Ñoán Maõ Xađy Döïng Form_Load()

Private Sub Form_Load()

Form1.KeyPreview = True

Timer1.Enabled = False

Timer1.Interval = 20

Imgcho.Left = Form1.ScaleWidth / 2 - Imgcho.Left

Imgcho.Top = 1

lblBando.Left = Form1.ScaleWidth / 2 - lblBando.Width / 2

lblBando.Top = Form1.ScaleHeight - lblBando.Height

l = Form1.ScaleWidth / 2 - Imgcho.Width / 2

t = 1

kt1 = True

kt2 = True

k = lblBando.Left

level = 1

soloi = 0

sodiem = 0

End Sub




' Đoạn mã thoát khỏi chương trình

Private Sub Image1_Click()

End

End Sub


' Đoạn mã cho bộ định thời Timer1

Private Sub Timer1_Timer()

Dim x As Byte

Timer1.Interval = 20 - level

If (l <= 0) Or (l >= Form1.ScaleWidth - Imgcho.Width) Then

kt1 = Not kt1

End If

If (t <= 0) Or (t >= Form1.ScaleHeight - Imgcho.Height) Then

kt2 = Not kt2

End If

If (Imgcho.Top >= lblBando.Top - Imgcho.Height) Then

If (Imgcho.Left >= lblBando.Left) And (Imgcho.Left <= lblBando.Left + lblBando.Width) Then

kt2 = Not kt2

sodiem = sodiem + 10

Else

soloi = soloi + 1

l = Form1.ScaleWidth / 2 - Imgcho.Width / 2

t = 1

lblBando.Left = Form1.ScaleWidth / 2 - lblBando.Width / 2

lblBando.Top = Form1.ScaleHeight - lblBando.Height

Timer1.Enabled = False

End If

End If

If kt1 Then

l = l + 100

Else

l = l - 100

End If

If kt2 Then

t = t + 100

Else

t = t - 100

End If

Imgcho.Move l, t

If sodiem = 100 * level Then

level = level + 1

x = MsgBox(" Ban Co Muon Sang level" + " " + Str(level) + " " + "Khong ?" + vbNewLine, vbYesNo + vbInformation, "Chu y")

If x = vbNo Then End

End If

If soloi = 10 Then

x = MsgBox("Ban Co Muon choi Lai Khong?", vbYesNo + vbExclamation, "Tro Choi Ket Thuc")

If x = vbYes Then

level = 1

sodiem = 0

soloi = 0

Else

End

End If

End If

txtlevel = level

txtdiem.Text = sodiem

txtloi.Text = soloi

End Sub


Nếu có cao thủ nào bức xúc xin chỉ giáo thêm.

This post has been edited by _pe_thy_: Apr 2 2006, 09:26 AM
Go to the top of the page
 
+Quote Post
Game Online
†Rek_Knight†
post Apr 30 2008, 06:54 PM
Post #2


Yahoo! Playa
Group Icon

Group: Validating Mod
Posts: 137
Cash: 78k
Age: 16
Joined: 24-April 08
Member No.: 105,725
Yahoo! Status:



em mới tự học VB6 ,cho em hỏi chỗ này
Hoặc bạn biến đổi thêm biến

QUOTE
Dim L, T As Long

Roi Tao Mot

Private Sub Form_Load()

l = Shape1.Left

t = Shape1.Top

End Sub

cụ thể là mình làm gì ạ T_T,dân newbie mong mọi người chỉ giáo
Go to the top of the page
 
+Quote Post
onlymyself90
post Apr 30 2008, 07:32 PM
Post #3


Yahoo! King
Group Icon

Group: Moderator
Posts: 714
Cash: 843k
Age: 18
Joined: 8-August 05
From: Long Thành Town
Member No.: 6,562
Yahoo! Status:



Chà bài này hay đây fãi thử mới d8c 4.gif
Go to the top of the page
 
+Quote Post
BBCode:
HTML:
  Digg this topic · Save to del.icio.us · Slashdot It · Post to Technorati · Post to Furl · Submit to Reddit · Share on Facebook · Fark It · Googlize This Post · Add to ma.gnolia · Tag to Wink · Add to MyWeb · Add to Netscape
Reply to this topicStart new topic
2 User(s) are reading this topic [2 Guests and 0 Anonymous Users]
0 Members:

 


Collapse

> Links to this thread

Page             Date Hits
download tai lieu tu hoc vb6.0 - Tm với Google 28th November 2008 - 08:54 PM   1

RSS Lo-Fi Version Time is now: 5th December 2008 - 09:44 AM