La Torre Mágica de Salvar a la Dama Blanca ~ Mi primer código fuente de juego pequeño hecho por VB6 + DX8 ~ Comenzando el juego a nivel de juicio de 15 mapas

El proyecto completo de la torre mágica para salvar a la dama blanca dirección de descarga:
"La torre mágica para salvar a la dama blanca" análisis del proceso:
inicialización → juzgar la posición del protagonista en base al piso donde está el protagonista y dibujar al protagonista → mostrar la información básica del protagonista (valor de salud, fuerza física, monedas de oro) , Valor de experiencia, etc.) → juicio de clic del mouse en la interfaz del juego → procesamiento de movimiento y dirección del héroe → procesamiento automático de búsqueda de ruta → procesamiento de visualización del protagonista durante el juego → juicio de bucle hasta el final del juego ←
① primero juzga si el jugador ha ganado el juego, si gana El juego vuelve a la interfaz del juego de selección inicial. El código fuente es el siguiente:

If Winner = True And 对话窗口显示标志 = False Then
         Running = 9: 读档标志 = False: 判断running状态_初始化: BackPic.LoadGraph "image\魔塔背景\魔塔背景1.jpg", xgBLACK
    End If

② Lee el juicio del nivel del mapa en el juego: juzga la posición del personaje según el número de capa del mapa.

Sub 游戏中读取地图层次判断()
  On Error Resume Next
  Dim 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
'
       游戏进度.地图当前层号 = 地图层号
       游戏进度.下楼处理标志(地图层号) = False
        
        End If
        Dim k As Integer
      '读档处理
        If 游戏进度.读玩家档 = True Then

         读临时地图数据 (地图层号)
'         写临时地图数据 (地图层号)
          游戏进度.地图当前层号 = 地图层号
          游戏进度.读玩家档 = False
        End If         
End Sub
         

La subrutina utilizada para modificar la posición del protagonista:

Sub 修改主角位置(要修改的X坐标 As Integer, 要修改的Y坐标 As Integer, 要修改的内容 As Integer)
    On Error Resume Next
    Dim 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

③Muestra la información básica del protagonista (valor de salud, fuerza física, monedas de oro, valor de experiencia, etc.): consulta el código fuente en la sección anterior
④Background_Dynamic Draw: dibuja todos los fondos y dibujos animados, y haz que los dibujos animados se muevan. Fuente Ver completo .

Supongo que te gusta

Origin blog.csdn.net/gosub60/article/details/112861408
Recomendado
Clasificación