Hola:
Ya voy a "papear", así que te doy una respuesta rápida a una parte concreta de tu problema: el uso de ++...
Es un simple incremento que funciona igual en todos los lenguajes modernos (php, pascal, javascript, c...) e incrementa el valor de la variable antes o después de usarla (ya sea poniéndolo antes o después de la misma), o sea que si la misma variable la vas a usar varias veces, debes considerar que debes ponerlo en la primera aparición al principio para usarla incrementada. o en la última aparición al final, para usarla y luego incrementarla... pero si la pones (parece que es el caso) 2 veces... entonces lo que tienes son 2 valores consecutivos...
Luego me fijo con más atención.
Saludos