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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~18开始游戏-物体碰撞检测

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

魔塔之拯救白娘子 完整工程下載地址:
《魔塔之拯救白娘子》流程分析4:物體碰撞檢測(cè)
處理方式分2步,第一步是游戲時(shí)主角顯示處理:當(dāng)主角移動(dòng)時(shí)需要擦除上一個(gè)坐標(biāo)位的主角,然后在新位置上放置主角,但是呢,如果碰到相應(yīng)的道具、物品、敵人將觸發(fā)第二步:物體碰撞檢測(cè)

①游戲時(shí)主角顯示處理:

Sub 游戲時(shí)主角顯示處理()Dim j As IntegerDim m() As StringDim k As IntegerDim i As Integer'男主角移動(dòng).X坐標(biāo), 男主角移動(dòng).Y坐標(biāo)' 0 1 2 3 4 5 6 7 8 9 10 11 12 ' 0,32,64,96,128,160,192,224,256,288,320,352,384 '地圖數(shù)據(jù)(1)=0,3, 5, 5, 5, 3, 8, 3, 5, 5, 5, 3, 0'移動(dòng)方向 ' 2 上 ' 1左 0 右3 ' 下4 '主角地圖上每層初始坐標(biāo).X1 = 地圖XY坐標(biāo).mapX坐標(biāo)(10) '主角地圖上每層初始坐標(biāo).Y1 = 地圖XY坐標(biāo).mapY坐標(biāo)(6)'主角移動(dòng)及判斷If 男主角移動(dòng).移動(dòng)方向 = 0 Then Exit Sub If 男主角移動(dòng).移動(dòng)速度 < 4 Then Exit Sub地圖編輯器界面_臨時(shí)地圖標(biāo)志 = True '①獲得主角當(dāng)前,上下左右的圖形'獲得當(dāng)前j = 男主角移動(dòng).x / 32k = 男主角移動(dòng).y / 32男主角移動(dòng).x行 = j男主角移動(dòng).y列 = k ' If k < 1 Then k = 1 ' If k > 11 Then k = 11地圖數(shù)據(jù)串.主角所在行 = Split(地圖數(shù)據(jù)(j), ",")地圖數(shù)據(jù)串.主角所在列 = k地圖數(shù)據(jù)串.主角所在行列數(shù)據(jù) = 地圖數(shù)據(jù)串.主角所在行(地圖數(shù)據(jù)串.主角所在列)'②移動(dòng)判斷及殺怪處理Select Case 男主角移動(dòng).移動(dòng)方向Case 1 '←k = k - 1If k < 1 Then k = 1'獲得左方地圖數(shù)據(jù)串.主角左方_行 = Split(地圖數(shù)據(jù)(j), ",")地圖數(shù)據(jù)串.主角左方_列 = k地圖數(shù)據(jù)串.主角左方行列數(shù)據(jù) = 地圖數(shù)據(jù)串.主角左方_行(地圖數(shù)據(jù)串.主角左方_列)物體碰撞檢測(cè) (地圖數(shù)據(jù)串.主角左方行列數(shù)據(jù))If 通過標(biāo)志 = True Then地圖數(shù)據(jù)串.主角左方_行(地圖數(shù)據(jù)串.主角左方_列) = 14m = Split(地圖數(shù)據(jù)(j), ",")m(k) = 地圖數(shù)據(jù)串.主角左方_行(地圖數(shù)據(jù)串.主角左方_列)地圖數(shù)據(jù)(j) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)End IfCase 2 '↑j = j - 1If j < 1 Then j = 1移動(dòng)方向中待處理的行列.待處理的行 = j移動(dòng)方向中待處理的行列.待處理的列 = k'獲得上方地圖數(shù)據(jù)串.主角上方_行 = Split(地圖數(shù)據(jù)(j), ",")地圖數(shù)據(jù)串.主角上方_列 = k地圖數(shù)據(jù)串.主角上方行列數(shù)據(jù) = 地圖數(shù)據(jù)串.主角上方_行(地圖數(shù)據(jù)串.主角上方_列)物體碰撞檢測(cè) (地圖數(shù)據(jù)串.主角上方行列數(shù)據(jù))If 通過標(biāo)志 = True Then'通過則上移,清除原先的圖塊地圖數(shù)據(jù)串.主角上方_行(地圖數(shù)據(jù)串.主角上方_列) = 14m = Split(地圖數(shù)據(jù)(j), ",")m(k) = 地圖數(shù)據(jù)串.主角上方_行(地圖數(shù)據(jù)串.主角上方_列)地圖數(shù)據(jù)(j) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)End IfCase 3 '→k = k + 1: If k > 11 Then k = 11'獲得右方地圖數(shù)據(jù)串.主角右方_行 = Split(地圖數(shù)據(jù)(j), ",")地圖數(shù)據(jù)串.主角右方_列 = k地圖數(shù)據(jù)串.主角右方行列數(shù)據(jù) = 地圖數(shù)據(jù)串.主角右方_行(地圖數(shù)據(jù)串.主角右方_列)物體碰撞檢測(cè) (地圖數(shù)據(jù)串.主角右方行列數(shù)據(jù))If 通過標(biāo)志 = True Then地圖數(shù)據(jù)串.主角右方_行(地圖數(shù)據(jù)串.主角右方_列) = 14m = Split(地圖數(shù)據(jù)(j), ",")m(k) = 地圖數(shù)據(jù)串.主角右方_行(地圖數(shù)據(jù)串.主角右方_列)地圖數(shù)據(jù)(j) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)End IfCase 4 '↓j = j + 1If j > 11 Then j = 11'獲得下方地圖數(shù)據(jù)串.主角下方_行 = Split(地圖數(shù)據(jù)(j), ",")地圖數(shù)據(jù)串.主角下方_列 = k地圖數(shù)據(jù)串.主角下方行列數(shù)據(jù) = 地圖數(shù)據(jù)串.主角下方_行(地圖數(shù)據(jù)串.主角下方_列)物體碰撞檢測(cè) (地圖數(shù)據(jù)串.主角下方行列數(shù)據(jù))If 通過標(biāo)志 = True Then地圖數(shù)據(jù)串.主角下方_行(地圖數(shù)據(jù)串.主角下方_列) = 14m = Split(地圖數(shù)據(jù)(j), ",")m(k) = 地圖數(shù)據(jù)串.主角下方_行(地圖數(shù)據(jù)串.主角下方_列)地圖數(shù)據(jù)(j) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)End IfEnd Select'③將主角移動(dòng)到新位置,并抹去原先位置上的圖形If 通過標(biāo)志 = True Then男主角移動(dòng).x = 地圖XY坐標(biāo).mapX坐標(biāo)(j)男主角移動(dòng).y = 地圖XY坐標(biāo).mapY坐標(biāo)(k)End If '顯示臨時(shí)地圖 '背景_動(dòng)態(tài)Draw End Sub

