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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

戰斗處理子窗口:(設計界面)

代碼:

Option ExplicitPrivate Sub Form_Load() '獲得主窗口的坐標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)戰斗信息顯示Timer1.Enabled = True End SubSub 戰斗信息顯示()Label_怪物名字 = 怪物相關屬性.怪物名 Label_怪物生命值 = "生命值:" & 怪物相關屬性.怪物生命值 Label_怪物攻擊力 = "攻擊力:" & 怪物相關屬性.怪物攻擊力 Label_怪物防御力 = "防御力:" & 怪物相關屬性.怪物防御值 Label_怪物金幣 = "金 幣:" & 怪物相關屬性.怪物持有的金幣 Label_怪物經驗值 = "經驗值:" & 怪物相關屬性.怪物的經驗值Label_男主角生命 = "生命值:" & 人物信息.角色生命值 Label_男主角攻擊力 = "攻擊力:" & 人物信息.角色攻擊力 Label_男主角防御力 = "防御力:" & 人物信息.角色防御值End SubSub 戰斗過程() '損失計算方法: '【怪物生命÷(自己攻擊力-怪物防御力)-1】×(怪物攻擊力-自己防御力)=損失。 '如果怪物先攻就不-1了Dim k As Long, K2 As Long' Dim lLife As Long' lLife = 怪物相關屬性.怪物生命值Do While 怪物相關屬性.怪物生命值 > 0DoEventsk = 人物信息.角色攻擊力 - 怪物相關屬性.怪物防御值 '(自己攻擊力-怪物防御力)If k < 0 Then k = 0k = Rndnum(k, k + 10)怪物相關屬性.怪物生命值 = 怪物相關屬性.怪物生命值 - k '怪物失血(人物攻擊帶隨機暴擊屬性)If 怪物相關屬性.怪物生命值 < 0 Then 怪物相關屬性.怪物生命值 = 0 ': Exit Do'If 怪物相關屬性.怪物生命值 > 0 ThenK2 = 怪物相關屬性.怪物攻擊力 - 人物信息.角色防御值 '怪物攻擊力-自己防御力If K2 < 0 Then K2 = 0人物信息.角色生命值 = 人物信息.角色生命值 - K2 '自己失血Label_戰斗記錄顯示 = ""Label_戰斗記錄顯示 = "怪物失去了" & k & "點生命!"Label_戰斗記錄顯示 = Label_戰斗記錄顯示 & vbCrLf & "英雄失去了" & K2 & "點生命!"' End If戰斗信息顯示延時 (20)Loop人物信息.角色持有的金幣 = 人物信息.角色持有的金幣 + 怪物相關屬性.怪物持有的金幣人物信息.角色的經驗值 = 人物信息.角色的經驗值 + 怪物相關屬性.怪物的經驗值戰斗勝利標志 = TrueTimer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer() 戰斗過程 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

總結

以上是生活随笔為你收集整理的魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~19开始游戏-战斗处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。