#define FOGO OUT_C #define BAL OUT_A #define JOBB OUT_B #define KOVETO SENSOR_3 #define INTENSITY_DIFF 40 #define OBJECT_SENSOR SENSOR_1 #define FOGO_IDO 200 int i; int talalt=0; int megvan=0; int defaultLightIntensity; int blackline; void Open() { // fogo nyit OnFwd(FOGO); Wait(FOGO_IDO); Off(FOGO); } void Close() { // fogo zar OnRev(FOGO); Wait(FOGO_IDO-100); Off(FOGO); } void recognizeObject() { if (OBJECT_SENSOR > defaultLightIntensity + INTENSITY_DIFF) { talalt=1; Off(BAL+JOBB); Close(); } } void vonalkereses() { OnFwd(BAL+JOBB); while(KOVETO < i) { recognizeObject(); if (talalt==1) {Off(BAL+JOBB);Close();return;} } Off(BAL+JOBB); // megvan a fekete csik,most fogom kovetni } void vonalkovetes() { OnFwd(BAL+JOBB); while(KOVETO < blackline) { } Off(BAL+JOBB); while(true) { if (KOVETO > blackline) { Off(JOBB); OnFwd(BAL); } if (KOVETO < blackline) { Off(BAL); OnFwd(JOBB); } } } task main() { SetPower(BAL,2); SetPower(JOBB,2); SetPower(FOGO,1); SetSensorType(KOVETO,SENSOR_TYPE_LIGHT); SetSensorMode(KOVETO,SENSOR_MODE_RAW); SetSensorType(OBJECT_SENSOR,SENSOR_TYPE_LIGHT); SetSensorMode(OBJECT_SENSOR,SENSOR_MODE_RAW); defaultLightIntensity = OBJECT_SENSOR; blackline=KOVETO+30; Open(); vonalkereses(); while (talalt==0) { OnFwd(BAL); OnRev(JOBB); Wait(120); Off(BAL+JOBB); vonalkereses(); } vonalkovetes(); }