2.
GML
if collision_point(x,y,o_bloto,1,1) {
if (keyboard_check(ord('A'))) && place_free(x-1,y) {
x-=1
} else
if (keyboard_check(ord('D'))) && place_free(x+1,y) {
x+=1
}
if (keyboard_check(ord('W'))) && place_free(x,y-1) {
y-=1
}
if (keyboard_check(ord('S'))) && place_free(x,y+1) {
y+=1
}
}else{
if (keyboard_check(ord('A'))) && place_free(x-2,y) {
x-=2
} else
if (keyboard_check(ord('D'))) && place_free(x+2,y) {
x+=2
}
if (keyboard_check(ord('W'))) && place_free(x,y-2) {
y-=2
}
if (keyboard_check(ord('S'))) && place_free(x,y+2) {
y+=2
}
}