[gml]
do { //empezamos con que "puesto" no es igual a "1"
//tenemos una grid por toda la room (1280x720) en 3600 piezas de 16x16, teniendo un total de piezas de 80x45
xx = random(80)*16; //una posición en la x... 0*16 = 0; 1*16 = 16; 2*16 = 32; 48; 96; etc... todo perfect
yy = random(45)*16; //lo mismo en y
if !place_meeting(xx,yy,ocruz) //si no hay una pieza igual (ya que se colocará un objeto "ocruz")
&& !place_meeting(xx,yy,odompoint) { //y tampoco hay otro objeto que no interesa colisión...
pl = instance_create(xx,yy,ocruz); //lo pongo
pl.team = team; //le asigno una var para el team..
team++; //subo 1 al team para asignárselo a la siguiente pieza
puesto = 1; //lo pongo a 1 para que no siga rastreando hueco libre en la grid...
}
}
until puesto == 1; //para que siga el "do" mientras haya un hueco ocupado y no coloque la pieza "ocruz"..[/gml]
No encuentro el error, el caso es que, me coloca las piezas, pero... no encaja con la grid de 16x16... POR QUÉ?!?!?! :S
imagen de como salen las fichas..
https://gyazo.com/f231afbebadcbb0e39c642c9c429fc7f
PD: cabe destacar.. el origin de los recuadros de abajo (16x16) y de las fichas (16x16) son el mismo: x:0 y:0
veamos que FAIL es el de hoy..... xd gracias :B
random(X) -> irandom(X) o round(random(X)). El random normal devuelve decimales infinitos y nunca quedará exactamente en posiciones fijas aún tras multiplicar, así que toca redondear
Ya te lo dije por FB pero me hacía ilusión (?)
Como siempre... MEGA FAIL xD
mi cerebro mengua xD
Grachie amore! :B