Rysowanie kody ASCII

0

Otóż mam problem z ograniczeniem rysowania co do okna które ma wymiary 46x79 znaków. Chodzi mi o to aby po najechaniu na np 79 znak moja zmienna x zmniejszała się o jeden ale no nie wychodzi mi to a już chwilkę nad tym siedzę

inline void rysuj (char znak, int rozm , int OX , int OY)
{
    system("cls");

    //dół
    for (int i=rozm; i>0 ; i--)
    {
        int x,y;
        x=i+OX;
        y=46-i+OY;
        gotoxy (x,y );
        cout<<znak;
        if(y<46 ) OY++;
        if(x<0) OX++;
    }
    //środek
    for(int i=1; i<= rozm ; i++)
    {
        int x,y;
        x=(rozm+i)+OX;
        y=(46-rozm)+OY;
        gotoxy (x ,y);
        cout<<znak;
        if (x>79) OX--;
    }
    //góra 
    for (int i=rozm; i>0 ; i--)
    {
        int x,y;
        x=((rozm +1)- i )+OX;
        y=((46-rozm +1)-i)+OY;
        gotoxy(x,y ); 
            cout<<znak;
        if (y>46) OY--;
        if (x<0) OX++;
    }

    HideCursor();

}
0

na najechanie na znak 79 to bedzie

x == 79

jezeli chcesz by po przekroczeniu 78 zawsze mniejszalo o 1 (czyli 79 takze wchodzi do tego zakresu) wtedy robisz

x > 78

chyba ze chcesz zeby od tego momentu zawsze sie zmniejszalo to robisz ustawiasz sobie jakas flage typu

bool zmniejsz

na wartosc true

0

no i tak już też próbowałem ale po najechaniu na ten znak rysowanie się sypie

0

Może lepiej powiedź co chcesz osiągnąć?

0

Chodzi mi o to żeby rysowana figura nie wyjeżdżała mi poza ekran

0

Przecież rysujesz standardową figurę, nie?

0

Rysuję coś takiego

x
x
xxx
x
x

gdzie ten dolny X jest w lewym dolnym ekranie. No i nie mogę zrobić tego żeby figura mi nie wyjeżdżała poza krawędzie ekranu konsoli który ma 46x79 znaków

0

panie to jest kpina

http://4programmers.net/Forum/C_i_C++/223274-c++_rysowanie_w_konsoli?p=980801#id980801

dostales juz rozwiazania (w tym gotowca) a Ty nadal to samo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0