PROGRAM ejemplo_manejo_individuos; GLOBAL grafico; // Gráfico de los bichos seleccionado; // Qué individuo hemos seleccionado STRUCT bichos[3]; // 4 posiciones para 4 bichos (la 0 también se cuenta) x_dest; y_dest; // Posición a la que se tienen que mover END BEGIN // Se inicializa el modo gráfico graph_mode=mode_16bits; set_mode(m640x480); // Se carga el gráfico de los individuos y del ratón grafico=load_png("bicho.png"); mouse.graph=load_png("raton.png"); // Se llama a los procesos de los individuos bicho(0,0,grafico,0); bicho(0,0,grafico,1); bicho(0,0,grafico,2); bicho(0,0,grafico,3); write(0,10,0,0,"Pulsa 1-4 para seleccionar el individuo"); write(0,10,10,0,"Pulsa el ratón para hacer que un individuo se mueva"); LOOP // Se selecciona el individuo correspondiente IF (key(_1)) seleccionado=0; END IF (key(_2)) seleccionado=1; END IF (key(_3)) seleccionado=2; END IF (key(_4)) seleccionado=3; END // Se pone el destino al pinchar con el ratón IF (mouse.left) bichos[seleccionado].x_dest=mouse.x; bichos[seleccionado].y_dest=mouse.y; END // Para poder salir del programa IF (key(_esc)) exit("",0); END FRAME; END END // Proceso que controla a los individuos // cual -> variable que indica en qué posición de la estructura tiene que mirar PROCESS bicho(x,y,graph,cual); BEGIN LOOP // El individuo se mueve hacia su destino (si hace falta) IF (bichos[cual].x_dest>x) x++; END IF (bichos[cual].x_desty) y++; END IF (bichos[cual].y_dest