sumo.txt

(2 KB) Pobierz
Artem - zawodnik sumo (wymaga drobnych poprawek , ale mi go zaliczy³)

if (decyzja=='Y' || decyzja=='y') {

// NXT::Sensor::SetSonar(&comm, IN_4);
//cout<<"SonarValue = "<<NXT::Sensor::GetSonarValue(&comm, IN_4);
//NXT::Sensor::SetSonarOff(&comm, IN_4);


bool flag = true;
bool find = true;
bool closed = false;

char c;

int bright;
int dark;
int mean;

NXT::Motor::SetForward(&comm, OUT_B, 20);
NXT::Motor::SetForward(&comm, OUT_C, 20);
NXT::Sensor::SetLight(&comm, IN_3, 1);
Wait(50);

bright = NXT::Sensor::GetValue(&comm, IN_3);

while (flag) {
Wait(50);

if (NXT::Sensor::GetValue(&comm, IN_3) < 50) {
NXT::Motor::SetForward(&comm, OUT_B, 0);
NXT::Motor::SetForward(&comm, OUT_C, 0);

dark = NXT::Sensor::GetValue(&comm, IN_3);
mean = (bright + dark)/2;

flag = false;
}
}

while (true) {
if (NXT::Sensor::GetValue(&comm, IN_3) < mean) {
int delay = rand() % 2000 + 100;

NXT::Motor::SetForward(&comm, OUT_B, 20);
NXT::Motor::SetForward(&comm, OUT_C, 0);

Wait (delay);

if(closed)
{

NXT::Motor::SetForward(&comm, OUT_B, 0);
NXT::Motor::SetForward(&comm, OUT_C, 0);

NXT::Motor::SetForward(&comm, OUT_A, 10);
Wait(1000);
NXT::Motor::Stop(&comm, OUT_A, 0);

closed = false;
}
}


NXT::Sensor::SetSonar(&comm, IN_4);
if (!closed && NXT::Sensor::GetSonarValue(&comm, IN_4) < 15) {
NXT::Motor::SetForward(&comm, OUT_A, -10);
Wait(1000);
NXT::Motor::Stop(&comm, OUT_A, 0);
closed = true;
}
NXT::Sensor::SetSonarOff(&comm, IN_4);

Wait(100);

NXT::Motor::SetForward(&comm, OUT_B, 20);
NXT::Motor::SetForward(&comm, OUT_C, 20);

if(kbhit()==true) {
c=getch();
}

if (c == 'k') {
NXT::Sensor::SetLight(&comm, IN_3, 0);
NXT::Motor::SetForward(&comm, OUT_B, 0);
NXT::Motor::SetForward(&comm, OUT_C, 0);
NXT::Sensor::SetSonarOff(&comm, IN_4);
break;
}
}

if(kbhit()==true) {
c=getch();
}

if (c == 'k') {
NXT::Sensor::SetLight(&comm, IN_3, 0);
NXT::Motor::SetForward(&comm, OUT_B, 0);
NXT::Motor::SetForward(&comm, OUT_C, 0);
NXT::Sensor::SetSonarOff(&comm, IN_4);
break;
}

break;

}
Zgłoś jeśli naruszono regulamin