home *** CD-ROM | disk | FTP | other *** search
- extern void object::Produce( )
- {
- point path[7];
- int i;
- float r;
-
- errmode(0); // ne stoppe pas si erreur
- ipf(10); // 10 instructions / second
- while ( ismovie() != 0 ) wait(1);
-
- path[0].x = cmdline(0);
- path[0].y = cmdline(1);
- path[1].x = cmdline(2);
- path[1].y = cmdline(3);
- path[2].x = cmdline(4);
- path[2].y = cmdline(5);
- path[3].x = cmdline(6);
- path[3].y = cmdline(7);
- path[4].x = cmdline(8);
- path[4].y = cmdline(9);
- path[5].x = cmdline(10);
- path[5].y = cmdline(11);
- path[6].x = cmdline(12);
- path[6].y = cmdline(13);
-
- i = 1;
- while ( true )
- {
- goto(path[i%7]);
-
- if ( rand() < 0.2 ) // attaqueuse 1x / 5
- {
- produce(position, orientation, AlienAnt, "antattsw.txt");
- }
- else
- {
- if ( AlienCount() < 10 )
- {
- r = rand();
- if( r < 0.3 )
- {
- produce(position, orientation, AlienAnt, "antt41.txt");
- }
- if( r >= 0.6 )
- {
- produce(position, orientation, AlienAnt, "antt42.txt");
- }
- if( r < 0.6 and r >= 0.3 )
- {
- produce(position, orientation, AlienAnt, "antt43.txt");
- }
- }
- }
- i ++;
- }
- }
-
- int object::AlienCount()
- {
- object item;
- int total = 0;
- int i = 0;
-
- while ( true )
- {
- item = retobject(i++);
- if ( item == null ) return total;
-
- if ( item.category == AlienAnt )
- {
- total ++;
- }
- }
- }
-