I am using the adafruit 8x8 neopixel to display a map of travel that

I am using the adafruit 8x8 neopixel to display a map of travel that a robot is making. My problem is my robot is running a serpentine pattern 7x7, but my map is not. Any tips on how to change this? I am a novice so simplicity is key.
thanks

Have you tried the FastLED XYMatrix example?

// Param for different pixel layouts
const bool kMatrixSerpentineLayout = true;
// Set ‘kMatrixSerpentineLayout’ to false if your pixels are
// laid out all running the same way, like this:
//
// 0 > 1 > 2 > 3 > 4
// |
// .<--<--<--
// |
// 5 > 6 > 7 > 8 > 9
// |
// .<--<--<--
// |
// 10 > 11 > 12 > 13 > 14
// |
// .<--<--<--
// |
// 15 > 16 > 17 > 18 > 19
//
// Set ‘kMatrixSerpentineLayout’ to true if your pixels are
// laid out back-and-forth, like this:
//
// 0 > 1 > 2 > 3 > 4
// |
// |
// 9 < 8 < 7 < 6 < 5
// |
// |
// 10 > 11 > 12 > 13 > 14
// |
// |
// 19 < 18 < 17 < 16 < 15

@Jeremy_Spencer
Thanks for the advice but
I have tried to use parts of the xy matrix routine, but my knowledge is limited. Here is an example of my code. Any suggestions would be much appreciated.

#include “FastLED.h”
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include “utility/Adafruit_MS_PWMServoDriver.h”

#define BRIGHTNESS 20
#define NUM_LEDS 64
#define DATA_PIN 3
#define trigPin 11
#define echoPin 12

const int start_buttonPin = 2;
const int stop_buttonPin = 1;

// Define the array of leds
CRGB leds[NUM_LEDS];
int stepsarray[125];

// Create the motor shield object with the default I2C address
Adafruit_MotorShield AFMS = Adafruit_MotorShield();

// connect two steppers, each with 200 steps
Adafruit_StepperMotor myStepper1 = AFMS.getStepper(200, 1);
Adafruit_StepperMotor *myStepper2 = AFMS.getStepper(200, 2);

//---------------------------------------------------------------------

//analog input for sensor
int inPin = 0;

int start_ButtonState = 0;
int stop_ButtonState = 0;
int turn;
//---------------------------------------------------------------------
// Params for width and height
/
const uint8_t kMatrixWidth = 16;
const uint8_t kMatrixHeight = 16;
const bool kMatrixSerpentineLayout = true;

*/

void setup() {
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
FastLED.setBrightness( BRIGHTNESS );
while (!Serial);
Serial.begin(9600);
Serial.println();

pinMode(start_buttonPin, INPUT);
pinMode(stop_buttonPin, INPUT);

pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//---------------------------------------------------------------------
AFMS.begin(); // create with the default frequency 1.6KHz

TWBR = ((F_CPU / 150000l) - 16) / 2; // Change the i2c clock to 400KHz
//---------------------------------------------------------------------
}
void loop() {
start_ButtonState = digitalRead(start_buttonPin);
stop_ButtonState = digitalRead(stop_buttonPin);

leds[0] = CRGB::Yellow;
FastLED.show();

for(int i = 1; i < 64; i++){
leds[i] = CRGB::Black;
FastLED.show();
}

if (start_ButtonState == HIGH ) {
delay (2000);
for (int i = 0; i < 3; i++) {
float value;
for (int j = 0; j < 3; j++) {
float value = sensor1();
for (int go = 0; go < 330; go++) {
forward();
}
turn = turn + 1;
//value = sensor1();
delay(200);
myStepper2->release();
myStepper1->release();
delay(1000);
//float value = sensor1();
Serial.print(value);
Serial.print(" ");
delay(3);

    if (value > 3) {  
      leds[turn-1] = CRGB::Red;
      FastLED.show();  
    }
  }
  
  if (i % 2 == 0) {   
    turn = turn + 1;
    right1();
    float value = sensor1();  
    
    if (value > 3) {  
      leds[turn-1] = CRGB::Red;
      FastLED.show();
    }
    turn = turn + 4;
  }
  else {
    turn = turn + 1;
    left1();
    float value = sensor1();

    if (value > 3) {  
      leds[turn-1] = CRGB::Red;
      FastLED.show(); 
    }

    turn = turn + 4;
  }


  //turn = turn + 4;
  delay(200);
  myStepper1->release();
  myStepper2->release();
  delay(1000);
}
exit(0);

}
}

@Michael_Kazy Please put your code on http://gist.github.com and share the link here. It is much easier to read and line numbers can be referenced.