Need help writing more efficient code (total newbie)

odimachkie:
i am fully aware there are loops i should be using but i just cant get the same effect as just hard coding it this way.

When posting code, it's best to use [ code ] [ /code ] tags rather than quote tags.

There is a clear pattern to the sequence of values you are writing it out. You could reduce the amount of code enormously by putting your pin numbers in an array and then processing the array in a for loop to do the same thing to all pins.

The most general approach would be to write a function that outputs the next value to each pin in the array and call that repeatedly with an incrementing argument. But in this particular case the values you're writing out follow a very simple pattern and you could achieve the same effect with even simpler code similar to this (uncompiled):

void loop()
{
    analogWrite(pins[pinNumber], value);
    pinNumber++;
    if(pinNumber < pinCount)
    {
        value = (value + 2) % 14;
    }
    else
    {
        pinNumber = 0;
        delay(100);
    }
}

The idea is that each time through loop() you increment the pin number by one and increment the value by two, and write that value to that pin.
When you get to the end of the array you reset the pin number to 0 and do not increment the value (the value you write to the first pin in each sequence is the same value you wrote to the last pin in the previous sequence).