Posted: 22nd Aug 2011 6:05
I was Wondering if anyone could please help me with figuring out how to make an enemy chase the player(top down).

Thanks
Posted: 22nd Aug 2011 9:43
Hi, here's a DBPro code snippet of what I think your after. I wrote it a very long time ago and haven't converted it to AppGameKit yet.

+ Code Snippet
Rem Project: Dark Basic Pro Project
Rem Created: Monday, August 22, 2011

Rem ***** Main Source File *****
Rem ***** Main Source File *****
sync on : sync rate 60

// create type
type object
    x as float
    y as float
    xspeed as float
    yspeed as float
endtype

// create objects
player as object
com as object

// set player values
player.x = 100.00
player.y = 240.00
player.xspeed = 2.00
player.yspeed = 2.00

// set computer's values
com.x = 400.00
com.y = 240.00
com.xspeed = 1.00
com.yspeed = 1.00

// distance
distance as float

do
    cls
    // move player
    if upkey()=1 then dec player.y, player.yspeed
    if downkey()=1 then inc player.y, player.yspeed
    if leftkey()=1 then dec player.x, player.xspeed
    if rightkey()=1 then inc player.x, player.xspeed
    
    // get distance
    distance = get_distance(player.x, com.x, player.y, com.y)
    
    // move computer towards player
    if distance > 10.00
        com.xspeed = ((player.x - com.x)/distance)
        com.yspeed = ((player.y - com.y)/distance)
    else 
        com.xspeed = 1.00
        com.yspeed = 1.00
    endif
    
    inc com.x, com.xspeed
    inc com.y, com.yspeed
    
    text 0, 0, "You are red, use arrowkeys to move around"
    
    ink rgb(255,0,0), 0
    circle int(player.x), int(player.y), 10
    
    ink rgb(0, 255, 0), 0
    circle int(com.x), int(com.y), 10
    
    sync
loop

function get_distance( x1 as float , x2 as float , y1 as float , y2 as float )
// distance formula
    distance as float
    distance = sqrt(((x1 - x2)^2) + ((y1 - y2)^2))
endfunction distance
Posted: 22nd Aug 2011 15:30
Thanks a lot this code is exactly what I needed.