První demonstrační aplikace pro simulaci difúze

Zdrojový text metody checkStopCondition()


// -----------------------------------------------------------------------
// Test, zda se má algoritmus generování difúze zastavit.
// -----------------------------------------------------------------------
private boolean checkStopCondition(int iter, int xi, int yi) {
    boolean  flagMaxiter;
    boolean  flagBorder;
    boolean  done;

    flagMaxiter=iter>=maxPoints;                // kontrola počtu iterací
    flagBorder=(xi<2 || xi>(width-2) || yi<4 || yi>(height-2)); // kontrola mezí
    switch (stopCondition) {                    // podle typu ukončovací podmínky
        case StopCondition.Iterations:          // nastavit příznak ukončení
            done=flagMaxiter;
            break;
        case StopCondition.Border:
            done=flagBorder;
            break;
        case StopCondition.And:
            done=flagMaxiter && flagBorder;
            break;
        case StopCondition.Or:
            done=flagMaxiter || flagBorder;
            break;
        default:
            done=true;
            break;
    }
    return done;
}

// -----------------------------------------------------------------------
// Konec metody checkStopCondition().
// -----------------------------------------------------------------------