Рассматривали ли вы добавление отладочных операторов (System.out.println) и просмотр консоли Java?
Может быть огромное количество продукции и определенное замедление, но вы можете хотя бы увидеть, что происходит, когда кажется, что ничего не происходит.
Я считаю логической ошибкой заполнение оператора if; на каждой итерации вы выбираете цвет этой итерации и заполняете этим цветом. Только итерации с i == 11, 13 или 17 заполняются цветом. И на следующей итерации этот цвет перезаписывается серым. Я бы подумал, что он может мигать, возможно, быстро видеть.
Разве вы не хотели что-то вроде
public class Main extends PApplet
{
...
int currentColor = gray;
public Main(){}
...
public void draw()
{
if( i % 11 == 0 )
currentColor = green;
else if( i % 13 == 0 )
currentColor = blue;
else if( i % 17 == 0 )
currentColor = pink;
else {
// Use current color
}
fill(currentColor);
...
}
Таким образом, вы начинаете с серого, переходите на зеленый, синий, розовый, зеленый, синий, розовый и т. Д. Если вы
также хочу видеть серый в какой-то момент, вам нужно будет добавить что-то вроде
else if ( i % 19 ) {
currentColor = gray;
}
Надеюсь, это поможет.