Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zmiana wielkosci i polozenia figury z ASCII charow w konsoli.

Ostatnio zmodyfikowano 2017-01-04 16:48
Autor Wiadomość
Hashiyan
Temat założony przez niniejszego użytkownika
Zmiana wielkosci i polozenia figury z ASCII charow w konsoli.
» 2017-01-04 16:48:32
Cześć wszystkim,
Piszę program, który ma rysować znakiem ASCII figure X. Rozkminilem jak wypisac X w konsoli, wybor poczatkowego rozmiaru, jak i kodu ASCII tez mam. Nie wiem jak ustawic punkt zaczepienia na lewym dolnym rogu figury, a podejrzewam, ze to jest kluczem do przesuwania, jak i zmiany rozmiaru. Probowalem przesuwac za pomoca if w nieskonczonej petli po stworzenie funkcji bool IsVirtualKeyPressed(klawisz), ale przesuwal mi sie tylko pierwszy wiersz mojego X. Jakis pomysl jak to ogarnac?

Moj kod:

C/C++
#include <iostream>
#include <conio.h>

void Intro();
void Draw();

int main()
{
    Intro();
    Draw();
   
    return 0;
}

void Intro()
{
    std::cout << "Napisz program rysowania znakiem ponizszej figury:\n";
    std::cout << "    *    * \n";
    std::cout << "     *  *  \n";
    std::cout << "      *    \n";
    std::cout << "     *  *  \n";
    std::cout << "    *    * \n";
   
    std::cout << std::endl;
   
    std::cout << "Program powinien umozliwiac:\n"
    << " - Wybor znaku kodu ASII,\n"
    << " - Wczytanie poczatkowych rozmiarow figury,\n"
    << " - Zmiane wielkosci figury klawiszami '+' i '-',\n"
    << " - Przesuwanie figury w czterech kierunkach za pomoca kursorow,\n"
    << " - Ograniczenie przesuwania i rozmiarow figury do obszaru ekranu.\n";
   
    _getch();
   
    return;
}

void Draw()
{
    int Size;
    char AsciiChar;
   
    system( "cls" );
   
    std::cout << "Enter the size: ";
    std::cin >> Size;
    std::cout << std::endl;
    std::cout << "Enter the ASCII char from the keyboard: ";
    std::cin >> AsciiChar;
    std::cout << std::endl;
   
    for( int Rows = 1; Rows <= Size; Rows++ )
    {
        for( int Cols = 1; Cols <= Size; Cols++ )
        {
            if( Rows == Cols || Cols ==( Size + 1 ) - Rows )
            {
                std::cout << AsciiChar;
            }
            else
            {
                std::cout << " ";
            }
        }
        std::cout << std::endl;
    }
    return;
}
P-155966
« 1 »
  Strona 1 z 1