魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~15开始游戏-地图层次判断
生活随笔
收集整理的這篇文章主要介紹了
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~15开始游戏-地图层次判断
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
魔塔之拯救白娘子 完整工程下載地址:
《魔塔之拯救白娘子》流程分析:
初始化→根據 主角所在的樓層判斷主角的位置并繪制主角→顯示主角的基本信息(生命值、體力值、金幣、經驗值等等)→游戲界面鼠標點擊判斷→男主角移動及方向處理→自動尋路處理→ 游戲時主角顯示處理→循環判斷直到游戲結束←
①首先判斷玩家是不是贏了游戲,如果贏了游戲就返回到最開始的選擇游戲界面。源代碼如下:
②游戲中讀取地圖層次判斷:根據地圖層號判斷角色所處位置。
Sub 游戲中讀取地圖層次判斷()On Error Resume NextDim m() As String'新地圖處理If 游戲進度.新地圖(地圖層號) = True Then'①新地圖處理的時候,讀原始地圖數據,讀取地圖數據 (地圖層號)'將主角所在位置設置為每一層的下樓位置修改主角位置 主角地圖上每層初始坐標.下樓圖形坐標X(地圖層號), 主角地圖上每層初始坐標.下樓圖形坐標Y(地圖層號), 14'并將地圖鏡像發送到臨時地圖數據0#' 寫臨時地圖數據 (0)'③將新地圖處理標志設為False,同時將地圖當前層號設為本層游戲進度.新地圖(地圖層號) = False游戲進度.地圖當前層號 = 地圖層號End If'上樓處理'上樓處理'2 樓上3樓的話,就要從10,6 顯示卡通If 游戲進度.上樓處理標志(地圖層號) = True Then讀臨時地圖數據 (地圖層號)'清除地圖上多余的主角'將主角的位置設置于下樓的樓圖形處'關掉上樓梯地方的角色顯示'開啟下樓梯地方的角色處理修改主角位置 主角地圖上每層初始坐標.上樓圖形坐標X(地圖層號), 主角地圖上每層初始坐標.上樓圖形坐標Y(地圖層號), 1修改主角位置 主角地圖上每層初始坐標.下樓圖形坐標X(地圖層號), 主角地圖上每層初始坐標.下樓圖形坐標Y(地圖層號), 14游戲進度.上樓處理標志(地圖層號) = False游戲進度.地圖當前層號 = 地圖層號End If'下樓處理' ①根據層數,讀取臨時地圖數據,此數據在上樓時已經保存過If 游戲進度.下樓處理標志(地圖層號) = True Then讀臨時地圖數據 (地圖層號)'② '將主角的位置定位于上樓的位置'清除地圖上多余的主角'下樓的話,將主角放在上樓的樓圖形,同時將下樓的樓圖形處主角的涂掉修改主角位置 主角地圖上每層初始坐標.下樓圖形坐標X(地圖層號), 主角地圖上每層初始坐標.下樓圖形坐標Y(地圖層號), 1修改主角位置 主角地圖上每層初始坐標.上樓圖形坐標X(地圖層號), 主角地圖上每層初始坐標.上樓圖形坐標Y(地圖層號), 14 '游戲進度.地圖當前層號 = 地圖層號游戲進度.下樓處理標志(地圖層號) = FalseEnd IfDim k As Integer'讀檔處理If 游戲進度.讀玩家檔 = True Then讀臨時地圖數據 (地圖層號) ' 寫臨時地圖數據 (地圖層號)游戲進度.地圖當前層號 = 地圖層號游戲進度.讀玩家檔 = FalseEnd If End Sub用到的修改主角位置子程序:
Sub 修改主角位置(要修改的X坐標 As Integer, 要修改的Y坐標 As Integer, 要修改的內容 As Integer)On Error Resume NextDim m() As String男主角移動.x = 地圖XY坐標.mapX坐標(要修改的X坐標)男主角移動.y = 地圖XY坐標.mapY坐標(要修改的Y坐標)m = Split(地圖數據(男主角移動.x / 32), ",")m(男主角移動.y / 32) = 要修改的內容地圖數據(男主角移動.x / 32) = 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)寫臨時地圖數據 (0) End Sub③顯示主角的基本信息(生命值、體力值、金幣、經驗值等等):見前一節源碼
④背景_動態Draw:繪制所有的背景以及卡通,并讓卡通動起來。源碼見 完整的內容。
總結
以上是生活随笔為你收集整理的魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~15开始游戏-地图层次判断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gtalk接口二次开发告警平台
- 下一篇: NetBeans IDE8.0.2下gi