Este es el código:
import "mod_key";
import "mod_map";
import "mod_video";
import "Mod_proc";
import "Mod_screen";
import "Mod_draw";
import "Mod_grproc";
import "Mod_rand";
const
cResX = 800;
cResY = 600;
end;
global
int gNumActors = 1000;
int gActorMap;
end;
process main()
private
int i;
begin
set_mode(cResX,cResY,16);
set_fps(0,0);
gActorMap = map_new(16,16,16,0);
map_clear(0,gActorMap,126);
from i=0 to gNumActors;
actor();
end;
repeat
frame;
until(key(_ESC));
let_me_alone();
end;
process actor()
private
int incX;
int incY;
begin
graph = gActorMap;
x = rand(0,cResX);
y = rand(0,cResY);
!rand(0,1) ? incX = 1 : incX = -1;
!rand(0,1) ? incY = 1 : incY = -1;
loop
if (x > cResX || x < 0 ) incX *= -1; end;
if (y > cResY || y < 0 ) incY *= -1; end;
x+=incX;
y+=incY;
frame;
end;
end;
La diferencia de velocidad es muy notable. No puedo poner exactamente los FPS porque la consola de PixTudio no tiene implementado el show <variable> todavía (o yo no lo he podido hacer funcionar).