I am playing around with @kll ’s above code, except I moved “addNumber();” to void draw();. I guess because draw is continuously running, it keeps adding and adding, but I thought the for loop conditions would stop this!
 kll:
 
so you must roll around your pointer
int along = 14;
int[] myArray = new int [along];
int startingAmount = 4; //initial value in each index
int startingPoint = 10; //starting index
boolean diagp = true;
void initialNumbers() {
  for (int i = 0; i < myArray.length; i ++)  myArray[i] = startingAmount; //sets all to starting amount
}
void addNumber() {
  for (int i = 0; i < startingAmount+1; i++) {
    int j = startingPoint+i;
    if ( j >= myArray.length ) j -= myArray.length;
    myArray[j]++;
    if ( diagp ) println("add i: "+i+ " j: "+j+ " myArray["+j+"]="+myArray[j]);
  }
  myArray[startingPoint] = 0;
}
void setup() {
  initialNumbers();
}
void draw()
{
addNumber();
if ( diagp ) for ( int i = 0; i < myArray.length; i++ ) print(myArray[i]+" , ");
}
 
 
Blockquote
             
            
              1 Like