|
THS
|
Robots /
HuntMurphyFindlight// find THE light
{
cr8_adc_enable(ADC_CENTER_1);
cr8_adc_enable(ADC_CENTER_2);
cr8_adc_enable(ADC_LEFT_1);
cr8_adc_enable(ADC_LEFT_2);
while (intime) && (safe))
{
cr8_update(cr8);
while ((cr8->adc_center2<100) && (safe) && (intime) && (!cr8->bumper_right) && (!cr8->bumper_left))
{
cr8_drive_direct(cr8->adc_center1, cr8->adc_center2);
blink_display (cr8->adc_center1, 0, cr8->adc_center2, 0);
lightmeter = cr8->adc_center2;
cr8_update(cr8);
}
if (((cr8 -> bumper_right) || ((cr8 -> bumper_right) && (cr8 -> bumper_left))) && (safe) && (intime)) rightbumper();
if ((cr8 -> bumper_left) && (!cr8 -> bumper_right) && safe && intime) leftbumper();
while ((cr8->adc_center2>100) && (cr8->adc_center2 > lightmeter) && (safe) && (intime))
{
cr8_drive_direct(100,100);
if (((cr8 -> bumper_right) || ((cr8 -> bumper_right) && (cr8 -> bumper_left))) && (safe) && (intime)) spin(-50,50);
if ((cr8 -> bumper_left) && (!cr8 -> bumper_right) && safe && intime) spin(50,-50);
lightmeter = cr8->adc_center2;
cr8_update(cr8);
}
if(cr8->adc_center2 < lightmeter) spin(-50,50);
if((cr8->adc_center1> 540) && (cr8->adc_center2> 140) && (safe) && (intime) && (!cr8->bumper_right) && (!cr8->bumper_left))
{
cr8_drive(0,0);
return;
}
}
}
{
cr8_adc_enable(ADC_CENTER_1);
cr8_adc_enable(ADC_CENTER_2);
cr8_adc_enable(ADC_LEFT_1);
cr8_adc_enable(ADC_LEFT_2);
lightmeter1 = cr8 -> adc_center1;
lightmeter2 = cr8 -> adc_center2;
while(((cr8->adc_center1<lightmeter1)&&(cr8->adc_center2<lightmeter2))&&(safe)&&(intime))
{
lightmeter1 = cr8->adc_center1;
lightmeter2 = cr8->adc_center2;
blink_display(cr8->adc_center2, cr8->adc_center1, lighmeter, cr8_stopwatch_time());
cr8_drive_direct(l,r);
cr8_update(cr8);
}
return;
}
|