home *** CD-ROM | disk | FTP | other *** search
- CRobots, Inc.
- John Smolin
- /* KILLER.R by John Smolin */
- /* Combination of Leader (standing stiill) and B2 */
- /* Eventually there will be one which moves instead of corner-sitting */
-
- int range, x, orange, ox, dir;
-
- main()
- {
- drive(270,100);
- x = -239;
- dir = 90;
- while(loc_y() > 35);
- drive(90,0);
- while(speed() > 49);
- drive(0,100);
- while(loc_x() < 965);
- drive(100,0);
- while(damage() < 55)
- {
- x += 329;
- while(!range && (damage() < 55))
- {
- if (range = scan(x += 15, 8))
- {
- x = killit(x);
- }
- else if (x > 180)
- {
- x = 80;
- }
- }
- while(1)
- {
- if (dir == 450)
- {
- dir = 90;
- }
- if (((dir == 90) && (loc_y() > 920)) || ((dir == 270) && (loc_y()
- < 80)) || ((dir == 0) && (loc_x() > 920)) || ((dir == 180) &&
- (loc_x() < 80)))
- {
- drive(dir += 90, 0);
- while(speed() > 49);
- drive(dir, 100);
- }
- if (speed() < 50)
- {
- drive(dir, 100);
- }
- if ((x > dir + 179) && !range)
- {
- x = dir - 25;
- }
- if (range && (range < 701))
- {
- x += 5 - (scan(x - 5, 5) != 0) * 10;
- x += 3 - (scan(x - 3, 3) != 0) * 6;
- orange = range;
- if ((range = scan(x, 10)) > 40)
- {
- cannon(x, range + (range - orange + cos(x - dir) / 2000)
- * range / 325);
- }
- else
- {
- cannon(x, 46);
- }
- }
- else
- {
- range = scan(x += 19, 10);
- }
- }
- }
- }
-
- killit(x)
- {
- cannon(x, range);
- while(range && (range < 700) && (damage() < 55))
- {
- ox = x;
- orange = range;
- x += 4 - (scan(x - 4, 4) != 0) * 8;
- x += 2 - (scan(x - 2, 2) != 0) * 4;
- range = scan(x, 10);
- if (range > 150)
- {
- x += 1 - (scan(x - 1, 1) != 0) * 2;
- if (range)
- {
- cannon(x + (x - ox) * range / 275, range + (range - orange)
- * range / 275);
- }
- }
- else
- {
- if (range < 41 && range)
- {
- range = 41;
- }
- if (range)
- {
- cannon(x, range);
- }
- }
- }
- range = 0;
- return(x);
- }
-