日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~19开始游戏-战斗处理

發(fā)布時(shí)間:2023/12/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~19开始游戏-战斗处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

魔塔之拯救白娘子 完整工程下載地址:
《魔塔之拯救白娘子》流程分析5:戰(zhàn)斗處理
這個(gè)游戲的戰(zhàn)斗系統(tǒng)比較簡單,就是對比雙方的數(shù)據(jù),打的過就顯示打斗過程,打不過就提示“打不過”,繞路而行,,,,
下邊是戰(zhàn)斗處理子程序:

Sub 戰(zhàn)斗處理(怪物編號 As Integer) Dim k As Integer Dim K2 As Long Dim n() As String'戰(zhàn)斗 '①判斷是否能打過,不能打過就提示:打不過 n = Split(怪物信息(怪物編號 - 79), ",") '讀取怪物數(shù)據(jù) 怪物相關(guān)屬性.怪物名 = n(0) 怪物相關(guān)屬性.怪物生命值 = n(1) 怪物相關(guān)屬性.怪物攻擊力 = n(2) 怪物相關(guān)屬性.怪物防御值 = n(3) 怪物相關(guān)屬性.怪物持有的金幣 = n(4) 怪物相關(guān)屬性.怪物的經(jīng)驗(yàn)值 = n(5)k = 人物信息.角色攻擊力 - 怪物相關(guān)屬性.怪物防御值 ')Int(If k < 0 Then Exit SubIf k = 0 Then k = 1'②可以打那就顯示戰(zhàn)斗畫面(可以設(shè)置顯示/關(guān)閉 戰(zhàn)斗畫面)k = 怪物相關(guān)屬性.怪物生命值 / k ')Int(K2 = 怪物相關(guān)屬性.怪物攻擊力 - 人物信息.角色防御值K2 = k * K2 + K2If K2 > 人物信息.角色生命值 Then Exit Sub '打不過就提示戰(zhàn)斗開始標(biāo)志 = TrueForm_戰(zhàn)斗.Show延時(shí) (1000)Unload Form_戰(zhàn)斗 提示信息 = "太厲害了,你贏得了一場戰(zhàn)斗!" 通過標(biāo)志 = True 戰(zhàn)斗開始標(biāo)志 = FalseEnd Sub

戰(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。