Gracias Gracias:  25
Página 45 de 45 PrimerPrimer ... 354142434445
Resultados 661 al 669 de 669

Tema: BlitzBasic 3D

  1. #661
    Expulsado
    Fecha de ingreso
    Dec 2010
    Ubicación
    En matrix
    Mensajes
    1,681

    Re: BlitzBasic 3D

    De nada, y este foro a veces parece como un msn que te responden casi al momento, jeje, molaa. Saludos

  2. #662
    Expulsado
    Fecha de ingreso
    Dec 2010
    Ubicación
    En matrix
    Mensajes
    1,681

    Re: BlitzBasic 3D

    Bueno, estoy planteandome aprender la parte de blitz3d que esta dedicada a Internet, es decir, conexiones tcp, udp y directplay.
    Sinceramente, no tengo ni idea de todo esto, empezando por no saber los conceptos como servidor, cliente, puerto. El ip si que sé lo que es, menos mal, :D

    Pero es un tema que siempre me gustó, y ya que blitz tiene comandos para trabajar con este tipo de cosas me gustaría algo de información sobre todo el tema de conexiones, envio de datos, etc.

    Y me he puesto a mirar los comandos de blitz, y ya puedo empezar diciendo que no entiendo porque para enviar datos hay que escribir en un archivo? valla, no entiendo el concepto de Internet, jeje, siempre lo he visto como un ordenador macrogigante que sabe todo lo que hacer, pero parece que no, que es el servidor/cliente el que escribe los archivos...bueno que estoy perdidisimo en este tema, cualquier ayuda, será bienvenida.

  3. #663
    Senior Member Avatar de Yue
    Fecha de ingreso
    May 2008
    Ubicación
    Bogotá
    Mensajes
    634

    Re: BlitzBasic 3D

    Bueno, algo para compartir... en estos días que he retomado el asunto de Blitz3D siempre ando en busca de solucionar dudas.

    Blitz3D por su infraestructura solo permite trabajar en un solo Hilo o proceso, así que me tope con la necesidad de implementar dos procesos simultaneos debido a que necesitaba cargar recursos y poner una animación de una imagen. Esto aparentemente en Blitz3D no es posible hacer y toca recurrir a trucos sucios, como por ejemplo.

    Se carga un archivo y luego se avanza un poco en una barra de progreso, así que toca hacer primero una cosa y luego otra pero no se puede hacer simultáneamente.

    Pero este método se puede falsificar pero siempre será en un solo proceso aunque parezca que son dos.

    Código:
    Global thread_branch=0
    Global thread_count=0
    Global thread_percent=0
    Global filecount
    Global file_in$="image.img"
    Global file_out$="image.img"
    Global filein
    Global fileout
    Global x=0
    Global y=0
    
    ; Create the file you are loading later
    savefile(file_out$)
    
    Graphics 800,600 
    
    ; Setup imagebuffer
    Global img=CreateImage(640,480)
    
    ; Setup mousepointer
    Global mouseimg=CreateImage(10,10)
    SetBuffer ImageBuffer(mouseimg)
    Color 250,250,250 
     For q= 0 To 9
     Plot q,q
     Plot 0,q
     Next
     Color 5,5,5 
     For q= 1 To 9
     Plot q+1,q
     Plot 1,q
     Next
    
    ; setup doublebuffering
    SetBuffer BackBuffer() 
    
    ; Starting values
    thread_branch=1
    
    ; main loop
    While Not KeyHit(1) 
    
    ; branch to file loading
    	If thread_branch=1 Then
    	 loadfile(file_in$)
     EndIf
    
    ; draw on backbuffer
    SetBuffer BackBuffer()
    Cls
    Color 255,255,255
    Text 360,230,"Loading..."
    
    ; draw the slider
    	If thread_branch=1 Then
     thread_percent=((filecount*100)/FileSize(file_in$))
     Color 255,255,255
     Rect 150,250,500,25,0
     Rect 150,250,thread_percent*5,25,1
     EndIf
    
    ; Draw the image when loaded
    	If thread_branch=2 Then
    	 DrawBlok img, 250,200
     Text 360,450,"Esc to quit"
     EndIf
    
    ; draw mouse pointer
    DrawImage mouseimg, MouseX(), MouseY() 
     
    Flip False
    Wend 
    
    End
    
    ; saving file 
    Function savefile(file_out$)
    fileout = WriteFile(file_out$) 
    For x=0 To 319
    	For y=0 To 199
    	WriteByte( fileout, Rnd(0,255)) 
    	WriteByte( fileout, Rnd(0,255)) 
    	WriteByte( fileout, Rnd(0,255)) 
    	Next
    Next
    CloseFile( fileout )
    End Function 
    
    ; loading file in logical steps
    Function loadfile(file_in$)
    
    ; step one - open file for reading
    If thread_count=0 Then
    	filein = ReadFile(file_in$) 
    	thread_count=1
     filecount=0
     x=0
     y=0
    EndIf
    
    ; step two - read data and write to imagebuffer
    If thread_count =1 Then	
    	y=y+1
    
    	If y=200 Then
    		x=x+1
    		y=0
    	EndIf
    	Read1 = ReadByte( filein )
    	Read2 = ReadByte( filein )
     Read3 = ReadByte( filein )
     filecount=filecount+3
    
    ; draw to imagebuffer
     SetBuffer ImageBuffer(img)
    	Color read1,read2,read3 
    	Plot x,y
    ; chek for end of file	
    	If Eof(filein) Then
    		thread_count=2
    	EndIf
    EndIf
    
    ; step three - close file
    If thread_count=2 Then
    	CloseFile( filein )
    	thread_branch=2
    EndIf
    End Function
    Esto es mucho código para lo que se conoce como falos Threading en Blitz3D, así que a solución de esto existe una Lib Llamada FastPointer que trabaja punteros, es desig asigna partes de la memoria para llevar a cabo varios Threading a la vez. y los resultados parecen ser prometedores.

    pues en un hilo o Threading una animación muestra una imagen como esta.

    http://i50.tinypic.com/2wel47q.jpg

    y el otro hilo en segundo plano carga los recursos necesarios. Esto implica que la pantalla no queda paralizada mientras se carga los recursos algo muy wapo, al igual que sucede en gta IV, cuando carga los recursos.

    Bien eso es todo.

    ha y la lib.
    Archivos adjuntados Archivos adjuntados
    "No son ni estrellas ni ídolos, son solo gente común que quiere hacer historia"

  4. #664
    Miembro Nuevo
    Fecha de ingreso
    Oct 2012
    Mensajes
    1

    Re: BlitzBasic 3D

    Hola señores me presento soy Ricardo y estoy tratando de aprender el lenguaje blitz basic.la consulta es por una cuestión puntual, es estado leyendo la ayuda del blitz y no veo la forma de hacer que el puntero del mouse sea visible en el modo full screen, agredesere cualquier ayuda.

  5. #665
    Senior Member Avatar de Yue
    Fecha de ingreso
    May 2008
    Ubicación
    Bogotá
    Mensajes
    634

    Re: BlitzBasic 3D

    Cita Iniciado por ric278 Ver mensaje
    Hola señores me presento soy Ricardo y estoy tratando de aprender el lenguaje blitz basic.la consulta es por una cuestión puntual, es estado leyendo la ayuda del blitz y no veo la forma de hacer que el puntero del mouse sea visible en el modo full screen, agredesere cualquier ayuda.
    Hola, en modo de pantalla completa no es posible ver el puntero del mouse a menos que cartes una textura con la figura del puntero y la dibujes en las coordenads del mouse (X, Y), por ejemplo.

    Código:
    DrawImage(Puntero%,MouseX(),MouseY())
    La variable "Puntero%", hace referencia auna imagen que ha sido cargada con anterioridad.

    Código:
    Local Puntero% = LoadImage("Media\Puntero.png")
    De esta forma ya en pantalla completa visualizas el puntero.

    Saludos.
    "No son ni estrellas ni ídolos, son solo gente común que quiere hacer historia"

  6. #666
    Miembro Nuevo
    Fecha de ingreso
    Oct 2008
    Ubicación
    Terrassa
    Mensajes
    13

    Re: BlitzBasic 3D

    Este hilo esta un pelín dejado... he hecho un pacman en Blitz, dejo el juego y el código para quien quiera verlo, saludos!

    Descargar archivo

    Código:
    ;---------------------------------------------------------------------------------------------------------------------------------
    ;---------------------------------------------------------------------------------------------------------------------------------
    ;---------------------------------------------------------------------------------------------------------------------------------
    ;--------------------------PACMAN BY MANUFER--------------------------------------------------------------------------------------
    
    Graphics 800,600,16,2
    SetBuffer BackBuffer()
    ;-----creando un timer------
    frametimer=CreateTimer(60)
    ;-----carga de gráficos-----
    logo=LoadImage("Gfx/logo.bmp")
    pantalla=LoadImage("Gfx/pantalla.bmp")
    MaskImage pantalla,0,0,0
    pacman=LoadAnimImage("Gfx/sprites.bmp",32,32,0,32)
    MaskImage pacman,0,0,0
    bola=LoadImage("Gfx/bola.bmp")
    MaskImage bola,0,0,0
    gran_bola=LoadImage("Gfx/gran_bola.bmp")
    MaskImage gran_bola,0,0,0
    nullimage=LoadImage("Gfx/null.bmp")
    frutas=LoadAnimImage("Gfx/frutas.bmp",32,32,0,16)
    MaskImage frutas,0,0,0
    MaskImage nullimage,255,255,255
    shadow=LoadAnimImage("Gfx/fantasma.bmp",32,32,0,48) ; rojo
    MaskImage shadow,0,0,0
    speedy=LoadAnimImage("Gfx/fantasma.bmp",32,32,0,48) ; rosa
    MaskImage speedy,0,0,0
    bashful=LoadAnimImage("Gfx/fantasma.bmp",32,32,0,48) ; azul
    MaskImage bashful,0,0,0
    pokey=LoadAnimImage("Gfx/fantasma.bmp",32,32,0,48) ; amarillo
    MaskImage pokey,0,0,0
    Color 250,250,250
    
    ;-----carga de sonidos-----
    andar=LoadSound("Sonidos/andando.wav")
    LoopSound andar
    
    dead=LoadSound("Sonidos/pacman_dead.wav")
    come_fruta=LoadSound("Sonidos/come_fruta.wav")
    pip=LoadSound("Sonidos/pacman_pip.wav")
    newlevel=LoadSound("Sonidos/comienza_nivel.wav")
    come=LoadSound("Sonidos/come_bola.wav")
    SoundVolume come,.5
    azules=LoadSound("Sonidos/fantasmas_azules.wav")
    SoundVolume azules,.5
    LoopSound azules
    azules2=LoadSound("Sonidos/fantasmas_azules2.wav")
    LoopSound azules2
    ;-----declaracion de variables-----
    skipframe1=0
    frame_pacman=2
    velocidad#=1
    temp_velocidad#=0
    xpacman#=0
    ypacman#=0
    direccion_pacman=4
    pacman_status=1 ; 0=muerto, 1=vivo
    level#=0
    vidas=3
    total_bolas=244
    status_fantasma=1
    contador_fantasmas#=0
    Dim status_fantasmas(4)
    puntos=0
    Dim bolas(460)
    Dim granbolas(4)
    Dim eyes(4)
    record=0
    Dim posx(10)
    posx(1)=192 : posx(2)=228 : posx(3)=280 : posx(4)=333 : posx(5)=385 : posx(6)=438 : posx(7)=490 : posx(8)=542
    posx(9)=595 : posx(10)=628
    Dim posy(10)
    posy(10)=519 : posy(9)=465 : posy(8)=410 : posy(7)=357 : posy(6)=302 : posy(5)=248 : posy(4)=192 : posy(3)=139 
    posy(2)=86 : posy(1)=12
    SeedRnd MilliSecs()
    flash=0
    ;-----------------TIPS-------------------
    Dim tip$(30)
    consejo=Rand(10)
    tip(1)="shadow (rojo) es el fantasma más rápido, si lo llevas pegado te costara deshacerte de el. "
    tip(2)="speedy (rosa) es el más listo de todos, buscara hacerte una emboscada. "
    tip(3)="bashful (cyan) es el más lento, pero no lo subestimes. "
    tip(4)="pokey (naranja) es el tonto del grupo, incluso a veces tomara caminos evasivos. "
    tip(5)="cuando pacman come bolas, su velocidad se ve reducida, toma caminos despejados para escapar de los fantasmas. "
    tip(6)="los carriles de teletransportacion reducen la velocidad de los fantasmas, si los usas los dejaras  atrás. "
    tip(7)="la zona inferior de la pantalla es la más peligrosa, puedes caer en una emboscada fácilmente. "
    tip(8)="a los 10.000 puntos conseguirás una vida extra. "
    tip(9)="las bolas pequenas dan 10 puntos, las grandes 50 puntos, además de convertir los fantasmas en comestibles. "
    tip(10)="el tiempo que los fantasmas están de color azul, se ira acortando conforme pases niveles. "
    tip(11)="las frutas que salen en el centro de la pantalla dan suculosos puntos, podrás comer 2 por nivel, pero si pierdes una vida mientras la fruta esta activa la perderas."
    tip(12)="cuando comas un fantasma cerca de su casa, ten mucho cuidado ya que se regenerara muy pronto y podrá darte caza."
    tip(13)="cada nivel aumentara el ritmo de juego, siendo extremadamente desafiante a partir del nivel 8."
    tip(14)="el nombre original en Japón que es donde salio el juego, es puck-man, pero debido a su similitud con fuck-man lo cambiaron por pac-man."
    tip(15)="el juego fue lanzado el 21 de mayo de 1980 y se vendieron 293.822 unidades, desbancando a space invaders que hasta entonces era el rey de los salones recreativos."
    tip(16)="en el juego original, la ultima pantalla jugable es la 255, por un error de programacion no contemplaron la posibilidad de pasar tantas pantallas y el byte encargado se desborda provocando errores gráficos."
    
    dim nivel_jugador$(11)
    nivel_jugador(1)="pringado del pacman";hasta 2000
    nivel_jugador(2)="jugador mediocre";hasta 5000
    nivel_jugador(3)="aficionado";hasta 8000
    nivel_jugador(4)="el típico jugador medio";hasta 12000
    nivel_jugador(5)="espabilado en el pacman";hasta 14000
    nivel_jugador(6)="mareador de fantasmas";hasta 18000
    nivel_jugador(7)="tragabolas avanzado";hasta 22000
    nivel_jugador(8)="chuleando a esos fantasmas !";hasta 25000
    nivel_jugador(9)="el crack del pacman";hasta 30000
    nivel_jugador(10)="el puto amo ";hasta 50000
    nivel_jugador(11)="dios del pacman"
    nivel_jugador_actual$=""
    ;--fantasmas---
    x_shadow#=posx(5) : y_shadow#=posy(4) : frame_shadow=1 : velocidad_shadow#=1.2 :temp_velocidad_shadow#=0: direccion_shadow=4
    x_speedy#=posx(5) : y_speedy#=posy(4) : frame_speedy=1 : velocidad_speedy#=1.1 :temp_velocidad_speedy#=0: direccion_speedy=1
    x_bashful#=posx(5) : y_bashful#=posy(4) : frame_bashful=1 : velocidad_bashful#=1.1 :temp_velocidad_bashful#=0: direccion_bashful=1
    x_pokey#=posx(5) : y_pokey#=posy(4) : frame_pokey=1 : velocidad_pokey#=1.1 :temp_velocidad_pokey#=0: direccion_pokey=1
    
    filein=OpenFile("data.dat")
    record=ReadInt(filein)
    CloseFile(filein)
    
    font20=LoadFont("arcade normal",14,False,False,False)
    
    SetFont font20
    .menu
    ;----------MENU----------------------------------------------------------------------------------------------------
    Color 200,200,200
    x_pacman=1000
    x_text=600
    direccion_pacman=4
    direccion_speedy=4
    direccion_shadow=4
    direccion_bashful=4
    direccion_pokey=4
    vidas=3
    vida_extra=0
    puntos=0
    level=0
    For a=1 To 4
     status_fantasmas(a)=1
    Next
    
    While Not KeyDown(31)
    Cls
    If KeyDown(1) Then End
    x_text=x_text-2
    x_pacman=x_pacman-1
    If x_text<-1500 Then x_text=1000 : consejo=Rand(10)
    If x_pacman=-180 Then x_pacman=800
    skipframe1=skipframe1+1
    skipframe_fantasma=skipframe_fantasma+1
    If skipframe1>20 Then skipframe1=1
    If skipframe_fantasma>30 Then skipframe_fantasma=0
    contador=contador+1
    If contador>79 Then contador=0
    If contador<50 Then flash=1 Else flash=0
    Gosub animación
    nivel_jugador_actual=nivel_jugador(1)
    If record>5000 Then nivel_jugador_actual=nivel_jugador(2)
    If record>7500 Then nivel_jugador_actual=nivel_jugador(3)
    If record>9000 Then nivel_jugador_actual=nivel_jugador(4)
    If record>12000 Then nivel_jugador_actual=nivel_jugador(5)
    If record>14000 Then nivel_jugador_actual=nivel_jugador(6)
    If record>18000 Then nivel_jugador_actual=nivel_jugador(7)
    If record>22000 Then nivel_jugador_actual=nivel_jugador(8)
    If record>25000 Then nivel_jugador_actual=nivel_jugador(9)
    If record>30000 Then nivel_jugador_actual=nivel_jugador(10)
    If record>50000 Then nivel_jugador_actual=nivel_jugador(11)
    
    DrawImage logo,150,60
    DrawImage pacman,x_pacman,250,frame_pacman
    DrawImage shadow,x_pacman+100,250,frame_shadow
    DrawImage speedy,x_pacman+125,250,frame_speedy
    DrawImage bashful,x_pacman+150,250,frame_bashful
    DrawImage pokey,x_pacman+175,250,frame_pokey
    
    DrawImage shadow,70,350,frame_shadow : Text 130,360,"SHADOW"
    DrawImage speedy,70,390,frame_speedy : Text 130,400,"SPEEDY"
    DrawImage bashful,70,430,frame_bashful : Text 130,440,"BASHFUL"
    DrawImage pokey,70,470,frame_pokey : Text 130,480,"POKEY"
    Text 370,360,"HI-SCORE "+record
    Text 370,400,nivel_jugador_actual
    If flash=1 Then Text 270,200,"PRESS S TO START"
    Text 110,560,"MANUEL FERNANDEZ - MANUFERHI@GMAIL.COM"
    Text x_text,20,tip(consejo)
    WaitTimer(frametimer)
    Flip
    
    Wend
    
    .newlevel
    ;-------comienza el nivel (reset)------------------------------------------------------------------------------------
    StopChannel(andando)
    Cls
    StopChannel(fantasmas_azules)
    StopChannel(fantasmas_azules2)
    velocidad=1.3+level/10
    velocidad_shadow=1.2+level/10
    velocidad_speedy=1.15+level/10
    velocidad_bashful=1.1+level/10
    velocidad_pokey=1.1+level/10
    contador_velocidad=50
    level=level+1
    total_bolas=244
    fruta_level=level
    fruta_activa=1
    SeedRnd MilliSecs()
    For a=1 To 460
     bolas(a)=CopyImage(bola) ; regénero las bolas pequenas
    Next
    For a=1 To 4
     granbolas(a)=CopyImage(gran_bola)
    Next
    PlaySound newlevel
    DrawImage pantalla,182,1,0
    Color 255,255,0 : Text posx(5),posy(6)+8,"READY!"
    Flip
    Delay 3500
    If level=1 Then fruta_level=1 :puntos_fruta=100
    If level=2 Then fruta_level=2 :puntos_fruta=300
    If level=3 Or level=4 Then fruta_level=3 :puntos_fruta=500
    If level=5 Or level=6 Then fruta_level=4 :puntos_fruta=700
    If level=7 Or level=8 Then fruta_level=5 :puntos_fruta=1000
    If level=9 Or level=10 Then fruta_level=6 :puntos_fruta=2000
    If level=11 Or level=12 Then fruta_level=7 :puntos_fruta=3000
    If level=>13 Then fruta_level=0 :puntos_fruta=5000
    
    .newlive
    pacman_status=1
    direccion_pacman=4
    contador_fantasmas=0
    status_fantasma=1
    xpacman=posx(5)+26 : ypacman=posy(8) ;posición inicial pacman
    x_shadow#=posx(5)+26 : y_shadow#=posy(4) ;posición inicial shadow 
    x_speedy#=posx(5)+26 : y_speedy#=posy(5) ;posición inicial speedy
    x_bashful#=posx(5)-10 : y_bashful#=posy(5) ;posición inicial bashful
    x_pokey#=posx(5)+62 : y_pokey#=posy(5) ;posición inicial pokey
    direccion_shadow=4
    direccion_speedy=3
    direccion_bashful=1
    direccion_pokey=1
    contador_fantasmas=0
    For n=1 To 4
     status_fantasmas(n)=1
     eyes(n)=0
    Next
    contador_fruta=0
    StopChannel(fantasmas_azules)
    StopChannel(andando)
    andando=PlaySound(andar)
    ;-----comienza el bucle------------------------------------------------------------------------------------------------
    While Not KeyDown(1)
    ;WaitKey
    Cls
    contador_velocidad=contador_velocidad+1
    ;----velocidades
    If contador_velocidad<35 Then temp_velocidad=velocidad*.9 Else temp_velocidad=velocidad
    If temp_velocidad>2.5 Then temp_velocidad=2.5
    If status_fantasmas(1)=1 Then temp_velocidad_shadow=velocidad_shadow
    If status_fantasmas(1)=2 Then temp_velocidad_shadow=velocidad_shadow*2
    If status_fantasmas(1)=0 Then temp_velocidad_shadow=velocidad_shadow*.6
    If status_fantasmas(2)=1 Then temp_velocidad_speedy=velocidad_speedy
    If status_fantasmas(2)=2 Then temp_velocidad_speedy=velocidad_speedy*2
    If status_fantasmas(2)=0 Then temp_velocidad_speedy=velocidad_speedy*.6
    If status_fantasmas(3)=1 Then temp_velocidad_bashful=velocidad_bashful
    If status_fantasmas(3)=2 Then temp_velocidad_bashful=velocidad_bashful*2
    If status_fantasmas(3)=0 Then temp_velocidad_bashful=velocidad_bashful*.6
    If status_fantasmas(4)=1 Then temp_velocidad_pokey=velocidad_pokey
    If status_fantasmas(4)=2 Then temp_velocidad_pokey=velocidad_pokey*2
    If status_fantasmas(4)=0 Then temp_velocidad_pokey=velocidad_pokey*.6
    If temp_velocidad_shadow>2.5 Then temp_velocidad_shadow=2.5
    If temp_velocidad_speedy>2.5 Then temp_velocidad_speedy=2.5
    If temp_velocidad_bashful>2.5 Then temp_velocidad_bashful=2.5
    If temp_velocidad_pokey>2.5 Then temp_velocidad_pokey=2.5
    If Abs(x_shadow-posx(1))<40 And Abs(y_shadow-posy(5))<5 Then temp_velocidad_shadow=temp_velocidad_shadow*.6 
    If Abs(x_speedy-posx(1))<40 And Abs(y_speedy-posy(5))<5 Then temp_velocidad_speedy=temp_velocidad_speedy*.6 
    If Abs(x_bashful-posx(1))<40 And Abs(y_bashful-posy(5))<5 Then temp_velocidad_bashful=temp_velocidad_bashful*.6 
    If Abs(x_pokey-posx(1))<40 And Abs(y_pokey-posy(5))<5 Then temp_velocidad_pokey=temp_velocidad_pokey*.6 
    If Abs(x_shadow-posx(10))<40 And Abs(y_shadow-posy(5))<5 Then temp_velocidad_shadow=temp_velocidad_shadow*.6 
    If Abs(x_speedy-posx(10))<40 And Abs(y_speedy-posy(5))<5 Then temp_velocidad_speedy=temp_velocidad_speedy*.6 
    If Abs(x_bashful-posx(10))<40 And Abs(y_bashful-posy(5))<5 Then temp_velocidad_bashful=temp_velocidad_bashful*.6 
    If Abs(x_pokey-posx(10))<40 And Abs(y_pokey-posy(5))<5 Then temp_velocidad_pokey=temp_velocidad_pokey*.6 
    ;----------------
    skipframe1=skipframe1+1
    skipframe_fantasma=skipframe_fantasma+1
    If skipframe1>20 Then skipframe1=1
    If skipframe_fantasma>30 Then skipframe_fantasma=0
    Gosub animación
    
    If puntos>10000 And vida_extra=0 Then vidas=vidas+1 : vida_extra=1
    If eyes(1)=0 And eyes(2)=0 And eyes(3)=0 And eyes(4)=0 Then StopChannel(fantasmas_azules2)
    ;deteccion de colisiones
    pacman_shadow=ImagesCollide(shadow,x_shadow,y_shadow,36,pacman,xpacman,ypacman,14)
    If pacman_shadow=1 And status_fantasmas(1)=1 Then pacman_status=0
    If pacman_shadow=1 And status_fantasmas(1)=0 Then 
     eyes(1)=1 : velocidad_eyes=3 : status_fantasmas(1)=2 :display_puntos_fantasmas=1
     temp_x=xpacman : temp_y=ypacman
     temp_frame=temp_frame+1
     If temp_frame=27 Then puntos=puntos+200
     If temp_frame=28 Then puntos=puntos+400
     If temp_frame=29 Then puntos=puntos+800
     If temp_frame=30 Then puntos=puntos+1600
     StopChannel(fantasmas_azules2)
     fantasmas_azules2=PlaySound(azules2)
     PlaySound(come_fruta)
    EndIf
    pacman_speedy=ImagesCollide(speedy,x_speedy,y_speedy,36,pacman,xpacman,ypacman,14)
    If pacman_speedy=1 And status_fantasmas(2)=1 Then pacman_status=0
    If pacman_speedy=1 And status_fantasmas(2)=0 Then 
     eyes(2)=1 : velocidad_eyes=3 : status_fantasmas(2)=2 :display_puntos_fantasmas=1
     temp_x=xpacman : temp_y=ypacman
     temp_frame=temp_frame+1
     If temp_frame=27 Then puntos=puntos+200
     If temp_frame=28 Then puntos=puntos+400
     If temp_frame=29 Then puntos=puntos+800
     If temp_frame=30 Then puntos=puntos+1600
     StopChannel(fantasmas_azules2)
     fantasmas_azules2=PlaySound(azules2)
     PlaySound(come_fruta)
    EndIf
    pacman_bashful=ImagesCollide(bashful,x_bashful,y_bashful,36,pacman,xpacman,ypacman,14)
    If pacman_bashful=1 And status_fantasmas(3)=1 Then pacman_status=0
    If pacman_bashful=1 And status_fantasmas(3)=0 Then 
     eyes(3)=1 : velocidad_eyes=3 : status_fantasmas(3)=2 :display_puntos_fantasmas=1
     temp_x=xpacman : temp_y=ypacman
     temp_frame=temp_frame+1
     If temp_frame=27 Then puntos=puntos+200
     If temp_frame=28 Then puntos=puntos+400
     If temp_frame=29 Then puntos=puntos+800
     If temp_frame=30 Then puntos=puntos+1600
     StopChannel(fantasmas_azules2)
     fantasmas_azules2=PlaySound(azules2)
     PlaySound(come_fruta)
    EndIf
    pacman_pokey=ImagesCollide(pokey,x_pokey,y_pokey,36,pacman,xpacman,ypacman,14)
    If pacman_pokey=1 And status_fantasmas(4)=1 Then pacman_status=0
    If pacman_pokey=1 And status_fantasmas(4)=0 Then 
     eyes(4)=1 : velocidad_eyes=3 : status_fantasmas(4)=2 :display_puntos_fantasmas=1
     temp_x=xpacman : temp_y=ypacman
     temp_frame=temp_frame+1
     If temp_frame=27 Then puntos=puntos+200
     If temp_frame=28 Then puntos=puntos+400
     If temp_frame=29 Then puntos=puntos+800
     If temp_frame=30 Then puntos=puntos+1600
     StopChannel(fantasmas_azules2)
     fantasmas_azules2=PlaySound(azules2)
     PlaySound(come_fruta)
    EndIf
    
    If pacman_status=0 Then StopChannel andando
    If status_fantasma=0 Then contador_fantasmas=contador_fantasmas+velocidad
    If contador_fantasmas>800 Then 
     contador_fantasmas=0
     For n=1 To 4
     If eyes(n)=0 Then status_fantasmas(n)=1
     Next
     status_fantasma=1
     StopChannel(andando) : StopChannel(fantasmas_azules) :andando=PlaySound(andar) :StopChannel(fantasmas_azules2)
    EndIf
    
    If contador_fruta>2000 Then contador_fruta=0
    contador_fruta=contador_fruta+velocidad
    If total_bolas=<0 Then Goto newlevel
    If display_puntos>0 Then display_puntos=display_puntos+1
    If display_puntos>150 Then display_puntos=0
    If display_puntos_fantasmas>0 Then display_puntos_fantasmas=display_puntos_fantasmas+1
    If display_puntos_fantasmas>150 Then display_puntos_fantasmas=0
    ;----deteccion de teclas-----
    
    ;----horientacion de los fantasmas
    direccion_inversa_shadow=direccion_shadow+2
    direccion_inversa_speedy=direccion_speedy+2
    direccion_inversa_bashful=direccion_bashful+2
    direccion_inversa_pokey=direccion_pokey+2
    If direccion_inversa_shadow>4 Then direccion_inversa_shadow=direccion_inversa_shadow-4
    If direccion_inversa_speedy>4 Then direccion_inversa_speedy=direccion_inversa_speedy-4
    If direccion_inversa_bashful>4 Then direccion_inversa_bashful=direccion_inversa_bashful-4
    If direccion_inversa_pokey>4 Then direccion_inversa_pokey=direccion_inversa_pokey-4
    If xpacman>x_shadow Then
     If ypacman<y_shadow Then horientacion_shadow=5 Else horientacion_shadow=6
    EndIf
    If xpacman>x_speedy Then
     If ypacman<y_speedy Then horientacion_speedy=5 Else horientacion_speedy=6
    EndIf
    If xpacman>x_bashful Then
     If ypacman<y_bashful Then horientacion_bashful=5 Else horientacion_bashful=6
    EndIf
    If xpacman>x_pokey Then
     If ypacman<y_pokey Then horientacion_pokey=5 Else horientacion_pokey=6
    EndIf
    If xpacman<x_shadow Then
     If ypacman<y_shadow Then horientacion_shadow=8 Else horientacion_shadow=7
    EndIf
    If xpacman<x_speedy Then
     If ypacman<y_speedy Then horientacion_speedy=8 Else horientacion_speedy=7
    EndIf
    If xpacman<x_bashful Then
     If ypacman<y_bashful Then horientacion_bashful=8 Else horientacion_bashful=7
    EndIf
    If xpacman<x_pokey Then
     If ypacman<y_pokey Then horientacion_pokey=8 Else horientacion_pokey=7
    EndIf
    If Abs(xpacman-x_shadow)<4 Then
     If ypacman<y_shadow Then horientacion_shadow=1 Else horientacion_shadow=3
    EndIf
    If Abs(xpacman-x_speedy)<4 Then
     If ypacman<y_speedy Then horientacion_speedy=1 Else horientacion_speedy=3
    EndIf
    If Abs(xpacman-x_bashful)<4 Then
     If ypacman<y_bashful Then horientacion_bashful=1 Else horientacion_bashful=3
    EndIf
    If Abs(xpacman-x_pokey)<4 Then
     If ypacman<y_pokey Then horientacion_pokey=1 Else horientacion_pokey=3
    EndIf
    If Abs(ypacman-y_shadow)<4 Then
     If xpacman<x_shadow Then horientacion_shadow=4 Else horientacion_shadow=2
    EndIf
    If Abs(ypacman-y_speedy)<4 Then
     If xpacman<x_speedy Then horientacion_speedy=4 Else horientacion_speedy=2
    EndIf
    If Abs(ypacman-y_bashful)<4 Then
     If xpacman<x_bashful Then horientacion_bashful=4 Else horientacion_bashful=2
    EndIf
    If Abs(ypacman-y_pokey)<4 Then
     If xpacman<x_pokey Then horientacion_pokey=4 Else horientacion_pokey=2
    EndIf
    If bloqueo>0 Then bloqueo=bloqueo-1
    If bloqueo2>0 Then bloqueo2=bloqueo2-1
    If bloqueo3>0 Then bloqueo3=bloqueo3-1
    If bloqueo4>0 Then bloqueo4=bloqueo4-1
    
    .ejes
    
    ;------casa de los fantasmas------
    
    If sale_bashful<>1 Then sale_bashful=Rand(80-level*8)
    If sale_bashful=1 Then sale_pokey=Rand(80-level*8)
    If Abs(x_bashful-posx(5)+10)<2 And Abs(y_bashful-posy(5)+15)<2 Then
     direccion_bashful=3
    EndIf
    If Abs(x_bashful-posx(5)+10)<2 And Abs(y_bashful-posy(5))<2 Then
     If sale_bashful=1 Then direccion_bashful=2
    EndIf
    If Abs(x_bashful-posx(5)+10)<2 And Abs(y_bashful-posy(5)-15)<2 Then
     direccion_bashful=1
    EndIf
    If Abs(x_pokey-posx(5)-62)<2 And Abs(y_pokey-posy(5)+15)<2 Then
     direccion_pokey=3
    EndIf
    If Abs(x_pokey-posx(5)-62)<2 And Abs(y_pokey-posy(5))<2 Then
     If sale_pokey=1 Then direccion_pokey=4
    EndIf
    If Abs(x_pokey-posx(5)-62)<2 And Abs(y_pokey-posy(5)-15)<2 Then
     direccion_pokey=1
    EndIf
    
    ;fila 1----------------------------------------------------------
    If (Abs(xpacman-posx(1))<2 Or Abs(xpacman-posx(6))<2) And (Abs(ypacman-posy(1))<2 Or Abs(ypacman-posy(7))<2 Or Abs(ypacman-posy(9))<2) Then
     direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2 
     If KeyDown(208) Then direccion_pacman=3 
    EndIf
    If (Abs(x_shadow-posx(1))<2 Or Abs(x_shadow-posx(6))<2) And (Abs(y_shadow-posy(1))<2 Or Abs(y_shadow-posy(7))<2 Or Abs(y_shadow-posy(9))<2) Then
     If direccion_shadow=1 Then direccion_shadow=2
     If direccion_shadow=4 Then direccion_shadow=3
    EndIf
    If (Abs(x_speedy-posx(1))<2 Or Abs(x_speedy-posx(6))<2) And (Abs(y_speedy-posy(1))<2 Or Abs(y_speedy-posy(7))<2 Or Abs(y_speedy-posy(9))<2) Then
     If direccion_speedy=1 Then direccion_speedy=2
     If direccion_speedy=4 Then direccion_speedy=3
    EndIf
    If (Abs(x_bashful-posx(1))<2 Or Abs(x_bashful-posx(6))<2) And (Abs(y_bashful-posy(1))<2 Or Abs(y_bashful-posy(7))<2 Or Abs(y_bashful-posy(9))<2) Then
     If direccion_bashful=1 Then direccion_bashful=2
     If direccion_bashful=4 Then direccion_bashful=3
    EndIf
    If (Abs(x_pokey-posx(1))<2 Or Abs(x_pokey-posx(6))<2) And (Abs(y_pokey-posy(1))<2 Or Abs(y_pokey-posy(7))<2 Or Abs(y_pokey-posy(9))<2) Then
     If direccion_pokey=1 Then direccion_pokey=2
     If direccion_pokey=4 Then direccion_pokey=3
    EndIf
    If (Abs(xpacman-posx(3))<2 Or Abs(xpacman-posx(8))<2) And Abs(ypacman-posy(1))<2 Then
     If direccion_pacman=1 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If (Abs(x_shadow-posx(3))<2 Or Abs(x_shadow-posx(8))<2) And Abs(y_shadow-posy(1))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=7 Then horientacion_shadow=4
     If horientacion_shadow=6 Then
     If sorteo=1 Then horientacion_shadow=2 Else horientacion_shadow=3
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
     If status_fantasmas(1)=0 Then direccion_shadow=direccion_pacman
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(2,4)
    
     While direccion_shadow=1 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=3
     EndIf 
    EndIf
    If (Abs(x_speedy-posx(3))<2 Or Abs(x_speedy-posx(8))<2) And Abs(y_speedy-posy(1))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=7 Then horientacion_speedy=4
     If horientacion_speedy=6 Then
     If sorteo=1 Then horientacion_speedy=2 Else horientacion_speedy=3
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
     If status_fantasmas(2)=0 Then direccion_speedy=direccion_pacman
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(2,4)
    
     While direccion_speedy=1 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=3
     EndIf 
    EndIf
    If (Abs(x_bashful-posx(3))<2 Or Abs(x_bashful-posx(8))<2) And Abs(y_bashful-posy(1))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=7 Then horientacion_bashful=4
     If horientacion_bashful=6 Then
     If sorteo=1 Then horientacion_bashful=2 Else horientacion_bashful=3
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
     If status_fantasmas(4)=0 Then direccion_bashful=direccion_pacman
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(2,4)
    
     While direccion_bashful=1 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=3
     EndIf 
    EndIf
    If (Abs(x_pokey-posx(3))<2 Or Abs(x_pokey-posx(8))<2) And Abs(y_pokey-posy(1))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=7 Then horientacion_pokey=4
     If horientacion_pokey=6 Then
     If sorteo=1 Then horientacion_pokey=2 Else horientacion_pokey=3
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
     If status_fantasmas(4)=0 Then direccion_pokey=direccion_pacman
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(2,4)
    
     While direccion_pokey=1 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=3
     EndIf 
    EndIf
    If (Abs(xpacman-posx(5))<2 Or Abs(xpacman-posx(10))<2) And (Abs(ypacman-posy(1))<2 Or Abs(ypacman-posy(7))<2 Or Abs(ypacman-posy(9))<2) Then
     direccion_pacman=0
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If (Abs(x_shadow-posx(5))<2 Or Abs(x_shadow-posx(10))<2) And (Abs(y_shadow-posy(1))<2 Or Abs(y_shadow-posy(7))<2 Or Abs(y_shadow-posy(9))<2) Then
     If direccion_shadow=2 Then direccion_shadow=3
     If direccion_shadow=1 Then direccion_shadow=4
    EndIf
    If (Abs(x_speedy-posx(5))<2 Or Abs(x_speedy-posx(10))<2) And (Abs(y_speedy-posy(1))<2 Or Abs(y_speedy-posy(7))<2 Or Abs(y_speedy-posy(9))<2) Then
     If direccion_speedy=2 Then direccion_speedy=3
     If direccion_speedy=1 Then direccion_speedy=4
    EndIf
    If (Abs(x_bashful-posx(5))<2 Or Abs(x_bashful-posx(10))<2) And (Abs(y_bashful-posy(1))<2 Or Abs(y_bashful-posy(7))<2 Or Abs(y_bashful-posy(9))<2) Then
     If direccion_bashful=2 Then direccion_bashful=3
     If direccion_bashful=1 Then direccion_bashful=4
    EndIf
    If (Abs(x_pokey-posx(5))<2 Or Abs(x_pokey-posx(10))<2) And (Abs(y_pokey-posy(1))<2 Or Abs(y_pokey-posy(7))<2 Or Abs(y_pokey-posy(9))<2) Then
     If direccion_pokey=2 Then direccion_pokey=3
     If direccion_pokey=1 Then direccion_pokey=4
    EndIf
    
    ;fila 2----------------------------------------------------------
    If Abs(xpacman-posx(1))<2 And Abs(ypacman-posy(2))<2 Then
     If direccion_pacman=4 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(200) Then direccion_pacman=1
    EndIf
    If Abs(x_shadow-posx(1))<2 And Abs(y_shadow-posy(2))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=6 Then
     If sorteo=1 Then horientacion_shadow=2 Else horientacion_shadow=3
     EndIf
     If horientacion_shadow=5 Then
     If sorteo=1 Then horientacion_shadow=2 Else horientacion_shadow=1
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
     If direccion_shadow=4 Then direccion_shadow=2
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(3)
     If status_fantasmas(1)=2 Then direccion_shadow=2
     EndIf
    EndIf
    If Abs(x_speedy-posx(1))<2 And Abs(y_speedy-posy(2))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=6 Then
     If sorteo=1 Then horientacion_speedy=2 Else horientacion_speedy=3
     EndIf
     If horientacion_speedy=5 Then
     If sorteo=1 Then horientacion_speedy=2 Else horientacion_speedy=1
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
     If direccion_speedy=4 Then direccion_speedy=2
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(3)
     If status_fantasmas(2)=2 Then direccion_speedy=2
     EndIf
    EndIf
    If Abs(x_bashful-posx(1))<2 And Abs(y_bashful-posy(2))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=6 Then
     If sorteo=1 Then horientacion_bashful=2 Else horientacion_bashful=3
     EndIf
     If horientacion_bashful=5 Then
     If sorteo=1 Then horientacion_bashful=2 Else horientacion_bashful=1
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
     If direccion_bashful=4 Then direccion_bashful=2
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(3)
     If status_fantasmas(3)=2 Then direccion_bashful=2
     EndIf
    EndIf
    If Abs(x_pokey-posx(1))<2 And Abs(y_pokey-posy(2))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=6 Then
     If sorteo=1 Then horientacion_pokey=2 Else horientacion_pokey=3
     EndIf
     If horientacion_pokey=5 Then
     If sorteo=1 Then horientacion_pokey=2 Else horientacion_pokey=1
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
     If direccion_pokey=4 Then direccion_pokey=2
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(3)
     If status_fantasmas(4)=2 Then direccion_pokey=2
     EndIf
    EndIf
    If (Abs(xpacman-posx(3))<2 Or Abs(xpacman-posx(8))<2) And (Abs(ypacman-posy(2))<2 Or Abs(ypacman-posy(5))<2 Or Abs(ypacman-posy(7))<2) Then
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(205) Then direccion_pacman=2
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If (Abs(x_shadow-posx(3))<2 Or Abs(x_shadow-posx(8))<2) And (Abs(y_shadow-posy(2))<2 Or Abs(y_shadow-posy(5))<2 Or Abs(y_shadow-posy(7))<2) Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow=6 Then
     If sorteo=1 Then horientacion_shadow=2 Else horientacion_shadow=3
     EndIf
     If horientacion_shadow=5 Then horientacion_shadow=2
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
     If horientacion_shadow>4 Then
     If sorteo=1 Then direccion_shadow=horientacion_shadow-4 Else direccion_shadow=horientacion_shadow-6
     EndIf
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=0 Then direccion_shadow=direccion_pacman
     If status_fantasmas(1)=2 Then 
     If Abs(x_shadow-posx(3))<2 Then direccion_shadow=2
     If Abs(x_shadow-posx(8))<2 Then direccion_shadow=4
     EndIf
     EndIf
    EndIf
    If (Abs(x_speedy-posx(3))<2 Or Abs(x_speedy-posx(8))<2) And (Abs(y_speedy-posy(2))<2 Or Abs(y_speedy-posy(5))<2 Or Abs(y_speedy-posy(7))<2) Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy=6 Then
     If sorteo=1 Then horientacion_speedy=2 Else horientacion_speedy=3
     EndIf
     If horientacion_speedy=5 Then horientacion_speedy=2
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
     If horientacion_speedy>4 Then
     If sorteo=1 Then direccion_speedy=horientacion_speedy-4 Else direccion_speedy=horientacion_speedy-6
     EndIf
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=0 Then direccion_speedy=direccion_pacman
     If status_fantasmas(2)=2 Then 
     If Abs(x_speedy-posx(3))<2 Then direccion_speedy=2
     If Abs(x_speedy-posx(8))<2 Then direccion_speedy=4
     EndIf
     EndIf
    EndIf
    If (Abs(x_bashful-posx(3))<2 Or Abs(x_bashful-posx(8))<2) And (Abs(y_bashful-posy(2))<2 Or Abs(y_bashful-posy(5))<2 Or Abs(y_bashful-posy(7))<2) Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful=6 Then
     If sorteo=1 Then horientacion_bashful=2 Else horientacion_bashful=3
     EndIf
     If horientacion_bashful=5 Then horientacion_bashful=2
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
     If horientacion_bashful>4 Then
     If sorteo=1 Then direccion_bashful=horientacion_bashful-4 Else direccion_bashful=horientacion_bashful-6
     EndIf
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=0 Then direccion_bashful=direccion_pacman
     If status_fantasmas(3)=2 Then 
     If Abs(x_bashful-posx(3))<2 Then direccion_bashful=2
     If Abs(x_bashful-posx(8))<2 Then direccion_bashful=4
     EndIf
     EndIf
    EndIf
    If (Abs(x_pokey-posx(3))<2 Or Abs(x_pokey-posx(8))<2) And (Abs(y_pokey-posy(2))<2 Or Abs(y_pokey-posy(5))<2 Or Abs(y_pokey-posy(7))<2) Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey=6 Then
     If sorteo=1 Then horientacion_pokey=2 Else horientacion_pokey=3
     EndIf
     If horientacion_pokey=5 Then horientacion_pokey=2
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
     If horientacion_pokey>4 Then
     If sorteo=1 Then direccion_pokey=horientacion_pokey-4 Else direccion_pokey=horientacion_pokey-6
     EndIf
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=0 Then direccion_pokey=direccion_pacman
     If status_fantasmas(4)=2 Then 
     If Abs(x_pokey-posx(3))<2 Then direccion_pokey=2
     If Abs(x_pokey-posx(8))<2 Then direccion_pokey=4
     EndIf
     EndIf
    EndIf
    If (Abs(xpacman-posx(4))<2 Or Abs(xpacman-posx(7))<2) And (Abs(ypacman-posy(2))<2 Or Abs(ypacman-posy(8))<2) Then
     If direccion_pacman=1 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If (Abs(x_shadow-posx(4))<2 Or Abs(x_shadow-posx(7))<2) And (Abs(y_shadow-posy(2))<2 Or Abs(y_shadow-posy(8))<2) Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Then horientacion_shadow=2
     If horientacion_shadow=6 Then horientacion_shadow=2
     If horientacion_shadow=7 Then horientacion_shadow=4
     If horientacion_shadow=8 Then horientacion_shadow=4
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(2,4)
    
     While direccion_shadow=1 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(2,4)
     Wend
     If status_fantasmas(1)=2 Then 
     If Abs(y_shadow-posy(2))<2 Then direccion_shadow=3 Else direccion_shadow=2
     EndIf
    
     EndIf
    EndIf
    If (Abs(x_speedy-posx(4))<2 Or Abs(x_speedy-posx(7))<2) And (Abs(y_speedy-posy(2))<2 Or Abs(y_speedy-posy(8))<2) Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Then horientacion_speedy=2
     If horientacion_speedy=6 Then horientacion_speedy=2
     If horientacion_speedy=7 Then horientacion_speedy=4
     If horientacion_speedy=8 Then horientacion_speedy=4
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(2,4)
    
     While direccion_speedy=1 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(2,4)
     Wend
     If status_fantasmas(2)=2 Then 
     If Abs(y_speedy-posy(2))<2 Then direccion_speedy=3 Else direccion_speedy=2
     EndIf
    
     EndIf
    EndIf
    If (Abs(x_bashful-posx(4))<2 Or Abs(x_bashful-posx(7))<2) And (Abs(y_bashful-posy(2))<2 Or Abs(y_bashful-posy(8))<2) Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Then horientacion_bashful=2
     If horientacion_bashful=6 Then horientacion_bashful=2
     If horientacion_bashful=7 Then horientacion_bashful=4
     If horientacion_bashful=8 Then horientacion_bashful=4
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(2,4)
    
     While direccion_bashful=1 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(2,4)
     Wend
     If status_fantasmas(3)=2 Then 
     If Abs(y_bashful-posy(2))<2 Then direccion_bashful=3 Else direccion_bashful=2
     EndIf
    
     EndIf
    EndIf
    If (Abs(x_pokey-posx(4))<2 Or Abs(x_pokey-posx(7))<2) And (Abs(y_pokey-posy(2))<2 Or Abs(y_pokey-posy(8))<2) Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Then horientacion_pokey=2
     If horientacion_pokey=6 Then horientacion_pokey=2
     If horientacion_pokey=7 Then horientacion_pokey=4
     If horientacion_pokey=8 Then horientacion_pokey=4
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(2,4)
    
     While direccion_pokey=1 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(2,4)
     Wend
     If status_fantasmas(4)=2 Then 
     If Abs(y_pokey-posy(2))<2 Then direccion_pokey=3 Else direccion_pokey=2
     EndIf
    
     EndIf
    EndIf
    If (Abs(xpacman-posx(5))<2 Or Abs(xpacman-posx(6))<2) And (Abs(ypacman-posy(2))<2 Or Abs(ypacman-posy(8))<2 Or Abs(ypacman-posy(8))<2) Then
     If direccion_pacman=3 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If (Abs(x_shadow-posx(5))<2 Or Abs(x_shadow-posx(6))<2) And (Abs(y_shadow-posy(2))<2 Or Abs(y_shadow-posy(8))<2 Or Abs(y_shadow-posy(8))<2) Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow=5 Then horientacion_shadow=2
     If horientacion_shadow=6 Then horientacion_shadow=2
     If horientacion_shadow=7 Then horientacion_shadow=1
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     
     While direccion_shadow=3 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    
    EndIf
    If (Abs(x_speedy-posx(5))<2 Or Abs(x_speedy-posx(6))<2) And (Abs(y_speedy-posy(2))<2 Or Abs(y_speedy-posy(8))<2 Or Abs(y_speedy-posy(8))<2) Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy=5 Then horientacion_speedy=2
     If horientacion_speedy=6 Then horientacion_speedy=2
     If horientacion_speedy=7 Then horientacion_speedy=1
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     
     While direccion_speedy=3 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    
    EndIf
    If (Abs(x_bashful-posx(5))<2 Or Abs(x_bashful-posx(6))<2) And (Abs(y_bashful-posy(2))<2 Or Abs(y_bashful-posy(8))<2 Or Abs(y_bashful-posy(8))<2) Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful=5 Then horientacion_bashful=2
     If horientacion_bashful=6 Then horientacion_bashful=2
     If horientacion_bashful=7 Then horientacion_bashful=1
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     
     While direccion_bashful=3 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If (Abs(x_pokey-posx(5))<2 Or Abs(x_pokey-posx(6))<2) And (Abs(y_pokey-posy(2))<2 Or Abs(y_pokey-posy(8))<2 Or Abs(y_pokey-posy(8))<2) Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey=5 Then horientacion_pokey=2
     If horientacion_pokey=6 Then horientacion_pokey=2
     If horientacion_pokey=7 Then horientacion_pokey=1
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     
     While direccion_pokey=3 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    If Abs(xpacman-posx(10))<2 And Abs(ypacman-posy(2))<2 Then
     If direccion_pacman=2 Then direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(10))<2 And Abs(y_shadow-posy(2))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=2 Then horientacion_shadow=3
     If horientacion_shadow=7 Then horientacion_shadow=Rand(3,4)
     If horientacion_shadow=8 Then
     If sorteo=1 Then horientacion_shadow=1 Else horientacion_shadow=4
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=2 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=3
     EndIf
    
    EndIf
    If Abs(x_speedy-posx(10))<2 And Abs(y_speedy-posy(2))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=2 Then horientacion_speedy=3
     If horientacion_speedy=7 Then horientacion_speedy=Rand(3,4)
     If horientacion_speedy=8 Then
     If sorteo=1 Then horientacion_speedy=1 Else horientacion_speedy=4
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=2 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=3
     EndIf
    
    EndIf
    If Abs(x_bashful-posx(10))<2 And Abs(y_bashful-posy(2))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=2 Then horientacion_bashful=3
     If horientacion_bashful=7 Then horientacion_bashful=Rand(3,4)
     If horientacion_bashful=8 Then
     If sorteo=1 Then horientacion_bashful=1 Else horientacion_bashful=4
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=2 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=3
     EndIf
    EndIf
    If Abs(x_pokey-posx(10))<2 And Abs(y_pokey-posy(2))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=2 Then horientacion_pokey=3
     If horientacion_pokey=7 Then horientacion_pokey=Rand(3,4)
     If horientacion_pokey=8 Then
     If sorteo=1 Then horientacion_pokey=1 Else horientacion_pokey=4
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=2 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=3
     EndIf
    EndIf
    
    ;fila 3----------------------------------------------------------
    If Abs(xpacman-posx(1))<2 And (Abs(ypacman-posy(3))<2 Or Abs(ypacman-posy(10))<2 Or Abs(ypacman-posy(8))<2) Then
     direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(205) Then direccion_pacman=2
    EndIf
    If Abs(x_shadow-posx(1))<2 And (Abs(y_shadow-posy(3))<2 Or Abs(y_shadow-posy(10))<2 Or Abs(y_shadow-posy(8))<2) Then
     If direccion_shadow=3 Then direccion_shadow=2
     If direccion_shadow=4 Then direccion_shadow=1
    EndIf
    If Abs(x_speedy-posx(1))<2 And (Abs(y_speedy-posy(3))<2 Or Abs(y_speedy-posy(10))<2 Or Abs(y_speedy-posy(8))<2) Then
     If direccion_speedy=3 Then direccion_speedy=2
     If direccion_speedy=4 Then direccion_speedy=1
    EndIf
    If Abs(x_bashful-posx(1))<2 And (Abs(y_bashful-posy(3))<2 Or Abs(y_bashful-posy(10))<2 Or Abs(y_bashful-posy(8))<2) Then
     If direccion_bashful=3 Then direccion_bashful=2
     If direccion_bashful=4 Then direccion_bashful=1
    EndIf
    If Abs(x_pokey-posx(1))<2 And (Abs(y_pokey-posy(3))<2 Or Abs(y_pokey-posy(10))<2 Or Abs(y_pokey-posy(8))<2) Then
     If direccion_pokey=3 Then direccion_pokey=2
     If direccion_pokey=4 Then direccion_pokey=1
    EndIf
    If Abs(xpacman-posx(3))<2 And Abs(ypacman-posy(3))<2 Then
     If direccion_pacman=2 Then direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(3))<2 And Abs(y_shadow-posy(3))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow=7 Then horientacion_shadow=3
     If horientacion_shadow=6 Then horientacion_shadow=3
     If horientacion_shadow=5 Then horientacion_shadow=1
     If horientacion_shadow=2 Then horientacion_shadow=1
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=2 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    EndIf
    If Abs(x_speedy-posx(3))<2 And Abs(y_speedy-posy(3))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy=7 Then horientacion_speedy=3
     If horientacion_speedy=6 Then horientacion_speedy=3
     If horientacion_speedy=5 Then horientacion_speedy=1
     If horientacion_speedy=2 Then horientacion_speedy=1
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=2 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If Abs(x_bashful-posx(3))<2 And Abs(y_bashful-posy(3))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful=7 Then horientacion_bashful=3
     If horientacion_bashful=6 Then horientacion_bashful=3
     If horientacion_bashful=5 Then horientacion_bashful=1
     If horientacion_bashful=2 Then horientacion_bashful=1
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=2 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If Abs(x_pokey-posx(3))<2 And Abs(y_pokey-posy(3))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey=7 Then horientacion_pokey=3
     If horientacion_pokey=6 Then horientacion_pokey=3
     If horientacion_pokey=5 Then horientacion_pokey=1
     If horientacion_pokey=2 Then horientacion_pokey=1
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=2 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    If Abs(xpacman-posx(4))<2 And Abs(ypacman-posy(3))<2 Then
     direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(205) Then direccion_pacman=2
    EndIf
    If Abs(x_shadow-posx(4))<2 And Abs(y_shadow-posy(3))<2 Then
     If direccion_shadow=3 Then direccion_shadow=2
     If direccion_shadow=4 Then direccion_shadow=1
    EndIf
    If Abs(x_speedy-posx(4))<2 And Abs(y_speedy-posy(3))<2 Then
     If direccion_speedy=3 Then direccion_speedy=2
     If direccion_speedy=4 Then direccion_speedy=1
    EndIf
    If Abs(x_bashful-posx(4))<2 And Abs(y_bashful-posy(3))<2 Then
     If direccion_bashful=3 Then direccion_bashful=2
     If direccion_bashful=4 Then direccion_bashful=1
    EndIf
    If Abs(x_pokey-posx(4))<2 And Abs(y_pokey-posy(3))<2 Then
     If direccion_pokey=3 Then direccion_pokey=2
     If direccion_pokey=4 Then direccion_pokey=1
    EndIf
    If Abs(xpacman-posx(5))<2 And Abs(ypacman-posy(3))<2 Then
     direccion_pacman=0
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(5))<2 And Abs(y_shadow-posy(3))<2 Then
     If direccion_shadow=2 Then direccion_shadow=3
     If direccion_shadow=1 Then direccion_shadow=4
    EndIf
    If Abs(x_speedy-posx(5))<2 And Abs(y_speedy-posy(3))<2 Then
     If direccion_speedy=2 Then direccion_speedy=3
     If direccion_speedy=1 Then direccion_speedy=4
    EndIf
    If Abs(x_bashful-posx(5))<2 And Abs(y_bashful-posy(3))<2 Then
     If direccion_bashful=2 Then direccion_bashful=3
     If direccion_bashful=1 Then direccion_bashful=4
    EndIf
    If Abs(x_pokey-posx(5))<2 And Abs(y_pokey-posy(3))<2 Then
     If direccion_pokey=2 Then direccion_pokey=3
     If direccion_pokey=1 Then direccion_pokey=4
    EndIf
    If Abs(xpacman-posx(6))<2 And Abs(ypacman-posy(3))<2 Then
     direccion_pacman=0
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(205) Then direccion_pacman=2
    EndIf
    If Abs(x_shadow-posx(6))<2 And Abs(y_shadow-posy(3))<2 Then
     If direccion_shadow=1 Then direccion_shadow=2
     If direccion_shadow=4 Then direccion_shadow=3
    EndIf
    If Abs(x_speedy-posx(6))<2 And Abs(y_speedy-posy(3))<2 Then
     If direccion_speedy=1 Then direccion_speedy=2
     If direccion_speedy=4 Then direccion_speedy=3
    EndIf
    If Abs(x_bashful-posx(6))<2 And Abs(y_bashful-posy(3))<2 Then
     If direccion_bashful=1 Then direccion_bashful=2
     If direccion_bashful=4 Then direccion_bashful=3
    EndIf
    If Abs(x_pokey-posx(6))<2 And Abs(y_pokey-posy(3))<2 Then
     If direccion_pokey=1 Then direccion_pokey=2
     If direccion_pokey=4 Then direccion_pokey=3
    EndIf
    If Abs(xpacman-posx(7))<2 And Abs(ypacman-posy(3))<2 Then
     direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(7))<2 And Abs(y_shadow-posy(3))<2 Then
     If direccion_shadow=2 Then direccion_shadow=1
     If direccion_shadow=3 Then direccion_shadow=4
    EndIf
    If Abs(x_speedy-posx(7))<2 And Abs(y_speedy-posy(3))<2 Then
     If direccion_speedy=2 Then direccion_speedy=1
     If direccion_speedy=3 Then direccion_speedy=4
    EndIf
    If Abs(x_bashful-posx(7))<2 And Abs(y_bashful-posy(3))<2 Then
     If direccion_bashful=2 Then direccion_bashful=1
     If direccion_bashful=3 Then direccion_bashful=4
    EndIf
    If Abs(x_pokey-posx(7))<2 And Abs(y_pokey-posy(3))<2 Then
     If direccion_pokey=2 Then direccion_pokey=1
     If direccion_pokey=3 Then direccion_pokey=4
    EndIf
    If Abs(xpacman-posx(8))<2 And Abs(ypacman-posy(3))<2 Then
     If direccion_pacman=4 Then direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(205) Then direccion_pacman=2
    EndIf
    If Abs(x_shadow-posx(8))<2 And Abs(y_shadow-posy(3))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=8 Then horientacion_shadow=Rand(2,3)
     If horientacion_shadow=7 Then horientacion_shadow=3
     If horientacion_shadow=6 Then horientacion_shadow=3
     If horientacion_shadow=5 Then horientacion_shadow=Rand(1,2)
     If horientacion_shadow=4 Then horientacion_shadow=3
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(3)
     While direccion_shadow=4 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(3)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=3
     EndIf
    EndIf
    If Abs(x_speedy-posx(8))<2 And Abs(y_speedy-posy(3))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=8 Then horientacion_speedy=Rand(2,3)
     If horientacion_speedy=7 Then horientacion_speedy=3
     If horientacion_speedy=6 Then horientacion_speedy=3
     If horientacion_speedy=5 Then horientacion_speedy=Rand(1,2)
     If horientacion_speedy=4 Then horientacion_speedy=3
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(3)
     While direccion_speedy=4 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(3)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=3
     EndIf
    EndIf
    If Abs(x_bashful-posx(8))<2 And Abs(y_bashful-posy(3))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=8 Then horientacion_bashful=Rand(2,3)
     If horientacion_bashful=7 Then horientacion_bashful=3
     If horientacion_bashful=6 Then horientacion_bashful=3
     If horientacion_bashful=5 Then horientacion_bashful=Rand(1,2)
     If horientacion_bashful=4 Then horientacion_bashful=3
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(3)
     While direccion_bashful=4 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(3)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=3
     EndIf
    EndIf
    If Abs(x_pokey-posx(8))<2 And Abs(y_pokey-posy(3))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=8 Then horientacion_pokey=Rand(2,3)
     If horientacion_pokey=7 Then horientacion_pokey=3
     If horientacion_pokey=6 Then horientacion_pokey=3
     If horientacion_pokey=5 Then horientacion_pokey=Rand(1,2)
     If horientacion_pokey=4 Then horientacion_pokey=3
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(3)
     While direccion_pokey=4 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(3)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=3
     EndIf
    EndIf
    If Abs(xpacman-posx(10))<2 And (Abs(ypacman-posy(3))<2 Or Abs(ypacman-posy(10))<2 Or Abs(ypacman-posy(8))<2) Then
     direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(10))<2 And (Abs(y_shadow-posy(3))<2 Or Abs(y_shadow-posy(10))<2 Or Abs(y_shadow-posy(8))<2) Then
     If direccion_shadow=2 Then direccion_shadow=1
     If direccion_shadow=3 Then direccion_shadow=4
    EndIf
    If Abs(x_speedy-posx(10))<2 And (Abs(y_speedy-posy(3))<2 Or Abs(y_speedy-posy(10))<2 Or Abs(y_speedy-posy(8))<2) Then
     If direccion_speedy=2 Then direccion_speedy=1
     If direccion_speedy=3 Then direccion_speedy=4
    EndIf
    If Abs(x_bashful-posx(10))<2 And (Abs(y_bashful-posy(3))<2 Or Abs(y_bashful-posy(10))<2 Or Abs(y_bashful-posy(8))<2) Then
     If direccion_bashful=2 Then direccion_bashful=1
     If direccion_bashful=3 Then direccion_bashful=4
    EndIf
    If Abs(x_pokey-posx(10))<2 And (Abs(y_pokey-posy(3))<2 Or Abs(y_pokey-posy(10))<2 Or Abs(y_pokey-posy(8))<2) Then
     If direccion_pokey=2 Then direccion_pokey=1
     If direccion_pokey=3 Then direccion_pokey=4
    EndIf
    
    ;fila 4----------------------------------------------------------
    If Abs(xpacman-posx(4))<2 And Abs(ypacman-posy(4))<2 Then
     direccion_pacman=0
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(205) Then direccion_pacman=2
    EndIf
    If Abs(x_shadow-posx(4))<2 And Abs(y_shadow-posy(4))<2 Then
     If direccion_shadow=1 Then direccion_shadow=2
     If direccion_shadow=4 Then direccion_shadow=3
    EndIf
    If Abs(x_speedy-posx(4))<2 And Abs(y_speedy-posy(4))<2 Then
     If direccion_speedy=1 Then direccion_speedy=2
     If direccion_speedy=4 Then direccion_speedy=3
    EndIf
    If Abs(x_bashful-posx(4))<2 And Abs(y_bashful-posy(4))<2 Then
     If direccion_bashful=1 Then direccion_bashful=2
     If direccion_bashful=4 Then direccion_bashful=3
    EndIf
    If Abs(x_pokey-posx(4))<2 And Abs(y_pokey-posy(4))<2 Then
     If direccion_pokey=1 Then direccion_pokey=2
     If direccion_pokey=4 Then direccion_pokey=3
    EndIf
    If (Abs(xpacman-posx(5))<2 Or Abs(xpacman-posx(6))<2) And Abs(ypacman-posy(4))<2 Then
     If direccion_pacman=3 Then direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(205) Then direccion_pacman=2
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(5))<2 And Abs(y_shadow-posy(4))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=6 Then horientacion_shadow=2
     If horientacion_shadow=5 Then horientacion_shadow=2
     If horientacion_shadow=7 Then horientacion_shadow=4
     If horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=3 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=2
     EndIf
    EndIf
    If Abs(x_speedy-posx(5))<2 And Abs(y_speedy-posy(4))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=6 Then horientacion_speedy=2
     If horientacion_speedy=5 Then horientacion_speedy=2
     If horientacion_speedy=7 Then horientacion_speedy=4
     If horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=3 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=2
     EndIf
    EndIf
    If Abs(x_bashful-posx(5))<2 And Abs(y_bashful-posy(4))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=6 Then horientacion_bashful=2
     If horientacion_bashful=5 Then horientacion_bashful=2
     If horientacion_bashful=7 Then horientacion_bashful=4
     If horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=3 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=2
     EndIf
    EndIf
    If Abs(x_pokey-posx(5))<2 And Abs(y_pokey-posy(4))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=6 Then horientacion_pokey=2
     If horientacion_pokey=5 Then horientacion_pokey=2
     If horientacion_pokey=7 Then horientacion_pokey=4
     If horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=3 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=2
     EndIf
    EndIf
    If Abs(x_shadow-posx(5)-27)<2 And Abs(y_shadow-posy(4))<2 Then
     If status_fantasmas(1)=2 Then direccion_shadow=3
     If status_fantasmas(1)=1 Then
     If horientacion_shadow=6 Then direccion_shadow=2
     If horientacion_shadow=5 Then direccion_shadow=2
     If horientacion_shadow=7 Then direccion_shadow=4
     If horientacion_shadow=8 Then direccion_shadow=4
     If horientacion_shadow=1 Then direccion_shadow=2
     If horientacion_shadow=2 Then direccion_shadow=2
     If horientacion_shadow=3 Then direccion_shadow=4
     If horientacion_shadow=4 Then direccion_shadow=2
     EndIf
    EndIf
    If Abs(x_speedy-posx(5)-27)<2 And Abs(y_speedy-posy(4))<2 Then
     If status_fantasmas(2)=2 Then direccion_speedy=3
     If status_fantasmas(2)=1 Then
     If horientacion_speedy=6 Then direccion_speedy=2
     If horientacion_speedy=5 Then direccion_speedy=2
     If horientacion_speedy=7 Then direccion_speedy=4
     If horientacion_speedy=8 Then direccion_speedy=4
     If horientacion_speedy=1 Then direccion_speedy=2
     If horientacion_speedy=2 Then direccion_speedy=2
     If horientacion_speedy=3 Then direccion_speedy=4
     If horientacion_speedy=4 Then direccion_speedy=2
     EndIf
    EndIf
    If Abs(x_bashful-posx(5)-27)<2 And Abs(y_bashful-posy(4))<2 Then
     If status_fantasmas(3)=2 Then direccion_bashful=3
     If status_fantasmas(3)=1 Then
     If horientacion_bashful=6 Then direccion_bashful=2
     If horientacion_bashful=5 Then direccion_bashful=2
     If horientacion_bashful=7 Then direccion_bashful=4
     If horientacion_bashful=8 Then direccion_bashful=4
     If horientacion_bashful=1 Then direccion_bashful=2
     If horientacion_bashful=2 Then direccion_bashful=2
     If horientacion_bashful=3 Then direccion_bashful=4
     If horientacion_bashful=4 Then direccion_bashful=2
     EndIf
    EndIf
    If Abs(x_pokey-posx(5)-27)<2 And Abs(y_pokey-posy(4))<2 Then
     If status_fantasmas(4)=2 Then direccion_pokey=3
     If status_fantasmas(4)=1 Then
     If horientacion_pokey=6 Then direccion_pokey=2
     If horientacion_pokey=5 Then direccion_pokey=2
     If horientacion_pokey=7 Then direccion_pokey=4
     If horientacion_pokey=8 Then direccion_pokey=4
     If horientacion_pokey=1 Then direccion_pokey=2
     If horientacion_pokey=2 Then direccion_pokey=2
     If horientacion_pokey=3 Then direccion_pokey=4
     If horientacion_pokey=4 Then direccion_pokey=2
     EndIf
    EndIf
    If Abs(x_shadow-posx(5)-27)<2 And Abs(y_shadow-posy(5))<2 Then
     status_fantasmas(1)=1
     direccion_shadow=1
     eyes(1)=0
    EndIf
    If Abs(x_speedy-posx(5)-27)<2 And Abs(y_speedy-posy(5))<2 Then
     status_fantasmas(2)=1
     direccion_speedy=1
     eyes(2)=0
    EndIf
    If Abs(x_bashful-posx(5)-27)<2 And Abs(y_bashful-posy(5))<2 Then
     status_fantasmas(3)=1
     direccion_bashful=1
     eyes(3)=0
    EndIf
    If Abs(x_pokey-posx(5)-27)<2 And Abs(y_pokey-posy(5))<2 Then
     status_fantasmas(4)=1
     direccion_pokey=1
     eyes(4)=0
    EndIf
    If Abs(x_shadow-posx(6))<2 And Abs(y_shadow-posy(4))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=6 Then horientacion_shadow=2
     If horientacion_shadow=5 Then horientacion_shadow=1
     If horientacion_shadow=7 Then horientacion_shadow=4
     If horientacion_shadow=8 Then horientacion_shadow=4
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=3 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=4
     EndIf
    EndIf
    If Abs(x_speedy-posx(6))<2 And Abs(y_speedy-posy(4))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=6 Then horientacion_speedy=2
     If horientacion_speedy=5 Then horientacion_speedy=1
     If horientacion_speedy=7 Then horientacion_speedy=4
     If horientacion_speedy=8 Then horientacion_speedy=4
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=3 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=4
     EndIf
    EndIf
    If Abs(x_bashful-posx(6))<2 And Abs(y_bashful-posy(4))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=6 Then horientacion_bashful=2
     If horientacion_bashful=5 Then horientacion_bashful=1
     If horientacion_bashful=7 Then horientacion_bashful=4
     If horientacion_bashful=8 Then horientacion_bashful=4
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=3 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=4
     EndIf
    EndIf
    If Abs(x_pokey-posx(6))<2 And Abs(y_pokey-posy(4))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=6 Then horientacion_pokey=2
     If horientacion_pokey=5 Then horientacion_pokey=1
     If horientacion_pokey=7 Then horientacion_pokey=4
     If horientacion_pokey=8 Then horientacion_pokey=4
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=3 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=4
     EndIf
    EndIf
    If Abs(xpacman-posx(7))<2 And Abs(ypacman-posy(4))<2 Then
     direccion_pacman=0
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(7))<2 And Abs(y_shadow-posy(4))<2 Then
     If direccion_shadow=2 Then direccion_shadow=3
     If direccion_shadow=1 Then direccion_shadow=4
    EndIf
    If Abs(x_speedy-posx(7))<2 And Abs(y_speedy-posy(4))<2 Then
     If direccion_speedy=2 Then direccion_speedy=3
     If direccion_speedy=1 Then direccion_speedy=4
    EndIf
    If Abs(x_bashful-posx(7))<2 And Abs(y_bashful-posy(4))<2 Then
     If direccion_bashful=2 Then direccion_bashful=3
     If direccion_bashful=1 Then direccion_bashful=4
    EndIf
    If Abs(x_pokey-posx(7))<2 And Abs(y_pokey-posy(4))<2 Then
     If direccion_pokey=2 Then direccion_pokey=3
     If direccion_pokey=1 Then direccion_pokey=4
    EndIf
    
    ;fila 5----------------------------------------------------------
    
    If Abs(xpacman-posx(4))<2 And Abs(ypacman-posy(5))<2 Then
     If direccion_pacman=2 Then direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(4))<2 And Abs(y_shadow-posy(5))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=7 Then horientacion_shadow=Rand(3,4)
     If horientacion_shadow=8 Then
     If sorteo=1 Then horientacion_shadow=1 Else horientacion_shadow=4
     EndIf
     If horientacion_shadow=5 Then horientacion_shadow=1
     If horientacion_shadow=6 Then horientacion_shadow=3
     If horientacion_shadow=2 Or horientacion_shadow=4 Then 
     If sorteo=1 Then horientacion_shadow=3 Else horientacion_shadow=1
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=2 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    
    EndIf
    If Abs(x_speedy-posx(4))<2 And Abs(y_speedy-posy(5))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=7 Then horientacion_speedy=Rand(3,4)
     If horientacion_speedy=8 Then
     If sorteo=1 Then horientacion_speedy=1 Else horientacion_speedy=4
     EndIf
     If horientacion_speedy=5 Then horientacion_speedy=1
     If horientacion_speedy=6 Then horientacion_speedy=3
     If horientacion_speedy=2 Or horientacion_speedy=4 Then 
     If sorteo=1 Then horientacion_speedy=3 Else horientacion_speedy=1
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=2 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    
    EndIf
    If Abs(x_bashful-posx(4))<2 And Abs(y_bashful-posy(5))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=7 Then horientacion_bashful=Rand(3,4)
     If horientacion_bashful=8 Then
     If sorteo=1 Then horientacion_bashful=1 Else horientacion_bashful=4
     EndIf
     If horientacion_bashful=5 Then horientacion_bashful=1
     If horientacion_bashful=6 Then horientacion_bashful=3
     If horientacion_bashful=2 Or horientacion_bashful=4 Then 
     If sorteo=1 Then horientacion_bashful=3 Else horientacion_bashful=1
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=2 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If Abs(x_pokey-posx(4))<2 And Abs(y_pokey-posy(5))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=7 Then horientacion_pokey=Rand(3,4)
     If horientacion_pokey=8 Then
     If sorteo=1 Then horientacion_pokey=1 Else horientacion_pokey=4
     EndIf
     If horientacion_pokey=5 Then horientacion_pokey=1
     If horientacion_pokey=6 Then horientacion_pokey=3
     If horientacion_pokey=2 Or horientacion_pokey=4 Then 
     If sorteo=1 Then horientacion_pokey=3 Else horientacion_pokey=1
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=2 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    If Abs(xpacman-posx(7))<2 And Abs(ypacman-posy(5))<2 Then
     If direccion_pacman=4 Then direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(205) Then direccion_pacman=2
    EndIf
    If Abs(x_shadow-posx(7))<2 And Abs(y_shadow-posy(5))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Then horientacion_shadow=Rand(1,2)
     If horientacion_shadow=6 Then horientacion_shadow=Rand(2,3)
     If horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow=7 Then horientacion_shadow=3
     If horientacion_shadow=4 Or horientacion_shadow=2 Then 
     If sorteo=1 Then horientacion_shadow=3 Else horientacion_shadow=1
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(3)
     While direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(3)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    EndIf
    If Abs(x_speedy-posx(7))<2 And Abs(y_speedy-posy(5))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Then horientacion_speedy=Rand(1,2)
     If horientacion_speedy=6 Then horientacion_speedy=Rand(2,3)
     If horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy=7 Then horientacion_speedy=3
     If horientacion_speedy=4 Or horientacion_speedy=2 Then 
     If sorteo=1 Then horientacion_speedy=3 Else horientacion_speedy=1
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(3)
     While direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(3)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If Abs(x_bashful-posx(7))<2 And Abs(y_bashful-posy(5))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Then horientacion_bashful=Rand(1,2)
     If horientacion_bashful=6 Then horientacion_bashful=Rand(2,3)
     If horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful=7 Then horientacion_bashful=3
     If horientacion_bashful=4 Or horientacion_bashful=2 Then 
     If sorteo=1 Then horientacion_bashful=3 Else horientacion_bashful=1
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(3)
     While direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(3)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If Abs(x_pokey-posx(7))<2 And Abs(y_pokey-posy(5))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Then horientacion_pokey=Rand(1,2)
     If horientacion_pokey=6 Then horientacion_pokey=Rand(2,3)
     If horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey=7 Then horientacion_pokey=3
     If horientacion_pokey=4 Or horientacion_pokey=2 Then 
     If sorteo=1 Then horientacion_pokey=3 Else horientacion_pokey=1
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(3)
     While direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(3)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    
    If Abs(xpacman-posx(1)+20)<2 And Abs(ypacman-posy(5))<2 Then
     If direccion_pacman=4 Then xpacman=posx(10)
    EndIf
    If Abs(x_shadow-posx(1)+20)<2 And Abs(y_shadow-posy(5))<2 Then
     temp_velocidad_shadow=temp_velocidad_shadow/2
     If direccion_shadow=4 Then x_shadow=posx(10)
    EndIf
    If Abs(x_speedy-posx(1)+20)<2 And Abs(y_speedy-posy(5))<2 Then
     temp_velocidad_speedy=temp_velocidad_speedy/2
     If direccion_speedy=4 Then x_speedy=posx(10)
    EndIf
    If Abs(x_bashful-posx(1)+20)<2 And Abs(y_bashful-posy(5))<2 Then
     temp_velocidad_bashful=temp_velocidad_bashful/2
     If direccion_bashful=4 Then x_bashful=posx(10)
    EndIf
    If Abs(x_pokey-posx(1)+20)<2 And Abs(y_pokey-posy(5))<2 Then
     temp_velocidad_pokey=temp_velocidad_pokey/2
     If direccion_pokey=4 Then x_pokey=posx(10)
    EndIf
    If Abs(xpacman-posx(10)-20)<2 And Abs(ypacman-posy(5))<2 Then
     If direccion_pacman=2 Then xpacman=posx(1)
    EndIf
    If Abs(x_shadow-posx(10)-20)<2 And Abs(y_shadow-posy(5))<2 Then
     temp_velocidad_shadow=temp_velocidad_shadow/2
     If direccion_shadow=2 Then x_shadow=posx(1)
    EndIf
    If Abs(x_speedy-posx(10)-20)<2 And Abs(y_speedy-posy(5))<2 Then
     temp_velocidad_speedy=temp_velocidad_speedy/2
     If direccion_speedy=2 Then x_speedy=posx(1)
    EndIf
    If Abs(x_bashful-posx(10)-20)<2 And Abs(y_bashful-posy(5))<2 Then
     temp_velocidad_bashful=temp_velocidad_bashful/2
     If direccion_bashful=2 Then x_bashful=posx(1)
    EndIf
    If Abs(x_pokey-posx(10)-20)<2 And Abs(y_pokey-posy(5))<2 Then
     temp_velocidad_pokey=temp_velocidad_pokey/2
     If direccion_pokey=2 Then x_pokey=posx(1)
    EndIf
    
    ;fila 6----------------------------------------------------------
    If Abs(xpacman-posx(4))<2 And Abs(ypacman-posy(6))<2 Then
     If direccion_pacman=4 Then direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(205) Then direccion_pacman=2
    EndIf
    If Abs(x_shadow-posx(4))<2 And Abs(y_shadow-posy(6))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Then horientacion_shadow=Rand(1,2)
     If horientacion_shadow=6 Then horientacion_shadow=Rand(2,3)
     If horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow=7 Then horientacion_shadow=3
     If horientacion_shadow=4 Or horientacion_shadow=2 Then 
     If sorteo=1 Then horientacion_shadow=3 Else horientacion_shadow=1
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(3)
     While direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(3)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    EndIf
    If Abs(x_speedy-posx(4))<2 And Abs(y_speedy-posy(6))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Then horientacion_speedy=Rand(1,2)
     If horientacion_speedy=6 Then horientacion_speedy=Rand(2,3)
     If horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy=7 Then horientacion_speedy=3
     If horientacion_speedy=4 Or horientacion_speedy=2 Then 
     If sorteo=1 Then horientacion_speedy=3 Else horientacion_speedy=1
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(3)
     While direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(3)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If Abs(x_bashful-posx(4))<2 And Abs(y_bashful-posy(6))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Then horientacion_bashful=Rand(1,2)
     If horientacion_bashful=6 Then horientacion_bashful=Rand(2,3)
     If horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful=7 Then horientacion_bashful=3
     If horientacion_bashful=4 Or horientacion_bashful=2 Then 
     If sorteo=1 Then horientacion_bashful=3 Else horientacion_bashful=1
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(3)
     While direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(3)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If Abs(x_pokey-posx(4))<2 And Abs(y_pokey-posy(6))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Then horientacion_pokey=Rand(1,2)
     If horientacion_pokey=6 Then horientacion_pokey=Rand(2,3)
     If horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey=7 Then horientacion_pokey=3
     If horientacion_pokey=4 Or horientacion_pokey=2 Then 
     If sorteo=1 Then horientacion_pokey=3 Else horientacion_pokey=1
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(3)
     While direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(3)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    If Abs(xpacman-posx(7))<2 And Abs(ypacman-posy(6))<2 Then
     If direccion_pacman=2 Then direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(7))<2 And Abs(y_shadow-posy(6))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Then horientacion_shadow=1
     If horientacion_shadow=7 Then horientacion_shadow=Rand(3,4)
     If horientacion_shadow=8 Then horientacion_shadow=Rand(4)
     If horientacion_shadow=6 Then horientacion_shadow=3
     If horientacion_shadow=4 Or horientacion_shadow=2 Then 
     If sorteo=1 Then horientacion_shadow=3 Else horientacion_shadow=1
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=2 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     
     EndIf
    EndIf
    If Abs(x_speedy-posx(7))<2 And Abs(y_speedy-posy(6))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Then horientacion_speedy=1
     If horientacion_speedy=7 Then horientacion_speedy=Rand(3,4)
     If horientacion_speedy=8 Then horientacion_speedy=Rand(4)
     If horientacion_speedy=6 Then horientacion_speedy=3
     If horientacion_speedy=4 Or horientacion_speedy=2 Then 
     If sorteo=1 Then horientacion_speedy=3 Else horientacion_speedy=1
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=2 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     
     EndIf
    EndIf
    If Abs(x_bashful-posx(7))<2 And Abs(y_bashful-posy(6))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Then horientacion_bashful=1
     If horientacion_bashful=7 Then horientacion_bashful=Rand(3,4)
     If horientacion_bashful=8 Then horientacion_bashful=Rand(4)
     If horientacion_bashful=6 Then horientacion_bashful=3
     If horientacion_bashful=4 Or horientacion_bashful=2 Then 
     If sorteo=1 Then horientacion_bashful=3 Else horientacion_bashful=1
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=2 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     
     EndIf
    EndIf
    If Abs(x_pokey-posx(7))<2 And Abs(y_pokey-posy(6))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Then horientacion_pokey=1
     If horientacion_pokey=7 Then horientacion_pokey=Rand(3,4)
     If horientacion_pokey=8 Then horientacion_pokey=Rand(4)
     If horientacion_pokey=6 Then horientacion_pokey=3
     If horientacion_pokey=4 Or horientacion_pokey=2 Then 
     If sorteo=1 Then horientacion_pokey=3 Else horientacion_pokey=1
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=2 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     
     EndIf
    EndIf
    
    ;fila 7----------------------------------------------------------
    
    If Abs(xpacman-posx(4))<2 And Abs(ypacman-posy(7))<2 Then
     If direccion_pacman=3 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2 
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(4))<2 And Abs(y_shadow-posy(7))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Then horientacion_shadow=Rand(2)
     If horientacion_shadow=6 Then horientacion_shadow=Rand(2)
     If horientacion_shadow=7 Then horientacion_shadow=4
     If horientacion_shadow=8 Then horientacion_shadow=Rand(4)
     If horientacion_shadow=3 Then 
     If sorteo=1 Then horientacion_shadow=2 Else horientacion_shadow=4
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=3 Then
     If sorteo=1 Then horientacion_shadow=4 Else horientacion_shadow=2
     EndIf
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     If direccion_shadow=3 Then direccion_shadow=Rand(4)
     While direccion_shadow=3 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    EndIf
    If Abs(x_speedy-posx(4))<2 And Abs(y_speedy-posy(7))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Then horientacion_speedy=Rand(2)
     If horientacion_speedy=6 Then horientacion_speedy=Rand(2)
     If horientacion_speedy=7 Then horientacion_speedy=4
     If horientacion_speedy=8 Then horientacion_speedy=Rand(4)
     If horientacion_speedy=3 Then 
     If sorteo=1 Then horientacion_speedy=2 Else horientacion_speedy=4
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=3 Then
     If sorteo=1 Then horientacion_speedy=4 Else horientacion_speedy=2
     EndIf
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     If direccion_speedy=3 Then direccion_speedy=Rand(4)
     While direccion_speedy=3 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If Abs(x_bashful-posx(4))<2 And Abs(y_bashful-posy(7))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Then horientacion_bashful=Rand(2)
     If horientacion_bashful=6 Then horientacion_bashful=Rand(2)
     If horientacion_bashful=7 Then horientacion_bashful=4
     If horientacion_bashful=8 Then horientacion_bashful=Rand(4)
     If horientacion_bashful=3 Then 
     If sorteo=1 Then horientacion_bashful=2 Else horientacion_bashful=4
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=3 Then
     If sorteo=1 Then horientacion_bashful=4 Else horientacion_bashful=2
     EndIf
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     If direccion_bashful=3 Then direccion_bashful=Rand(4)
     While direccion_bashful=3 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If Abs(x_pokey-posx(4))<2 And Abs(y_pokey-posy(7))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Then horientacion_pokey=Rand(2)
     If horientacion_pokey=6 Then horientacion_pokey=Rand(2)
     If horientacion_pokey=7 Then horientacion_pokey=4
     If horientacion_pokey=8 Then horientacion_pokey=Rand(4)
     If horientacion_pokey=3 Then 
     If sorteo=1 Then horientacion_pokey=2 Else horientacion_pokey=4
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=3 Then
     If sorteo=1 Then horientacion_pokey=4 Else horientacion_pokey=2
     EndIf
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     If direccion_pokey=3 Then direccion_pokey=Rand(4)
     While direccion_pokey=3 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    If Abs(xpacman-posx(7))<2 And Abs(ypacman-posy(7))<2 Then
     If direccion_pacman=3 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2 
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If Abs(x_shadow-posx(7))<2 And Abs(y_shadow-posy(7))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Then horientacion_shadow=Rand(2)
     If horientacion_shadow=6 Then horientacion_shadow=2
     If horientacion_shadow=7 Then horientacion_shadow=4
     If horientacion_shadow=8 Then horientacion_shadow=1
     
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=3 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    EndIf
    If Abs(x_speedy-posx(7))<2 And Abs(y_speedy-posy(7))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Then horientacion_speedy=Rand(2)
     If horientacion_speedy=6 Then horientacion_speedy=2
     If horientacion_speedy=7 Then horientacion_speedy=4
     If horientacion_speedy=8 Then horientacion_speedy=1
     
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=3 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If Abs(x_bashful-posx(7))<2 And Abs(y_bashful-posy(7))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Then horientacion_bashful=Rand(2)
     If horientacion_bashful=6 Then horientacion_bashful=2
     If horientacion_bashful=7 Then horientacion_bashful=4
     If horientacion_bashful=8 Then horientacion_bashful=1
     
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=3 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If Abs(x_pokey-posx(7))<2 And Abs(y_pokey-posy(7))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Then horientacion_pokey=Rand(2)
     If horientacion_pokey=6 Then horientacion_pokey=2
     If horientacion_pokey=7 Then horientacion_pokey=4
     If horientacion_pokey=8 Then horientacion_pokey=1
     
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=3 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    
    ;fila 8----------------------------------------------------------
    
    If Abs(xpacman-posx(2))<2 And Abs(ypacman-posy(8))<2 Then
     direccion_pacman=0
     If KeyDown(203) Then direccion_pacman=4
     If KeyDown(208) Then direccion_pacman=3
    EndIf
    If Abs(x_shadow-posx(2))<2 And Abs(y_shadow-posy(8))<2 Then
     If direccion_shadow=2 Then direccion_shadow=3
     If direccion_shadow=1 Then direccion_shadow=4
    EndIf
    If Abs(x_speedy-posx(2))<2 And Abs(y_speedy-posy(8))<2 Then
     If direccion_speedy=2 Then direccion_speedy=3
     If direccion_speedy=1 Then direccion_speedy=4
    EndIf
    If Abs(x_bashful-posx(2))<2 And Abs(y_bashful-posy(8))<2 Then
     If direccion_bashful=2 Then direccion_bashful=3
     If direccion_bashful=1 Then direccion_bashful=4
    EndIf
    If Abs(x_pokey-posx(2))<2 And Abs(y_pokey-posy(8))<2 Then
     If direccion_pokey=2 Then direccion_pokey=3
     If direccion_pokey=1 Then direccion_pokey=4
    EndIf
    If Abs(xpacman-posx(3))<2 And Abs(ypacman-posy(8))<2 Then
     If direccion_pacman=4 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2 
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(208) Then direccion_pacman=3
    EndIf
    If Abs(x_shadow-posx(3))<2 And Abs(y_shadow-posy(8))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Then horientacion_shadow=Rand(2)
     If horientacion_shadow=6 Then horientacion_shadow=Rand(2,3)
     If horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow=7 Then horientacion_shadow=3
     If horientacion_shadow=4 Or horientacion_shadow=2 Then 
     If sorteo=1 Then horientacion_shadow=3 Else horientacion_shadow=1
     EndIf
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(3)
     While direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(3)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    EndIf
    If Abs(x_speedy-posx(3))<2 And Abs(y_speedy-posy(8))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Then horientacion_speedy=Rand(2)
     If horientacion_speedy=6 Then horientacion_speedy=Rand(2,3)
     If horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy=7 Then horientacion_speedy=3
     If horientacion_speedy=4 Or horientacion_speedy=2 Then 
     If sorteo=1 Then horientacion_speedy=3 Else horientacion_speedy=1
     EndIf
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(3)
     While direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(3)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If Abs(x_bashful-posx(3))<2 And Abs(y_bashful-posy(8))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Then horientacion_bashful=Rand(2)
     If horientacion_bashful=6 Then horientacion_bashful=Rand(2,3)
     If horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful=7 Then horientacion_bashful=3
     If horientacion_bashful=4 Or horientacion_bashful=2 Then 
     If sorteo=1 Then horientacion_bashful=3 Else horientacion_bashful=1
     EndIf
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(3)
     While direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(3)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If Abs(x_pokey-posx(3))<2 And Abs(y_pokey-posy(8))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Then horientacion_pokey=Rand(2)
     If horientacion_pokey=6 Then horientacion_pokey=Rand(2,3)
     If horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey=7 Then horientacion_pokey=3
     If horientacion_pokey=4 Or horientacion_pokey=2 Then 
     If sorteo=1 Then horientacion_pokey=3 Else horientacion_pokey=1
     EndIf
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(3)
     While direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(3)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    If Abs(xpacman-posx(8))<2 And Abs(ypacman-posy(8))<2 Then
     If direccion_pacman=2 Then direccion_pacman=0
     If KeyDown(203) Then direccion_pacman=4
     If KeyDown(208) Then direccion_pacman=3
     If KeyDown(200) Then direccion_pacman=1
    EndIf
    If Abs(x_shadow-posx(8))<2 And Abs(y_shadow-posy(8))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Or horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow=6 Or horientacion_shadow=7 Then horientacion_shadow=3
     
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(3,4)
     While direccion_shadow=2 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    
    EndIf
    If Abs(x_speedy-posx(8))<2 And Abs(y_speedy-posy(8))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Or horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy=6 Or horientacion_speedy=7 Then horientacion_speedy=3
     
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(3,4)
     While direccion_speedy=2 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If Abs(x_bashful-posx(8))<2 And Abs(y_bashful-posy(8))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Or horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful=6 Or horientacion_bashful=7 Then horientacion_bashful=3
     
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(3,4)
     While direccion_bashful=2 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If Abs(x_pokey-posx(8))<2 And Abs(y_pokey-posy(8))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Or horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey=6 Or horientacion_pokey=7 Then horientacion_pokey=3
     
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(3,4)
     While direccion_pokey=2 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    If Abs(xpacman-posx(9))<2 And Abs(ypacman-posy(8))<2 Then
     direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2 
     If KeyDown(208) Then direccion_pacman=3
    EndIf
    If Abs(x_shadow-posx(9))<2 And Abs(y_shadow-posy(8))<2 Then
     If direccion_shadow=4 Then direccion_shadow=3
     If direccion_shadow=1 Then direccion_shadow=2
    EndIf
    If Abs(x_speedy-posx(9))<2 And Abs(y_speedy-posy(8))<2 Then
     If direccion_speedy=4 Then direccion_speedy=3
     If direccion_speedy=1 Then direccion_speedy=2
    EndIf
    If Abs(x_bashful-posx(9))<2 And Abs(y_bashful-posy(8))<2 Then
     If direccion_bashful=4 Then direccion_bashful=3
     If direccion_bashful=1 Then direccion_bashful=2
    EndIf
    If Abs(x_pokey-posx(9))<2 And Abs(y_pokey-posy(8))<2 Then
     If direccion_pokey=4 Then direccion_pokey=3
     If direccion_pokey=1 Then direccion_pokey=2
    EndIf
    
    ;fila 9----------------------------------------------------------
    
    If (Abs(xpacman-posx(2))<2 Or Abs(xpacman-posx(9))<2) And Abs(ypacman-posy(9))<2 Then
     If direccion_pacman=3 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2 
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If (Abs(x_shadow-posx(2))<2 Or Abs(x_shadow-posx(9))<2) And Abs(y_shadow-posy(9))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=3 Then horientacion_shadow=4
     If horientacion_shadow=6 Then horientacion_shadow=4
     If horientacion_shadow=5 Then horientacion_shadow=Rand(2)
     If horientacion_shadow=7 Then horientacion_shadow=4
     If horientacion_shadow=8 Then horientacion_shadow=1
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(2)
     While direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(2)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    EndIf
    If (Abs(x_speedy-posx(2))<2 Or Abs(x_speedy-posx(9))<2) And Abs(y_speedy-posy(9))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=3 Then horientacion_speedy=4
     If horientacion_speedy=6 Then horientacion_speedy=4
     If horientacion_speedy=5 Then horientacion_speedy=Rand(2)
     If horientacion_speedy=7 Then horientacion_speedy=4
     If horientacion_speedy=8 Then horientacion_speedy=1
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(2)
     While direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(2)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If (Abs(x_bashful-posx(2))<2 Or Abs(x_bashful-posx(9))<2) And Abs(y_bashful-posy(9))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=3 Then horientacion_bashful=4
     If horientacion_bashful=6 Then horientacion_bashful=4
     If horientacion_bashful=5 Then horientacion_bashful=Rand(2)
     If horientacion_bashful=7 Then horientacion_bashful=4
     If horientacion_bashful=8 Then horientacion_bashful=1
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(2)
     While direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(2)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If (Abs(x_pokey-posx(2))<2 Or Abs(x_pokey-posx(9))<2) And Abs(y_pokey-posy(9))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=3 Then horientacion_pokey=4
     If horientacion_pokey=6 Then horientacion_pokey=4
     If horientacion_pokey=5 Then horientacion_pokey=Rand(2)
     If horientacion_pokey=7 Then horientacion_pokey=4
     If horientacion_pokey=8 Then horientacion_pokey=1
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(2)
     While direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(2)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    If (Abs(xpacman-posx(3))<2 Or Abs(xpacman-posx(7))<2) And Abs(ypacman-posy(9))<2 Then
     direccion_pacman=0
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If (Abs(x_shadow-posx(3))<2 Or Abs(x_shadow-posx(7))<2) And Abs(y_shadow-posy(9))<2 Then
     If direccion_shadow=2 Then direccion_shadow=1
     If direccion_shadow=3 Then direccion_shadow=4
    EndIf
    If (Abs(x_speedy-posx(3))<2 Or Abs(x_speedy-posx(7))<2) And Abs(y_speedy-posy(9))<2 Then
     If direccion_speedy=2 Then direccion_speedy=1
     If direccion_speedy=3 Then direccion_speedy=4
    EndIf
    If (Abs(x_bashful-posx(3))<2 Or Abs(x_bashful-posx(7))<2) And Abs(y_bashful-posy(9))<2 Then
     If direccion_bashful=2 Then direccion_bashful=1
     If direccion_bashful=3 Then direccion_bashful=4
    EndIf
    If (Abs(x_pokey-posx(3))<2 Or Abs(x_pokey-posx(7))<2) And Abs(y_pokey-posy(9))<2 Then
     If direccion_pokey=2 Then direccion_pokey=1
     If direccion_pokey=3 Then direccion_pokey=4
    EndIf
    If (Abs(xpacman-posx(4))<2 Or Abs(xpacman-posx(8))<2) And Abs(ypacman-posy(9))<2 Then
     direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2 
     If KeyDown(200) Then direccion_pacman=1
    EndIf
    If (Abs(x_shadow-posx(4))<2 Or Abs(x_shadow-posx(8))<2) And Abs(y_shadow-posy(9))<2 Then
     If direccion_shadow=4 Then direccion_shadow=1
     If direccion_shadow=3 Then direccion_shadow=2
    EndIf
    If (Abs(x_speedy-posx(4))<2 Or Abs(x_speedy-posx(8))<2) And Abs(y_speedy-posy(9))<2 Then
     If direccion_speedy=4 Then direccion_speedy=1
     If direccion_speedy=3 Then direccion_speedy=2
    EndIf
    If (Abs(x_bashful-posx(4))<2 Or Abs(x_bashful-posx(8))<2) And Abs(y_bashful-posy(9))<2 Then
     If direccion_bashful=4 Then direccion_bashful=1
     If direccion_bashful=3 Then direccion_bashful=2
    EndIf
    If (Abs(x_pokey-posx(4))<2 Or Abs(x_pokey-posx(8))<2) And Abs(y_pokey-posy(9))<2 Then
     If direccion_pokey=4 Then direccion_pokey=1
     If direccion_pokey=3 Then direccion_pokey=2
    EndIf
    
    ;fila 10----------------------------------------------------------
    
    If (Abs(xpacman-posx(5))<2 Or Abs(xpacman-posx(6))<2) And Abs(ypacman-posy(10))<2 Then
     If direccion_pacman=3 Then direccion_pacman=0
     If KeyDown(205) Then direccion_pacman=2 
     If KeyDown(200) Then direccion_pacman=1
     If KeyDown(203) Then direccion_pacman=4
    EndIf
    If (Abs(x_shadow-posx(5))<2 Or Abs(x_shadow-posx(6))<2) And Abs(y_shadow-posy(10))<2 Then
     If bloqueo=0 Then
     bloqueo=bloqueo+20
     sorteo=Rand(2)
     direccion_shadow=0
     If horientacion_shadow=5 Then horientacion_shadow=Rand(4)
     If horientacion_shadow=8 Then horientacion_shadow=Rand(4)
     If horientacion_shadow<5 Then direccion_shadow=horientacion_shadow
    
     If direccion_shadow=direccion_inversa_shadow Then direccion_shadow=Rand(4)
     While direccion_shadow=3 Or direccion_shadow=direccion_inversa_shadow
     direccion_shadow=Rand(4)
     Wend
     If status_fantasmas(1)=2 Then direccion_shadow=1
     EndIf
    EndIf
    If (Abs(x_speedy-posx(5))<2 Or Abs(x_speedy-posx(6))<2) And Abs(y_speedy-posy(10))<2 Then
     If bloqueo2=0 Then
     bloqueo2=bloqueo2+20
     sorteo=Rand(2)
     direccion_speedy=0
     If horientacion_speedy=5 Then horientacion_speedy=Rand(4)
     If horientacion_speedy=8 Then horientacion_speedy=Rand(4)
     If horientacion_speedy<5 Then direccion_speedy=horientacion_speedy
    
     If direccion_speedy=direccion_inversa_speedy Then direccion_speedy=Rand(4)
     While direccion_speedy=3 Or direccion_speedy=direccion_inversa_speedy
     direccion_speedy=Rand(4)
     Wend
     If status_fantasmas(2)=2 Then direccion_speedy=1
     EndIf
    EndIf
    If (Abs(x_bashful-posx(5))<2 Or Abs(x_bashful-posx(6))<2) And Abs(y_bashful-posy(10))<2 Then
     If bloqueo3=0 Then
     bloqueo3=bloqueo3+20
     sorteo=Rand(2)
     direccion_bashful=0
     If horientacion_bashful=5 Then horientacion_bashful=Rand(4)
     If horientacion_bashful=8 Then horientacion_bashful=Rand(4)
     If horientacion_bashful<5 Then direccion_bashful=horientacion_bashful
    
     If direccion_bashful=direccion_inversa_bashful Then direccion_bashful=Rand(4)
     While direccion_bashful=3 Or direccion_bashful=direccion_inversa_bashful
     direccion_bashful=Rand(4)
     Wend
     If status_fantasmas(3)=2 Then direccion_bashful=1
     EndIf
    EndIf
    If (Abs(x_pokey-posx(5))<2 Or Abs(x_pokey-posx(6))<2) And Abs(y_pokey-posy(10))<2 Then
     If bloqueo4=0 Then
     bloqueo4=bloqueo4+20
     sorteo=Rand(2)
     direccion_pokey=0
     If horientacion_pokey=5 Then horientacion_pokey=Rand(4)
     If horientacion_pokey=8 Then horientacion_pokey=Rand(4)
     If horientacion_pokey<5 Then direccion_pokey=horientacion_pokey
    
     If direccion_pokey=direccion_inversa_pokey Then direccion_pokey=Rand(4)
     While direccion_pokey=3 Or direccion_pokey=direccion_inversa_pokey
     direccion_pokey=Rand(4)
     Wend
     If status_fantasmas(4)=2 Then direccion_pokey=1
     EndIf
    EndIf
    
    ;---fin de los ejes---
    
    .desplazamientos
    If pacman_status=1 Then
    
     If direccion_pacman=1 And KeyDown(208) Then direccion_pacman=3
     If direccion_pacman=2 And KeyDown(203) Then direccion_pacman=4
     If direccion_pacman=3 And KeyDown(200) Then direccion_pacman=1
     If direccion_pacman=4 And KeyDown(205) Then direccion_pacman=2
    
     If direccion_pacman=1 Then ypacman=ypacman-temp_velocidad 
     If direccion_pacman=2 Then xpacman=xpacman+temp_velocidad 
     If direccion_pacman=3 Then ypacman=ypacman+temp_velocidad 
     If direccion_pacman=4 Then xpacman=xpacman-temp_velocidad 
     
     If direccion_shadow=1 Then y_shadow=y_shadow-temp_velocidad_shadow
     If direccion_shadow=2 Then x_shadow=x_shadow+temp_velocidad_shadow
     If direccion_shadow=3 Then y_shadow=y_shadow+temp_velocidad_shadow
     If direccion_shadow=4 Then x_shadow=x_shadow-temp_velocidad_shadow
     
     If direccion_speedy=1 Then y_speedy=y_speedy-temp_velocidad_speedy
     If direccion_speedy=2 Then x_speedy=x_speedy+temp_velocidad_speedy
     If direccion_speedy=3 Then y_speedy=y_speedy+temp_velocidad_speedy
     If direccion_speedy=4 Then x_speedy=x_speedy-temp_velocidad_speedy
     
     If direccion_bashful=1 Then y_bashful=y_bashful-temp_velocidad_bashful
     If direccion_bashful=2 Then x_bashful=x_bashful+temp_velocidad_bashful
     If direccion_bashful=3 Then y_bashful=y_bashful+temp_velocidad_bashful
     If direccion_bashful=4 Then x_bashful=x_bashful-temp_velocidad_bashful
     
     If direccion_pokey=1 Then y_pokey=y_pokey-temp_velocidad_pokey
     If direccion_pokey=2 Then x_pokey=x_pokey+temp_velocidad_pokey
     If direccion_pokey=3 Then y_pokey=y_pokey+temp_velocidad_pokey
     If direccion_pokey=4 Then x_pokey=x_pokey-temp_velocidad_pokey
    EndIf
    
    .pantalla
     ;impresión en pantalla 
    DrawImage pantalla,182,1,0
    
    ;---dibujando bolas---------------------------------------------------------------------------------------------------------
    
    For z=1 To 26
     If z<>13 And z<>14 Then
     DrawImage bolas(z),posx(1)+(z*17.35)-8,posy(1)+10
     If ImagesCollide(bolas(z),posx(1)+(z*17.35)-8,posy(1)+10,0,pacman,xpacman,ypacman,14) Then 
     bolas(z)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 26 bolas
    
    For z=1 To 26
     DrawImage bolas(z+26),posx(1)+(z*17.35)-8,posy(2)+10
     If ImagesCollide(bolas(z+26),posx(1)+(z*17.35)-8,posy(2)+10,0,pacman,xpacman,ypacman,14) Then 
     bolas(z+26)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
    Next ;llevo 50 bolas
    For z=1 To 26
     If z<>7 And z<>8 And z<>13 And z<>14 And z<>19 And z<>20 Then
     DrawImage bolas(z+52),posx(1)+(z*17.35)-8,posy(3)+10
     If ImagesCollide(bolas(z+52),posx(1)+(z*17.35)-8,posy(3)+10,0,pacman,xpacman,ypacman,14) Then 
     bolas(z+52)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 70 bolas
    For z=1 To 26
     If z<>13 And z<>14 Then
     DrawImage bolas(z+78),posx(1)+(z*17.35)-8,posy(7)+10
     If ImagesCollide(bolas(z+78),posx(1)+(z*17.35)-8,posy(7)+10,0,pacman,xpacman,ypacman,14) Then 
     bolas(z+78)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 94 bolas
    For z=1 To 26
     If z<>1 And z<>4 And z<>5 And z<>22 And z<>23 And z<>26 And z<>13 And z<>14 Then
     DrawImage bolas(z+104),posx(1)+(z*17.35)-8,posy(8)+10
     If ImagesCollide(bolas(z+104),posx(1)+(z*17.35)-8,posy(8)+10,0,pacman,xpacman,ypacman,14) Then 
     bolas(z+104)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 112 bolas
    For z=1 To 26
     If z<>7 And z<>8 And z<>13 And z<>14 And z<>19 And z<>20 Then
     DrawImage bolas(z+130),posx(1)+(z*17.35)-8,posy(9)+10
     If ImagesCollide(bolas(z+130),posx(1)+(z*17.35)-8,posy(9)+10,0,pacman,xpacman,ypacman,14) Then 
     bolas(z+130)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 132 bolas
    For z=1 To 26
     DrawImage bolas(z+156),posx(1)+(z*17.35)-8,posy(10)+10
     If ImagesCollide(bolas(z+156),posx(1)+(z*17.35)-8,posy(10)+10,0,pacman,xpacman,ypacman,14) Then 
     bolas(z+156)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
    Next ;llevo 156 bolas
    
    ;-bolas grandes
    DrawImage granbolas(1),posx(1)+9,posy(1)+10+(2*18.17)
     If ImagesCollide(granbolas(1),posx(1)+9,posy(1)+10+(2*18.17),0,pacman,xpacman,ypacman,14) Then 
     granbolas(1)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+50
     StopChannel(fantasmas_azules)
     PlaySound come : status_fantasma=0 : fantasmas_azules=PlaySound(azules) : StopChannel(andando)
     contador_velocidad=0
     contador_fantasmas=0
     temp_frame=26
     If status_fantasmas(1)=1 Then direccion_shadow=direccion_inversa_shadow
     If status_fantasmas(2)=1 Then direccion_speedy=direccion_inversa_speedy
     If status_fantasmas(3)=1 Then direccion_bashful=direccion_inversa_bashful
     If status_fantasmas(4)=1 Then direccion_pokey=direccion_inversa_pokey
     For n=1 To 4
     If status_fantasmas(n)=1 Then status_fantasmas(n)=0
     Next
     EndIf
    DrawImage granbolas(2),posx(10)+7,posy(1)+10+(2*18.17)
     If ImagesCollide(granbolas(2),posx(10)+9,posy(1)+10+(2*18.17),0,pacman,xpacman,ypacman,14) Then 
     granbolas(2)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+50
     StopChannel(fantasmas_azules)
     PlaySound come : status_fantasma=0 : fantasmas_azules=PlaySound(azules) : StopChannel(andando)
     contador_velocidad=0
     contador_fantasmas=0
     temp_frame=26
     If status_fantasmas(1)=1 Then direccion_shadow=direccion_inversa_shadow
     If status_fantasmas(2)=1 Then direccion_speedy=direccion_inversa_speedy
     If status_fantasmas(3)=1 Then direccion_bashful=direccion_inversa_bashful
     If status_fantasmas(4)=1 Then direccion_pokey=direccion_inversa_pokey
     For n=1 To 4
     If status_fantasmas(n)=1 Then status_fantasmas(n)=0
     Next
     EndIf
    DrawImage granbolas(3),posx(1)+(1*17.35)-8,posy(8)+10
     If ImagesCollide(granbolas(3),posx(1)+(1*17.35)-8,posy(8)+10,0,pacman,xpacman,ypacman,14) Then 
     granbolas(3)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+50
     StopChannel(fantasmas_azules)
     PlaySound come : status_fantasma=0 : fantasmas_azules=PlaySound(azules) : StopChannel(andando)
     contador_velocidad=0
     contador_fantasmas=0
     temp_frame=26
     If status_fantasmas(1)=1 Then direccion_shadow=direccion_inversa_shadow
     If status_fantasmas(2)=1 Then direccion_speedy=direccion_inversa_speedy
     If status_fantasmas(3)=1 Then direccion_bashful=direccion_inversa_bashful
     If status_fantasmas(4)=1 Then direccion_pokey=direccion_inversa_pokey
     For n=1 To 4
     If status_fantasmas(n)=1 Then status_fantasmas(n)=0
     Next
     EndIf
    DrawImage granbolas(4),posx(10)+8,posy(8)+10
     If ImagesCollide(granbolas(4),posx(10)+8,posy(8)+10,0,pacman,xpacman,ypacman,14) Then 
     granbolas(4)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+50
     StopChannel(fantasmas_azules)
     PlaySound come : status_fantasma=0 : fantasmas_azules=PlaySound(azules) : StopChannel(andando)
     contador_velocidad=0
     contador_fantasmas=0
     temp_frame=26
     If status_fantasmas(1)=1 Then direccion_shadow=direccion_inversa_shadow
     If status_fantasmas(2)=1 Then direccion_speedy=direccion_inversa_speedy
     If status_fantasmas(3)=1 Then direccion_bashful=direccion_inversa_bashful
     If status_fantasmas(4)=1 Then direccion_pokey=direccion_inversa_pokey
     For n=1 To 4
     If status_fantasmas(n)=1 Then status_fantasmas(n)=0
     Next
     EndIf
    
    For z=1 To 27;comienza el eje y
     If z=1 Or z=3 Or z=5 Or z=6 Or z=20 Or z=21 Or z=26 Or z=27 Then
     DrawImage bolas(z+182),posx(1)+9,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+182),posx(1)+9,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+182)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 164 bolas
    For z=1 To 27
     If z=24 Or z=23 Then
     DrawImage bolas(z+209),posx(2)+9,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+209),posx(2)+9,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+209)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 166 bolas
    For z=1 To 27
     If z=1 Or z=2 Or z=3 Or z=5 Or z=6 Or (z>7 And z<19) Or z=20 Or z=21 Or z=23 Or z=24 Then
     DrawImage bolas(z+236),posx(3)+8,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+236),posx(3)+8,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+236)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 186 bolas
    For z=1 To 27
     If z=24 Or z=23 Or z=5 Or z=6 Then
     DrawImage bolas(z+263),posx(4)+7,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+263),posx(4)+6,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+263)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 190 bolas
    For z=1 To 27
     If z=1 Or z=2 Or z=3 Or z=26 Or z=27 Or z=20 Or z=21 Then
     DrawImage bolas(z+290),posx(5)+7,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+290),posx(5)+6,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+290)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 197 bolas
    For z=1 To 27
     If z=1 Or z=2 Or z=3 Or z=26 Or z=27 Or z=20 Or z=21 Then
     DrawImage bolas(z+317),posx(6)+6,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+317),posx(6)+5,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+317)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 204 bolas
    For z=1 To 27
     If z=24 Or z=23 Or z=5 Or z=6 Then
     DrawImage bolas(z+344),posx(7)+6,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+344),posx(7)+5,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+344)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 208 bolas
    For z=1 To 27
     If z=1 Or z=2 Or z=3 Or z=5 Or z=6 Or (z>7 And z<19) Or z=20 Or z=21 Or z=23 Or z=24 Then
     DrawImage bolas(z+371),posx(8)+6,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+371),posx(8)+5,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+371)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 228 bolas
    For z=1 To 27
     If z=24 Or z=23 Then
     DrawImage bolas(z+398),posx(9)+5,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+398),posx(9)+5,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+398)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 230 bolas
    For z=1 To 27
     If z=1 Or z=3 Or z=5 Or z=6 Or z=20 Or z=21 Or z=26 Or z=27 Then
     DrawImage bolas(z+425),posx(10)+7,posy(1)+10+(z*18.17)
     If ImagesCollide(bolas(z+425),posx(10)+5,posy(1)+10+(z*18.17),0,pacman,xpacman,ypacman,14) Then 
     bolas(z+425)=CopyImage(nullimage) :total_bolas=total_bolas-1 : puntos=puntos+10
     PlaySound come
     contador_velocidad=0
     EndIf
     EndIf
    Next ;llevo 240 bolas
    
    ;frutas---------------------------------------
    If (fruta_activa=1 Or fruta_activa=2) And contador_fruta>1000 Then
     DrawImage frutas,posx(5)+26,posy(6),fruta_level
     If ImagesCollide(frutas,posx(5)+26,posy(6),0,pacman,xpacman,ypacman,14) Then 
     puntos=puntos+puntos_fruta
     fruta_activa=fruta_activa+1
     contador_fruta=0 
     PlaySound come_fruta
     display_puntos=1
     EndIf
    EndIf
    ;----------------------------------------------------------------------------------------------------------------------------
    
    .OSD
    If vidas>0 Then DrawImage pacman,xpacman,ypacman,frame_pacman
    If skipframe_muerte<60 And vidas>0 Then
     DrawImage shadow,x_shadow,y_shadow,frame_shadow
     DrawImage speedy,x_speedy,y_speedy,frame_speedy
     DrawImage bashful,x_bashful,y_bashful,frame_bashful
     DrawImage pokey,x_pokey,y_pokey,frame_pokey
    EndIf
    If display_puntos>0 Then
     DrawImage frutas,posx(5)+26,posy(6),fruta_level+8
    EndIf
    If display_puntos_fantasmas>0 Then
     DrawImage pacman,temp_x,temp_y,temp_frame
     If display_puntos_fantasmas=10 Then Delay 700
    EndIf
    For z=1 To level
     If z=1 Or z=2 Then x=z
     If z=3 Or z=4 Then x=3
     If z=5 Or z=6 Then x=4
     If z=7 Or z=8 Then x=5
     If z=9 Or z=10 Then x=6
     If z=11 Or z=12 Then x=7
     If z>12 Then x=0
     DrawImage frutas,posx(10)-z*32,posy(10)+40,x
    Next
    For z=2 To vidas
     If vidas>1 Then DrawImage pacman,posx(1)+z*32-75,posy(10)+45,15 
    Next
    
    ;SCORE
    If puntos>record Then record=puntos
    
    Color 200,200,200
    Text 90,10,"SCORE",True
    Text 90,40,puntos,True
    
    Text 90,80,"HI-SCORE",True
    Text 90,110,record,True
    
    Text 100,posy(10),"LEVEL ",True
    Text 90,posy(10)+25,Int(level),True
    FlushKeys()
    If vidas=0 Then 
     fileout=WriteFile("data.dat")
     WriteInt(fileout,record)
     CloseFile(fileout)
     Color 255,255,0 :StopChannel(andando): Text posx(5)-32,posy(6)+8,"GAME OVER" :Flip : Delay 1000 :WaitKey() : Goto menu
    EndIf
    
    WaitTimer(frametimer)
    Flip
    
    Wend
    
    ;------fin del bucle---------
    End
    .animación
    ;---animación del pacman
    skipframe_pacman=skipframe1/7
    
    If skipframe_fantasma>15 And direccion_shadow=4 Then frame_shadow=4
    If skipframe_fantasma>15 And direccion_shadow=1 Then frame_shadow=0
    If skipframe_fantasma>15 And direccion_shadow=2 Then frame_shadow=6
    If skipframe_fantasma>15 And direccion_shadow=3 Then frame_shadow=2
    If skipframe_fantasma<15 And direccion_shadow=4 Then frame_shadow=5
    If skipframe_fantasma<15 And direccion_shadow=1 Then frame_shadow=1
    If skipframe_fantasma<15 And direccion_shadow=2 Then frame_shadow=7
    If skipframe_fantasma<15 And direccion_shadow=3 Then frame_shadow=3
    If skipframe_fantasma<15 And status_fantasmas(1)=0 Then frame_shadow=32
    If skipframe_fantasma>15 And status_fantasmas(1)=0 Then frame_shadow=33
    If skipframe_fantasma<15 And status_fantasmas(1)=0 And contador_fantasmas>600 Then frame_shadow=33
    If skipframe_fantasma>15 And status_fantasmas(1)=0 And contador_fantasmas>600 Then frame_shadow=34
    If eyes(1)=1 And direccion_shadow=1 Then frame_shadow=40
    If eyes(1)=1 And direccion_shadow=3 Then frame_shadow=41
    If eyes(1)=1 And direccion_shadow=4 Then frame_shadow=42
    If eyes(1)=1 And direccion_shadow=2 Then frame_shadow=43
    
    If skipframe_fantasma>15 And direccion_speedy=4 Then frame_speedy=4+8
    If skipframe_fantasma>15 And direccion_speedy=1 Then frame_speedy=0+8
    If skipframe_fantasma>15 And direccion_speedy=2 Then frame_speedy=6+8
    If skipframe_fantasma>15 And direccion_speedy=3 Then frame_speedy=2+8
    If skipframe_fantasma<15 And direccion_speedy=4 Then frame_speedy=5+8
    If skipframe_fantasma<15 And direccion_speedy=1 Then frame_speedy=1+8
    If skipframe_fantasma<15 And direccion_speedy=2 Then frame_speedy=7+8
    If skipframe_fantasma<15 And direccion_speedy=3 Then frame_speedy=3+8
    If skipframe_fantasma<15 And status_fantasmas(2)=0 Then frame_speedy=32
    If skipframe_fantasma>15 And status_fantasmas(2)=0 Then frame_speedy=33
    If skipframe_fantasma<15 And status_fantasmas(2)=0 And contador_fantasmas>600 Then frame_speedy=33
    If skipframe_fantasma>15 And status_fantasmas(2)=0 And contador_fantasmas>600 Then frame_speedy=34
    If eyes(2)=1 And direccion_speedy=1 Then frame_speedy=40
    If eyes(2)=1 And direccion_speedy=3 Then frame_speedy=41
    If eyes(2)=1 And direccion_speedy=4 Then frame_speedy=42
    If eyes(2)=1 And direccion_speedy=2 Then frame_speedy=43
    
    If skipframe_fantasma>15 And direccion_bashful=4 Then frame_bashful=4+16
    If skipframe_fantasma>15 And direccion_bashful=1 Then frame_bashful=0+16
    If skipframe_fantasma>15 And direccion_bashful=2 Then frame_bashful=6+16
    If skipframe_fantasma>15 And direccion_bashful=3 Then frame_bashful=2+16
    If skipframe_fantasma<15 And direccion_bashful=4 Then frame_bashful=5+16
    If skipframe_fantasma<15 And direccion_bashful=1 Then frame_bashful=1+16
    If skipframe_fantasma<15 And direccion_bashful=2 Then frame_bashful=7+16
    If skipframe_fantasma<15 And direccion_bashful=3 Then frame_bashful=3+16
    If skipframe_fantasma<15 And status_fantasmas(3)=0 Then frame_bashful=32
    If skipframe_fantasma>15 And status_fantasmas(3)=0 Then frame_bashful=33
    If skipframe_fantasma<15 And status_fantasmas(3)=0 And contador_fantasmas>600 Then frame_bashful=33
    If skipframe_fantasma>15 And status_fantasmas(3)=0 And contador_fantasmas>600 Then frame_bashful=34
    If eyes(3)=1 And direccion_bashful=1 Then frame_bashful=40
    If eyes(3)=1 And direccion_bashful=3 Then frame_bashful=41
    If eyes(3)=1 And direccion_bashful=4 Then frame_bashful=42
    If eyes(3)=1 And direccion_bashful=2 Then frame_bashful=43
    
    If skipframe_fantasma>15 And direccion_pokey=4 Then frame_pokey=4+24
    If skipframe_fantasma>15 And direccion_pokey=1 Then frame_pokey=0+24
    If skipframe_fantasma>15 And direccion_pokey=2 Then frame_pokey=6+24
    If skipframe_fantasma>15 And direccion_pokey=3 Then frame_pokey=2+24
    If skipframe_fantasma<15 And direccion_pokey=4 Then frame_pokey=5+24
    If skipframe_fantasma<15 And direccion_pokey=1 Then frame_pokey=1+24
    If skipframe_fantasma<15 And direccion_pokey=2 Then frame_pokey=7+24
    If skipframe_fantasma<15 And direccion_pokey=3 Then frame_pokey=3+24
    If skipframe_fantasma<15 And status_fantasmas(4)=0 Then frame_pokey=32
    If skipframe_fantasma>15 And status_fantasmas(4)=0 Then frame_pokey=33
    If skipframe_fantasma<15 And status_fantasmas(4)=0 And contador_fantasmas>600 Then frame_pokey=33
    If skipframe_fantasma>15 And status_fantasmas(4)=0 And contador_fantasmas>600 Then frame_pokey=34
    If eyes(4)=1 And direccion_pokey=1 Then frame_pokey=40
    If eyes(4)=1 And direccion_pokey=3 Then frame_pokey=41
    If eyes(4)=1 And direccion_pokey=4 Then frame_pokey=42
    If eyes(4)=1 And direccion_pokey=2 Then frame_pokey=43
    
    If pacman_status=1 Then
     If direccion_pacman=2 Then
     If skipframe_pacman<1 Then frame_pacman=2
     If skipframe_pacman=1 Then frame_pacman=3
     If skipframe_pacman=2 Then frame_pacman=4
     EndIf
     If direccion_pacman=4 Then
     If skipframe_pacman<1 Then frame_pacman=2
     If skipframe_pacman=1 Then frame_pacman=0
     If skipframe_pacman=2 Then frame_pacman=1
     EndIf
     If direccion_pacman=1 Then
     If skipframe_pacman<1 Then frame_pacman=2
     If skipframe_pacman=1 Then frame_pacman=5
     If skipframe_pacman=2 Then frame_pacman=6
     EndIf
     If direccion_pacman=3 Then
     If skipframe_pacman<1 Then frame_pacman=2
     If skipframe_pacman=1 Then frame_pacman=8
     If skipframe_pacman=2 Then frame_pacman=9
     EndIf
    EndIf
    If pacman_status=0 Then
     skipframe_muerte=skipframe_muerte+1
     If skipframe_muerte=50 Then frame_pacman=16 : PlaySound dead
     If skipframe_muerte=60 Then frame_pacman=17
     If skipframe_muerte=70 Then frame_pacman=18
     If skipframe_muerte=80 Then frame_pacman=19
     If skipframe_muerte=90 Then frame_pacman=20
     If skipframe_muerte=100 Then frame_pacman=21
     If skipframe_muerte=110 Then frame_pacman=22
     If skipframe_muerte=120 Then frame_pacman=23
     If skipframe_muerte=130 Then frame_pacman=24
     If skipframe_muerte=140 Then frame_pacman=25 
     If skipframe_muerte=160 Then PlaySound pip
     If skipframe_muerte=170 Then frame_pacman=26 : PlaySound pip
     If skipframe_muerte=200 Then 
     frame_pacman=26 : Delay 1000 :skipframe_muerte=0 :vidas=vidas-1
     If contador_fruta>1000 Then fruta_activa=fruta_activa+1
     Goto newlive 
     EndIf
    
    EndIf
    Archivos adjuntados Archivos adjuntados
    Última edición por 3dpoder; 20-11-2012 a las 19:43

  7. #667
    Senior Member Avatar de Damian1985
    Fecha de ingreso
    Nov 2006
    Ubicación
    Ceuta
    Mensajes
    106

    Re: BlitzBasic 3D

    esta esto un poco abandonado

  8. #668
    Miembro Nuevo
    Fecha de ingreso
    Oct 2013
    Mensajes
    1

    Re: BlitzBasic 3D

    Hola Compañeros.

    Soy nuevo en esto de BlitzBasic 3D y tengo muchísimas ganas de aprender.

    Saludos.

  9. #669
    Gran Maese del Cochinillo Avatar de Turriano
    Fecha de ingreso
    Jan 2005
    Ubicación
    Segovia
    Mensajes
    178

    ¿Blitz-Basic para Ubuntu?

    Aprovecho que se reabre el foro, para preguntar si sabéis algo de eso...
    Gracias a todos.
    ¿Para cuando el Soft Libre,
    hará un programa de cad
    y que a ser posible,
    tenga calidad.
    Y que ya no sea imprescindible,
    usar AutoCad?.
    (Cervantes revolviéndose en la tumba).

Página 45 de 45 PrimerPrimer ... 354142434445

Temas similares

  1. Proyecto BlitzBasic: Conquest Online
    Por KiusteR en el foro Videojuegos
    Respuestas: 93
    Último mensaje: 16-12-2009, 09:40

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •