Hirdetés

Új hozzászólás Aktív témák

  • Nagytoll

    senior tag

    Hello! Megint van egy gondom/kérdésem. van ez a kód :
    if ((gx==px) && (gy==py)) {
    while(1) {
    LED_Matrix.displayPic(picDat0);
    if((digitalRead(10)==HIGH) || (digitalRead(11)==HIGH) || (digitalRead(12)==HIGH) || (digitalRead(13)==HIGH)) {
    x = TrueRandom.random(0,8); //x,y -> P1
    y = TrueRandom.random(0,8);
    gx = TrueRandom.random(0,8); //gx, gy ->P3
    gy = TrueRandom.random(0,8);
    px = TrueRandom.random(0,8); //px, py ->P2
    py = TrueRandom.random(0,8);
    delay(1000);
    LED_Matrix.clear();
    break;
    };
    };
    };

    A lényeg az, hogy megy a mátrixon egy pötty(P1) balról jobbra az egyik sorban, van egy másik pötty(P2) random valahol és van egy harmadik pötty(P3) amit lehet irányítani, ha P1 nekimegy P3-nak akkor rendesen működik ez a kód, mármint egy ugyan ilyen, csak az if feltételében az van, hogy ((gx==x) && (gy==y)). Ha viszont P3 megy neki P1-nek (és ugyanígy P2-nek is, ez igazából a cél, P2 "megszerzése") akkor a program vár a delay szerint 1mp-et és magától újraindul/loop elejére megy. Amit normál esetben csinál(ha P1 megy neki P3-nak) az az, hogy csak akkor megy a loop elejére, ha megnyomom a gombot, aztán vár és break. Szerintetek ez miért van?

Új hozzászólás Aktív témák