魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~19开始游戏-战斗处理
生活随笔
收集整理的這篇文章主要介紹了
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~19开始游戏-战斗处理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
魔塔之拯救白娘子 完整工程下載地址:
《魔塔之拯救白娘子》流程分析5:戰(zhàn)斗處理
這個(gè)游戲的戰(zhàn)斗系統(tǒng)比較簡單,就是對比雙方的數(shù)據(jù),打的過就顯示打斗過程,打不過就提示“打不過”,繞路而行,,,,
下邊是戰(zhàn)斗處理子程序:
戰(zhàn)斗處理子窗口:(設(shè)計(jì)界面)
代碼:
Option ExplicitPrivate Sub Form_Load() '獲得主窗口的坐標(biāo)Me.Left = frmMain.Left + 1000Me.Top = frmMain.Top + 3000Dim rtn As Longrtn = GetWindowLong(hWnd, GWL_EXSTYLE)rtn = rtn Or WS_EX_LAYEREDSetWindowLong hWnd, GWL_EXSTYLE, rtnSetLayeredWindowAttributes hWnd, 0, 200, LWA_ALPHA'讓窗口在頂層 rtn = SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, 3) '取消窗口在頂層 'rtn = SetWindowPos(F_V.hwnd, -2, 0, 0, 0, 0, 3)戰(zhàn)斗信息顯示Timer1.Enabled = True End SubSub 戰(zhàn)斗信息顯示()Label_怪物名字 = 怪物相關(guān)屬性.怪物名 Label_怪物生命值 = "生命值:" & 怪物相關(guān)屬性.怪物生命值 Label_怪物攻擊力 = "攻擊力:" & 怪物相關(guān)屬性.怪物攻擊力 Label_怪物防御力 = "防御力:" & 怪物相關(guān)屬性.怪物防御值 Label_怪物金幣 = "金 幣:" & 怪物相關(guān)屬性.怪物持有的金幣 Label_怪物經(jīng)驗(yàn)值 = "經(jīng)驗(yàn)值:" & 怪物相關(guān)屬性.怪物的經(jīng)驗(yàn)值Label_男主角生命 = "生命值:" & 人物信息.角色生命值 Label_男主角攻擊力 = "攻擊力:" & 人物信息.角色攻擊力 Label_男主角防御力 = "防御力:" & 人物信息.角色防御值End SubSub 戰(zhàn)斗過程() '損失計(jì)算方法: '【怪物生命÷(自己攻擊力-怪物防御力)-1】×(怪物攻擊力-自己防御力)=損失。 '如果怪物先攻就不-1了Dim k As Long, K2 As Long' Dim lLife As Long' lLife = 怪物相關(guān)屬性.怪物生命值Do While 怪物相關(guān)屬性.怪物生命值 > 0DoEventsk = 人物信息.角色攻擊力 - 怪物相關(guān)屬性.怪物防御值 '(自己攻擊力-怪物防御力)If k < 0 Then k = 0k = Rndnum(k, k + 10)怪物相關(guān)屬性.怪物生命值 = 怪物相關(guān)屬性.怪物生命值 - k '怪物失血(人物攻擊帶隨機(jī)暴擊屬性)If 怪物相關(guān)屬性.怪物生命值 < 0 Then 怪物相關(guān)屬性.怪物生命值 = 0 ': Exit Do'If 怪物相關(guān)屬性.怪物生命值 > 0 ThenK2 = 怪物相關(guān)屬性.怪物攻擊力 - 人物信息.角色防御值 '怪物攻擊力-自己防御力If K2 < 0 Then K2 = 0人物信息.角色生命值 = 人物信息.角色生命值 - K2 '自己失血Label_戰(zhàn)斗記錄顯示 = ""Label_戰(zhàn)斗記錄顯示 = "怪物失去了" & k & "點(diǎn)生命!"Label_戰(zhàn)斗記錄顯示 = Label_戰(zhàn)斗記錄顯示 & vbCrLf & "英雄失去了" & K2 & "點(diǎn)生命!"' End If戰(zhàn)斗信息顯示延時(shí) (20)Loop人物信息.角色持有的金幣 = 人物信息.角色持有的金幣 + 怪物相關(guān)屬性.怪物持有的金幣人物信息.角色的經(jīng)驗(yàn)值 = 人物信息.角色的經(jīng)驗(yàn)值 + 怪物相關(guān)屬性.怪物的經(jīng)驗(yàn)值戰(zhàn)斗勝利標(biāo)志 = TrueTimer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer() 戰(zhàn)斗過程 End SubPrivate Sub Timer2_Timer() If frmMain.WindowState = 1 Then Me.Hide Else Me.Show End If If Me.Left - 1000 <> frmMain.Left Then Me.Left = frmMain.Left + 1000If Me.Top - 3000 <> frmMain.Top Then Me.Top = frmMain.Top + 3000 End Sub總結(jié)
以上是生活随笔為你收集整理的魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~19开始游戏-战斗处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页截图工具WebThumb
- 下一篇: 我自己学习做的“即时通”