②物體碰撞檢測(cè):源碼如下

Sub 物體碰撞檢測(cè)(碰到的圖塊編號(hào) As Integer) '物體碰撞檢測(cè) '地圖數(shù)據(jù)串.主角上方行列數(shù)據(jù) Dim m() As StringSelect Case 碰到的圖塊編號(hào) Case 1 '基本圖塊,可以通過 通過標(biāo)志 = True 提示信息 = "" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\走路.wav")播放音效.PlayWav myDSBuff(0), False Case 0, 2, 3, 4, 5, 7 '不能通過通過標(biāo)志 = False 提示信息 = "這個(gè)方向不能通過!"Case 6 '黃色門:用黃鑰匙開啟If 勇者包裹.黃鑰匙數(shù)量 > 0 Then 勇者包裹.黃鑰匙數(shù)量 = 勇者包裹.黃鑰匙數(shù)量 - 1 通過標(biāo)志 = TrueSet myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\打開房間木門.wav")播放音效.PlayWav myDSBuff(0), False Else通過標(biāo)志 = False提示信息 = "需要黃鑰匙開門!" End IfCase 8 '上樓處理: '地圖層號(hào)從2開始,地圖上一層從1開始 通過標(biāo)志 = False '①上樓先保存本層的各種物品狀態(tài)到臨時(shí)文件中 If 地圖層號(hào) < 99 Then If 游戲進(jìn)度.地圖當(dāng)前層號(hào) + 1 <> 地圖層號(hào) + 1 Then 地圖層號(hào) = 游戲進(jìn)度.地圖當(dāng)前層號(hào) End If 清除地圖上多余的主角寫臨時(shí)地圖數(shù)據(jù) (地圖層號(hào)) '保存當(dāng)前地圖狀況到臨時(shí)文件里 '②自動(dòng)幫玩家存檔 游戲存檔 地圖層號(hào), False '③增加地圖數(shù)量If 地圖層號(hào) = 24 And 男主角移動(dòng).x / 32 = 6 ThenIf 男主角移動(dòng).y / 32 = 2 Then '24層在左邊上樓地圖層號(hào) = 25ElseIf 男主角移動(dòng).y / 32 = 10 Then '24層在右邊上樓地圖層號(hào) = 26End If End If End If If 地圖層號(hào) = 25 And 男主角移動(dòng).x / 32 = 8 And 男主角移動(dòng).y / 32 = 6 ThenIf 勇者包裹.圣光徽的數(shù)量 < 3 Then提示信息 = "需要3枚圣光徽,才能跟最終BOSS決斗!"地圖層號(hào) = 24Else地圖層號(hào) = 27End If End If 地圖層號(hào) = 地圖層號(hào) + 1 ': 游戲中讀取地圖層次判斷 游戲進(jìn)度.上樓處理標(biāo)志(地圖層號(hào)) = True '游戲進(jìn)度.讀系統(tǒng)檔(地圖層號(hào)) = True 游戲進(jìn)度.到過的最大層號(hào) = 地圖層號(hào)End If Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\上樓下樓.wav")播放音效.PlayWav myDSBuff(0), False 背景音樂選擇Case 9 '下樓處理 通過標(biāo)志 = FalseIf 地圖層號(hào) < 99 Then If 游戲進(jìn)度.地圖當(dāng)前層號(hào) - 1 <> 地圖層號(hào) - 1 Then 地圖層號(hào) = 游戲進(jìn)度.地圖當(dāng)前層號(hào) End If 清除地圖上多余的主角 寫臨時(shí)地圖數(shù)據(jù) (地圖層號(hào)) '保存當(dāng)前地圖狀況到臨時(shí)文件里 '②自動(dòng)幫玩家存檔 游戲存檔 地圖層號(hào), False'③增加地圖數(shù)量 If 地圖層號(hào) = 26 Then '24層在左邊上樓地圖層號(hào) = 25End IfIf 地圖層號(hào) = 27 Then '24層在右邊上樓地圖層號(hào) = 25End If地圖層號(hào) = 地圖層號(hào) - 1 ': 游戲中讀取地圖層次判斷If 地圖層號(hào) = 1 Then 地圖層號(hào) = 2游戲進(jìn)度.下樓處理標(biāo)志(地圖層號(hào)) = True '游戲進(jìn)度.讀系統(tǒng)檔(地圖層號(hào)) = TrueEnd If Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\上樓下樓.wav")播放音效.PlayWav myDSBuff(0), False 背景音樂選擇 Case 10 '藍(lán)色門 If 勇者包裹.藍(lán)鑰匙數(shù)量 > 0 Then 勇者包裹.藍(lán)鑰匙數(shù)量 = 勇者包裹.藍(lán)鑰匙數(shù)量 - 1 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\打開房間木門.wav")播放音效.PlayWav myDSBuff(0), False Else通過標(biāo)志 = False提示信息 = "需要藍(lán)鑰匙開門!" End IfCase 11 '紅色門:用紅鑰匙開啟 If 勇者包裹.紅鑰匙數(shù)量 > 0 Then 勇者包裹.紅鑰匙數(shù)量 = 勇者包裹.紅鑰匙數(shù)量 - 1 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\打開房間木門.wav")播放音效.PlayWav myDSBuff(0), False Else通過標(biāo)志 = False提示信息 = "需要紅鑰匙開門!" End IfCase 12 '防盜門:只能由小偷開啟 If 談話對(duì)象.NPC對(duì)話標(biāo)志_小偷 = 1 Then通過標(biāo)志 = TrueElse通過標(biāo)志 = False提示信息 = "此門只能由小偷開啟!"End IfCase 13 '鐵門:可以破壞通過標(biāo)志 = True提示信息 = "鐵門的鎖被你用刀砍斷了!"Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\金屬敲擊-短小.wav")播放音效.PlayWav myDSBuff(0), False Case 15 '白娘子對(duì)話'談話對(duì)象.NPC對(duì)話標(biāo)志_白娘子=1 第一次場(chǎng)景對(duì)話,以此類推 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_白娘子 = 0 And 對(duì)話窗口顯示標(biāo)志 = False Then 談話對(duì)象.NPC對(duì)話標(biāo)志_白娘子 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 5 Form_對(duì)話.Show'如果就顯示上行樓梯' If 地圖層號(hào) = 20 Then 'm = Split(地圖數(shù)據(jù)(11), ",")'順手修改地圖'上樓m(11) = 8地圖數(shù)據(jù)(11) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)' End If End IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_白娘子 = 1 And 對(duì)話窗口顯示標(biāo)志 = False ThenIf Winner = False Then '闖關(guān)成功后的演出對(duì)話窗口顯示標(biāo)志 = True對(duì)話文件名編號(hào) = 15Form_對(duì)話.Show Else 對(duì)話窗口顯示標(biāo)志 = True對(duì)話文件名編號(hào) = 20Form_對(duì)話.Showm = Split(地圖數(shù)據(jù)(7), ",")'順手修改地圖'上樓m(6) = 16地圖數(shù)據(jù)(7) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)End IfEnd If提示信息 = "~~~正在與白娘子對(duì)話~~~"Case 16 '小青,對(duì)話'談話對(duì)象.NPC對(duì)話標(biāo)志_小青=1 第一次場(chǎng)景對(duì)話,以此類推 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 0 And 對(duì)話窗口顯示標(biāo)志 = False Then 談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 1 Form_對(duì)話.Show'第一次對(duì)話結(jié)束后,得到黃紅藍(lán)鑰匙各2把 勇者包裹.紅鑰匙數(shù)量 = 1 勇者包裹.黃鑰匙數(shù)量 = 1 勇者包裹.藍(lán)鑰匙數(shù)量 = 1'小仙女閃人'End If 'If 談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 1 And 對(duì)話窗口顯示標(biāo)志 = False Thenm = Split(地圖數(shù)據(jù)(9), ",")m(5) = 16地圖數(shù)據(jù)(9) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)小青的移動(dòng).移動(dòng)方向 = 3 通過標(biāo)志 = True 談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 2 End IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 2 And 對(duì)話窗口顯示標(biāo)志 = False Then對(duì)話窗口顯示標(biāo)志 = True對(duì)話文件名編號(hào) = 14Form_對(duì)話.Show End IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 3 And 對(duì)話窗口顯示標(biāo)志 = False And 勇者包裹.幸運(yùn)十字架數(shù)量 = True Then '得到十字架后的處理If 勇者包裹.幸運(yùn)十字架數(shù)量 = True Then對(duì)話文件名編號(hào) = 3: 對(duì)話窗口顯示標(biāo)志 = True: Form_對(duì)話.Show人物信息.角色生命值 = 人物信息.角色生命值 + Int(人物信息.角色生命值 / 3)人物信息.角色攻擊力 = 人物信息.角色攻擊力 + Int(人物信息.角色攻擊力 / 3)人物信息.角色防御值 = 人物信息.角色防御值 + Int(人物信息.角色防御值 / 3)'顯示22層的上行電梯'小青消失談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 4m = Split(地圖數(shù)據(jù)(9), ",")m(5) = 1地圖數(shù)據(jù)(9) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)小青的移動(dòng).移動(dòng)方向 = 3 通過標(biāo)志 = TrueEnd IfEnd IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_小青 > 3 And 對(duì)話窗口顯示標(biāo)志 = False And 地圖層號(hào) = 24 Then對(duì)話文件名編號(hào) = 17: 對(duì)話窗口顯示標(biāo)志 = True: Form_對(duì)話.Show談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 5End If提示信息 = "~~~正在與小青對(duì)話~~~"Case 17 '小偷對(duì)話'談話對(duì)象.NPC對(duì)話標(biāo)志_小偷=1 第一次場(chǎng)景對(duì)話,以此類推 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_小偷 = 0 And 對(duì)話窗口顯示標(biāo)志 = False Then 談話對(duì)象.NPC對(duì)話標(biāo)志_小偷 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 2 Form_對(duì)話.ShowEnd IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_小偷 = 1 And 對(duì)話窗口顯示標(biāo)志 = False Then對(duì)話窗口顯示標(biāo)志 = True對(duì)話文件名編號(hào) = 13Form_對(duì)話.ShowEnd IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_小偷 = 2 And 對(duì)話窗口顯示標(biāo)志 = False And 勇者包裹.鐵榔頭數(shù)量 = True Then '將十八層路面修復(fù)談話對(duì)象.NPC對(duì)話標(biāo)志_小偷 = 3對(duì)話窗口顯示標(biāo)志 = True對(duì)話文件名編號(hào) = 4Form_對(duì)話.Show'小偷消失m = Split(地圖數(shù)據(jù)(1), ",")m(6) = 1地圖數(shù)據(jù)(1) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)End If提示信息 = "~~~正在與小偷對(duì)話~~~"Case 18 '老人1:可以提升等級(jí)和體能等 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_老人 = 0 And 地圖層號(hào) = 4 Then '首次對(duì)話NPC談話對(duì)象.NPC對(duì)話標(biāo)志_老人 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 6 Form_對(duì)話.Show '送裝備鋼劍一把 人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 30 提示信息 = "得到鋼劍,攻擊力+30點(diǎn)!" End IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_老人 = 1 And 地圖層號(hào) = 17 Then '17層對(duì)話的話,就用經(jīng)驗(yàn)換攻擊力NPC談話對(duì)象.NPC對(duì)話標(biāo)志_老人 = 2: 對(duì)話窗口顯示標(biāo)志 = TrueIf 人物信息.角色的經(jīng)驗(yàn)值 > 499 Then對(duì)話文件名編號(hào) = 8 Form_對(duì)話.Show '經(jīng)驗(yàn)換攻擊人物信息.角色的經(jīng)驗(yàn)值 = 人物信息.角色的經(jīng)驗(yàn)值 - 500 人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 120 提示信息 = "使用經(jīng)驗(yàn)值兌換了120點(diǎn)攻擊力!" '老人消失m = Split(地圖數(shù)據(jù)(4), ",")m(5) = 1地圖數(shù)據(jù)(4) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)Else 對(duì)話文件名編號(hào) = 10 Form_對(duì)話.ShowEnd IfEnd IfIf 對(duì)話窗口顯示標(biāo)志 = False ThenIf 地圖層號(hào) = 4 Then商店對(duì)話ID = 2 '5層老人Else商店對(duì)話ID = 1 '12層老人End If商店對(duì)話窗口顯示標(biāo)志 = TrueForm_商店.Show End If 提示信息 = "~~~正在與神秘老人對(duì)話~~~"Case 19 '商人:可以購(gòu)買鑰匙等 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_商人 = 0 And 地圖層號(hào) = 4 Then '首次對(duì)話談話對(duì)象.NPC對(duì)話標(biāo)志_商人 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 7 Form_對(duì)話.Show '送裝備鋼劍一把 人物信息.角色防御值 = 人物信息.角色防御值 + 30 提示信息 = "得到鋼盾,防御力+30點(diǎn)!" End IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_商人 = 1 And 地圖層號(hào) = 17 Then '首次對(duì)話談話對(duì)象.NPC對(duì)話標(biāo)志_商人 = 2: 對(duì)話窗口顯示標(biāo)志 = TrueIf 人物信息.角色持有的金幣 > 499 Then對(duì)話文件名編號(hào) = 9 Form_對(duì)話.Show '金幣換防御 人物信息.角色持有的金幣 = 人物信息.角色持有的金幣 - 500 人物信息.角色防御值 = 人物信息.角色防御值 + 190 提示信息 = "得到光芒神盾,防御力+190點(diǎn)!" '這個(gè)NPC要消失掉m = Split(地圖數(shù)據(jù)(4), ",")m(7) = 1地圖數(shù)據(jù)(4) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)Else 對(duì)話文件名編號(hào) = 11 Form_對(duì)話.ShowEnd IfEnd IfIf 對(duì)話窗口顯示標(biāo)志 = False ThenIf 地圖層號(hào) = 4 Then商店對(duì)話ID = 4 '5層商人Else商店對(duì)話ID = 5 '12層商人End If商店對(duì)話窗口顯示標(biāo)志 = True Form_商店.ShowEnd If 提示信息 = "~~~正在與神秘商人對(duì)話~~~"Case 20, 21, 22 '商店 通過標(biāo)志 = False If 地圖層號(hào) = 5 Then商店對(duì)話ID = 0 '3層商店Else商店對(duì)話ID = 3 '13層商店End If商店對(duì)話窗口顯示標(biāo)志 = True Form_商店.Show Case 24 '怪物手冊(cè):得到怪物的屬性信息 勇者包裹.怪物手冊(cè)數(shù)量 = True提示信息 = "你得到了怪物手冊(cè),現(xiàn)在你可以自由查看怪物信息了!" 通過標(biāo)志 = TrueCase 25 '鑄鐵門:不可以破壞提示信息 = "此門是鑄鐵門:不可以破壞!請(qǐng)繞路而行" 通過標(biāo)志 = FalseCase 30 '紅寶石:攻擊力+3通過標(biāo)志 = True 人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 5提示信息 = "角色的攻擊力增加了5點(diǎn)!" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\寶石.wav")播放音效.PlayWav myDSBuff(0), False Case 31 '藍(lán)寶石:防御力+3通過標(biāo)志 = True人物信息.角色防御值 = 人物信息.角色防御值 + 5提示信息 = "角色防御值增加了5點(diǎn)!" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\寶石1.wav")播放音效.PlayWav myDSBuff(0), False Case 32 '綠寶石:經(jīng)驗(yàn)+30通過標(biāo)志 = True人物信息.角色的經(jīng)驗(yàn)值 = 人物信息.角色的經(jīng)驗(yàn)值 + 30提示信息 = "角色的經(jīng)驗(yàn)值增加了30點(diǎn)!" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\寶石.wav")播放音效.PlayWav myDSBuff(0), False Case 33 '紅血瓶:生命+200通過標(biāo)志 = True人物信息.角色生命值 = 人物信息.角色生命值 + 300提示信息 = "角色生命值增加了300點(diǎn)!" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\喝藥.wav")播放音效.PlayWav myDSBuff(0), False Case 34 '藍(lán)血瓶:生命+500通過標(biāo)志 = True人物信息.角色生命值 = 人物信息.角色生命值 + 600提示信息 = "角色生命值增加了600點(diǎn)!" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\喝藥.wav")播放音效.PlayWav myDSBuff(0), False Case 35 '綠血瓶:生命+1000通過標(biāo)志 = True人物信息.角色生命值 = 人物信息.角色生命值 + 1000提示信息 = "角色生命值增加了1000點(diǎn)!" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\喝藥.wav")播放音效.PlayWav myDSBuff(0), False Case 36 '圣水瓶:生命加倍通過標(biāo)志 = True人物信息.角色生命值 = 人物信息.角色生命值 * 2提示信息 = "角色生命值翻倍增加了!" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\喝藥.wav")播放音效.PlayWav myDSBuff(0), False Case 37 '小鑰匙盒:所有鑰匙+1通過標(biāo)志 = True勇者包裹.紅鑰匙數(shù)量 = 勇者包裹.紅鑰匙數(shù)量 + 2勇者包裹.黃鑰匙數(shù)量 = 勇者包裹.黃鑰匙數(shù)量 + 2勇者包裹.藍(lán)鑰匙數(shù)量 = 勇者包裹.藍(lán)鑰匙數(shù)量 + 2提示信息 = "所有鑰匙的數(shù)量都增加了2把"Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\T3鑰匙.wav")播放音效.PlayWav myDSBuff(0), False Case 38 '大鑰匙盒:所有鑰匙+3通過標(biāo)志 = True勇者包裹.紅鑰匙數(shù)量 = 勇者包裹.紅鑰匙數(shù)量 + 5勇者包裹.黃鑰匙數(shù)量 = 勇者包裹.黃鑰匙數(shù)量 + 5勇者包裹.藍(lán)鑰匙數(shù)量 = 勇者包裹.藍(lán)鑰匙數(shù)量 + 5提示信息 = "所有鑰匙的數(shù)量都增加了5把" Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\T3鑰匙.wav")播放音效.PlayWav myDSBuff(0), False Case 39 '黃鑰匙 勇者包裹.黃鑰匙數(shù)量 = 勇者包裹.黃鑰匙數(shù)量 + 1 提示信息 = "得到一把黃鑰匙!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\T3鑰匙.wav")播放音效.PlayWav myDSBuff(0), False Case 40 '藍(lán)鑰匙 勇者包裹.藍(lán)鑰匙數(shù)量 = 勇者包裹.藍(lán)鑰匙數(shù)量 + 1 提示信息 = "得到一把藍(lán)鑰匙!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\T3鑰匙.wav")播放音效.PlayWav myDSBuff(0), False Case 41 '紅鑰匙 勇者包裹.紅鑰匙數(shù)量 = 勇者包裹.紅鑰匙數(shù)量 + 1 提示信息 = "得到一把紅鑰匙!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\T3鑰匙.wav")播放音效.PlayWav myDSBuff(0), False Case 42 '小飛羽:等級(jí)+1人物信息.角色等級(jí) = 人物信息.角色等級(jí) + 5 人物信息.角色生命值 = 人物信息.角色生命值 + 5000 人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 50 人物信息.角色防御值 = 人物信息.角色防御值 + 50 人物信息.角色持有的金幣 = 人物信息.角色持有的金幣 + 人物信息.角色持有的金幣 + 50 人物信息.角色的經(jīng)驗(yàn)值 = 人物信息.角色的經(jīng)驗(yàn)值 + 500 提示信息 = "恭喜:升了5級(jí)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\升級(jí).wav")播放音效.PlayWav myDSBuff(0), False If 人物信息.角色攻擊力 < 1 Then 人物信息.角色攻擊力 = 1 If 人物信息.角色攻擊力 > 2 ^ 62 - 1 Then 人物信息.角色攻擊力 = 2 ^ 62 - 1 If 人物信息.角色防御值 < 1 Then 人物信息.角色防御值 = 1 If 人物信息.角色防御值 > 2 ^ 62 - 1 Then 人物信息.角色防御值 = 2 ^ 62 - 1 If 人物信息.角色生命值 < 1 Then 人物信息.角色生命值 = 1 If 人物信息.角色生命值 > 2 ^ 62 - 1 Then 人物信息.角色生命值 = 2 ^ 62 - 1 Case 43 '大飛羽:等級(jí)+3 人物信息.角色等級(jí) = 人物信息.角色等級(jí) + 10 人物信息.角色生命值 = 人物信息.角色生命值 + 10000 人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 500 人物信息.角色防御值 = 人物信息.角色防御值 + 500 人物信息.角色持有的金幣 = 人物信息.角色持有的金幣 + 人物信息.角色持有的金幣 + 500 人物信息.角色的經(jīng)驗(yàn)值 = 人物信息.角色的經(jīng)驗(yàn)值 + 5000 提示信息 = "恭喜:升了10級(jí)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\升級(jí).wav")播放音效.PlayWav myDSBuff(0), False If 人物信息.角色攻擊力 < 1 Then 人物信息.角色攻擊力 = 1 If 人物信息.角色攻擊力 > 2 ^ 62 - 1 Then 人物信息.角色攻擊力 = 2 ^ 62 - 1 If 人物信息.角色防御值 < 1 Then 人物信息.角色防御值 = 1 If 人物信息.角色防御值 > 2 ^ 62 - 1 Then 人物信息.角色防御值 = 2 ^ 62 - 1 If 人物信息.角色生命值 < 1 Then 人物信息.角色生命值 = 1 If 人物信息.角色生命值 > 2 ^ 62 - 1 Then 人物信息.角色生命值 = 2 ^ 62 - 1Case 44 '鐵鋃頭:開挖20層隱含路面 勇者包裹.鐵榔頭數(shù)量 = True 談話對(duì)象.NPC對(duì)話標(biāo)志_小偷 = 2 提示信息 = "你得到了鐵榔頭,趕緊交給小偷,開啟20樓的隱藏路面!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\鼓.wav")播放音效.PlayWav myDSBuff(0), False Case 45 '星光神鋃:開隱藏地面 勇者包裹.星光神鋃數(shù)量 = True提示信息 = "你得到了星光神鋃,打開了機(jī)關(guān),可以跟公主交談了!" 通過標(biāo)志 = TrueSet myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\鼓.wav")播放音效.PlayWav myDSBuff(0), False Case 46 '風(fēng)之羅盤:自由穿越已走過的樓層 勇者包裹.風(fēng)之羅盤數(shù)量 = True提示信息 = "你得到了風(fēng)之羅盤,現(xiàn)在你可以自由穿越已走過的樓層!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\風(fēng).wav")播放音效.PlayWav myDSBuff(0), FalseCase 47 '幸運(yùn)十字架:提升所有能力提示信息 = "你得到了幸運(yùn)十字架,趕快拿給小青!" 通過標(biāo)志 = True 勇者包裹.幸運(yùn)十字架數(shù)量 = True 談話對(duì)象.NPC對(duì)話標(biāo)志_小青 = 3 Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\幸運(yùn)十字架.wav")播放音效.PlayWav myDSBuff(0), FalseCase 48 '金盤:金幣+300提示信息 = "恭喜:你得到了金盤,金幣增加了300哦!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\金幣.wav")播放音效.PlayWav myDSBuff(0), False 人物信息.角色持有的金幣 = 人物信息.角色持有的金幣 + 300Case 49 '圣光徽提示信息 = "恭喜:你得到了圣光徽!英雄的生命、力量、防御各提升了500點(diǎn)!" 勇者包裹.圣光徽的數(shù)量 = 勇者包裹.圣光徽的數(shù)量 + 1 Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\圣光徽.wav")播放音效.PlayWav myDSBuff(0), False人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 500 人物信息.角色防御值 = 人物信息.角色防御值 + 500 人物信息.角色生命值 = 人物信息.角色生命值 + 500 通過標(biāo)志 = True If 勇者包裹.圣光徽的數(shù)量 > 3 Then 勇者包裹.圣光徽的數(shù)量 = 3 If 勇者包裹.圣光徽的數(shù)量 < 0 Then 勇者包裹.圣光徽的數(shù)量 = 0 If 人物信息.角色攻擊力 < 1 Then 人物信息.角色攻擊力 = 1 If 人物信息.角色攻擊力 > 2 ^ 62 - 1 Then 人物信息.角色攻擊力 = 2 ^ 62 - 1 If 人物信息.角色防御值 < 1 Then 人物信息.角色防御值 = 1 If 人物信息.角色防御值 > 2 ^ 62 - 1 Then 人物信息.角色防御值 = 2 ^ 62 - 1 If 人物信息.角色生命值 < 1 Then 人物信息.角色生命值 = 1 If 人物信息.角色生命值 > 2 ^ 62 - 1 Then 人物信息.角色生命值 = 2 ^ 62 - 1 Case 50 '鐵劍:攻擊力+10提示信息 = "你得到了鐵劍,攻擊力增加了10點(diǎn)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\刀劍.wav")播放音效.PlayWav myDSBuff(0), False人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 10 If 人物信息.角色攻擊力 < 1 Then 人物信息.角色攻擊力 = 1 If 人物信息.角色攻擊力 > 2 ^ 62 - 1 Then 人物信息.角色攻擊力 = 2 ^ 62 - 1 Case 51 '鋼劍:攻擊力+30提示信息 = "你得到了鋼劍,攻擊力增加了30點(diǎn)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\刀劍.wav")播放音效.PlayWav myDSBuff(0), False 人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 30 If 人物信息.角色攻擊力 < 1 Then 人物信息.角色攻擊力 = 1 If 人物信息.角色攻擊力 > 2 ^ 62 - 1 Then 人物信息.角色攻擊力 = 2 ^ 62 - 1 Case 52 '青鋒劍:攻擊力+70提示信息 = "你得到了青鋒劍,攻擊力增加了70點(diǎn)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\刀劍.wav")播放音效.PlayWav myDSBuff(0), False 人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 70 If 人物信息.角色攻擊力 < 1 Then 人物信息.角色攻擊力 = 1 If 人物信息.角色攻擊力 > 2 ^ 62 - 1 Then 人物信息.角色攻擊力 = 2 ^ 62 - 1 Case 53 '星光神劍:攻擊力+150提示信息 = "你得到了星光神劍,攻擊力增加了150點(diǎn)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\刀劍.wav")播放音效.PlayWav myDSBuff(0), False 人物信息.角色攻擊力 = 人物信息.角色攻擊力 + 150 If 人物信息.角色攻擊力 < 1 Then 人物信息.角色攻擊力 = 1 If 人物信息.角色攻擊力 > 2 ^ 62 - 1 Then 人物信息.角色攻擊力 = 2 ^ 62 - 1 Case 54 '鐵盾:防御力+10提示信息 = "你得到了鐵盾,防御力增加了10點(diǎn)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\鎧甲.wav")播放音效.PlayWav myDSBuff(0), False 人物信息.角色防御值 = 人物信息.角色防御值 + 10 If 人物信息.角色攻擊力 < 1 Then 人物信息.角色攻擊力 = 1 If 人物信息.角色攻擊力 > 2 ^ 62 - 1 Then 人物信息.角色攻擊力 = 2 ^ 62 - 1 Case 55 '鋼盾:防御力+30提示信息 = "你得到了鋼盾,防御力增加了30點(diǎn)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\鎧甲.wav")播放音效.PlayWav myDSBuff(0), False 人物信息.角色防御值 = 人物信息.角色防御值 + 30 If 人物信息.角色防御值 < 1 Then 人物信息.角色防御值 = 1 If 人物信息.角色防御值 > 2 ^ 62 - 1 Then 人物信息.角色防御值 = 2 ^ 62 - 1 Case 56 '黃金盾:防御力+80提示信息 = "你得到了黃金盾,防御力增加了80點(diǎn)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\鎧甲.wav")播放音效.PlayWav myDSBuff(0), False 人物信息.角色防御值 = 人物信息.角色防御值 + 80 If 人物信息.角色防御值 < 1 Then 人物信息.角色防御值 = 1 If 人物信息.角色防御值 > 2 ^ 62 - 1 Then 人物信息.角色防御值 = 2 ^ 62 - 1 Case 57 '光芒神盾:防御力+190提示信息 = "你得到了黃金盾,防御力增加了190點(diǎn)!" 通過標(biāo)志 = True Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\鎧甲.wav")播放音效.PlayWav myDSBuff(0), False 人物信息.角色防御值 = 人物信息.角色防御值 + 190 If 人物信息.角色防御值 < 1 Then 人物信息.角色防御值 = 1 If 人物信息.角色防御值 > 2 ^ 62 - 1 Then 人物信息.角色防御值 = 2 ^ 62 - 1 '特殊的怪要對(duì)話 Case 109 '紅衣魔王'談話對(duì)象.NPC對(duì)話標(biāo)志_紅衣魔王=1 第一次場(chǎng)景對(duì)話,以此類推 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_紅衣魔王 = 0 Then 談話對(duì)象.NPC對(duì)話標(biāo)志_紅衣魔王 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 12 Form_對(duì)話.ShowEnd IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_紅衣魔王 = 1 And 對(duì)話窗口顯示標(biāo)志 = False Then''顯示戰(zhàn)斗畫面戰(zhàn)斗處理 (碰到的圖塊編號(hào)) If 戰(zhàn)斗勝利標(biāo)志 = False Then提示信息 = "怪物太強(qiáng),你打不過!"Else通過標(biāo)志 = True: Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\怪2.wav")播放音效.PlayWav myDSBuff(0), FalseEnd IfEnd If '特殊的怪要對(duì)話 Case 110 '紅衣大魔王'談話對(duì)象.NPC對(duì)話標(biāo)志_紅衣大魔王=1 第一次場(chǎng)景對(duì)話,以此類推 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_紅衣大魔王 = 0 Then 談話對(duì)象.NPC對(duì)話標(biāo)志_紅衣大魔王 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 16 Form_對(duì)話.ShowEnd IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_紅衣大魔王 = 1 And 對(duì)話窗口顯示標(biāo)志 = False Then''顯示戰(zhàn)斗畫面戰(zhàn)斗處理 (碰到的圖塊編號(hào)) If 戰(zhàn)斗勝利標(biāo)志 = False Then提示信息 = "怪物太強(qiáng),你打不過!"Else通過標(biāo)志 = True: Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\怪3.wav")播放音效.PlayWav myDSBuff(0), FalseEnd IfEnd If '特殊的怪要對(duì)話 Case 111 '冥靈魔王'談話對(duì)象.NPC對(duì)話標(biāo)志_冥靈魔王=1 第一次場(chǎng)景對(duì)話,以此類推 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_冥靈魔王 = 0 And 對(duì)話窗口顯示標(biāo)志 = False And 地圖層號(hào) = 28 Then 談話對(duì)象.NPC對(duì)話標(biāo)志_冥靈魔王 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 18 Form_對(duì)話.Show '談話對(duì)象.NPC對(duì)話標(biāo)志_冥靈魔王 = 0 End IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_冥靈魔王 = 1 And 對(duì)話窗口顯示標(biāo)志 = False Then ''顯示戰(zhàn)斗畫面戰(zhàn)斗處理 (碰到的圖塊編號(hào)) If 戰(zhàn)斗勝利標(biāo)志 = False Then提示信息 = "怪物太強(qiáng),你打不過!"Else通過標(biāo)志 = True: 談話對(duì)象.NPC對(duì)話標(biāo)志_冥靈魔王 = 0Set myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\怪4.wav")播放音效.PlayWav myDSBuff(0), FalseEnd IfEnd If '特殊的怪要對(duì)話 Case 113 '血影'談話對(duì)象.血影=1 第一次場(chǎng)景對(duì)話,以此類推 通過標(biāo)志 = False If 談話對(duì)象.NPC對(duì)話標(biāo)志_血影 = 0 And 對(duì)話窗口顯示標(biāo)志 = False Then 談話對(duì)象.NPC對(duì)話標(biāo)志_血影 = 1: 對(duì)話窗口顯示標(biāo)志 = True 對(duì)話文件名編號(hào) = 19 Form_對(duì)話.Show '談話對(duì)象.血影 = 0 End IfIf 談話對(duì)象.NPC對(duì)話標(biāo)志_血影 = 1 And 對(duì)話窗口顯示標(biāo)志 = False Then ''顯示戰(zhàn)斗畫面戰(zhàn)斗處理 (碰到的圖塊編號(hào)) If 戰(zhàn)斗勝利標(biāo)志 = False Then提示信息 = "怪物太強(qiáng),你打不過!"Else通過標(biāo)志 = True: 談話對(duì)象.NPC對(duì)話標(biāo)志_血影 = 0: Winner = TrueSet myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\怪5.wav")播放音效.PlayWav myDSBuff(0), FalseEnd IfEnd IfCase 14 通過標(biāo)志 = TrueCase Else通過標(biāo)志 = False戰(zhàn)斗勝利標(biāo)志 = False戰(zhàn)斗處理 (碰到的圖塊編號(hào))If 戰(zhàn)斗勝利標(biāo)志 = False Then提示信息 = "怪物太強(qiáng),你打不過!"End IfSet myDSBuff(0) = 播放音效.LoadWav(App.Path & "\sound\怪1.wav")播放音效.PlayWav myDSBuff(0), FalseEnd SelectIf 通過標(biāo)志 = True Then ' 主角消失地圖數(shù)據(jù)串.主角所在行(地圖數(shù)據(jù)串.主角所在列) = 1m = Split(地圖數(shù)據(jù)(男主角移動(dòng).x行), ",")m(男主角移動(dòng).y列) = 地圖數(shù)據(jù)串.主角所在行(地圖數(shù)據(jù)串.主角所在列)地圖數(shù)據(jù)(男主角移動(dòng).x行) = m(0) & "," & m(1) & "," & m(2) & "," & m(3) & "," & m(4) & "," & m(5) & "," & m(6) & "," & m(7) & "," & m(8) & "," & m(9) & "," & m(10) & "," & m(11) & "," & m(12)寫臨時(shí)地圖數(shù)據(jù) (0)End If男主角移動(dòng).移動(dòng)速度 = 0End Sub

總結(jié)

以上是生活随笔為你收集整理的魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~18开始游戏-物体碰撞检测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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