用VB6 0設計簡易賽車遊戲

2021-04-17 08:56:48 字數 2161 閱讀 3029

簡單的遊戲往往更耐玩,就比如伴我度過高考的賽車遊戲:一切都是方塊,所謂的賽車也只是四個方塊。

第一步,繪製物件:用函式drawcar()畫賽車,drawway(n)畫跑道的第n層。

第二步,接受控制:form的keypreview屬性要設為true,在form_keypress函式中通過改變全域性變數cx來控制賽車的位置。

第三步,遊戲迴圈:作為即時遊戲,必須要有乙個timer,並在其事件timer1_timer()中繪製所有物件和進行碰撞檢測。本例中,繪圖部分寫在了timer1_timer()中,碰撞測試放在了test()中。

……這也是所有即時遊戲所共通的框架。當然,我們往往還是根據具體的設計作一些變通,發揮一些技巧……比如這裡設計的跑道是隨機產生的的,這就要通過一點技巧以便既讓玩家感到挑戰,又不至於出現不可逾越的難關……

下面是全部源**,窗體上只需放個按鈕command1就行了!

const d = 100 '方格的寬度

const bt = 3000 '跑道底部的y座標

dim l1(22) as integer '每層跑道左邊有幾個方塊

dim l2(22) as integer '每層跑道右邊有幾個方塊

dim cx as single '賽車的在x軸的位置

private sub command1_click()

cx = width / 2 - 3 * d / 2

cy = height - d

drawcar

for i = 1 to 20

l1(i) = 0

l2(i) = 0

drawway (i)

next i

timer1.enabled = true

end sub

private sub drawcar()

line (cx, bt - 100)-step(3 * d, d), backcolor, bf

line (cx + d, bt - 200)-step(d, d), backcolor, bf '先擦

line (cx, bt - 100)-step(3 * d, d), rgb(225, 0, 0), bf

line (cx + d, bt - 200)-step(d, d), rgb(225, 0, 0), bf

end sub

private sub drawway(n)

line (width/2-3*d/2-2*d,bt-n*d)-step(7*d,d),backcolor, bf

'先擦後畫

line (width/2-3*d/2-2*d,bt-n*d)-step(l1(n)*d, d), ,bf

line (width/2-3*d/2+5*d,bt-n*d)-step(-l2(n)*d,d), ,bf

end sub

private sub form_keypress(keyascii as integer)

select case keyascii

case asc("a"), asc("a")

cx = cx - d

case asc("s"), asc("s")

cx = cx + d

end select

end sub

private sub timer1_timer()

randomize

for i = 1 to 19

l1(i) = l1(i + 1)

l2(i) = l2(i + 1)

drawway (i)

next i

dol1(20) = int(rnd * 5)

l2(20) = int(rnd * 5)

loop until ((l1(20) + l2(20) <= 4) and (l1(20) - l1(19) <= 1) and _

(l2(20) - l2(19) <= 1) and (l1(19) + l2(20) <= 4) and _

(l1(20) + l2(19) <= 4)) '這裡生成新一層跑道,

'注意要篩去玩家不可能通過的情況!

drawway (20)

'以上畫出跑道

drawcar

test

end sub

private sub test()

if 3.5*d-width/2+cx

VB6 0函式集合

一 型別轉換類函式 1.ctype x 格式 p cbool x 將x轉換為 布林 boolean 型別 p cbyte x 將x轉換為 位元組 byte 型別 p ccur x 將x轉換為 金額 currency 型別 p cdate x 將x轉換為 日期 date 型別 p cdbl x 將x轉...

VB6 0 程式設計入門

識別符號 使用者在程式設計時定義的名稱。關鍵字 vb中擁有固定含義 不能被重新定義的識別符號。常見關鍵字 as 定義乙個變數 date 日期函式 else 條件語句中的 否則 error 錯誤物件 let 屬性定義的關鍵字 me 當前物件 null 表示變數不包含有效資料 nothing 將物件變數...

使用VB6 0設計螢幕保護程式

1 螢幕保護程式執行時,滑鼠游標被自動隱藏,在程式結束時,游標顯示。2 當單擊 移動滑鼠或按下鍵盤時,螢幕保護結束,回到正常操作狀態。為了實現這些特性,在編寫vb應用程式時,可以採用如下方法 1 改變窗體屬性通常vb應用程式的窗體都採用有邊框的窗體外觀,但作為螢幕保護程式,應設定窗體為無邊框,且為最...