El random toma un valor aleatorio entre 0 y el numero que le das
Osea random(20); darias los valores 0,1.....hasta el 20. Pero en forma aleatoria asea al azar, sin un orden especifico.
Y en el codigo, como te dije (escribi antes) se usa la variable "anyNumber" , que facilmente podria ser un numero en lugar de una variable, pero se usan variables por funcionalidad.
random(anyNumber); este codigo entregaria valores desde 0 hasta el valor que le des a anyNumber y se le asigna a _x y a _y como nuevas posiciones cada vez que el raton "toca" el mc.
Espero te quede mas claro.
Saludos