[c++] Algorytm spirali

Cześć, wpadłem kilka dni temu na pomysł napisania algorytmu spirali, nie ma to być jakaś konkretna (w sensie że naukowa, w której stosujemy się do wzoru) tylko zwykła spirala taka jak na gifie umieszczonym poniżej:

spirala.gif

Nie proszę o napisanie całego algorytmu tylko o jakieś wskazówki jak Wy byście do tego podeszli. Myślałem o tym aby na wejściu wprowadzać długość pierwszej pionowej lini czyli ilość znaków, które miały by się w niej wyświetlić a następnie przechodząc do ‘zakrętu’ spirali wartość tej danej była by dekrementowana o jeden aż do osiągnięcia zera.

No to… masz dwie pętle, jedną wewnątrz drugiej. Ta wewnętrzna rysuje całą ścianę spirali złożoną z kwadratów. Zewnętrzna natomiast zmniejsza liczbę kwadratów do narysowania o 2 oraz zmienia kierunek rysowania o 90 stopni w lewo przy każdym przebiegu. Proste?

#include 

using namespace std;


int main()

  {

   int Lf=1,Rt=7,Up=0,Dn=7;

   while((Lf
     {

      for(int y=++Up;(Lf
      for(int x=++Lf;(Up
      for(int y=--Dn;(Lf=Up);--y) cout<
      for(int x=--Rt;(Up=Lf);--x) cout<
     }

   cin.sync();cin.get();

   return 0;

  }