witam
W basicu ZX spectrum było coś takiego jak print at. Tego w C++ potrzebuję teraz. nie potrafię zrozumieć jak w C++ jest "ogarniany" ekran w sensie jego kolumn i rzędów, (albo punktów graficznych). Czy jest jakiś prosty sposób, na otwarcie okna o wymiarach np 40kolumn na 20 rzędów, a następnie postawienie znaku 0 (zero) w 20kolumnie 12 rzędzie?
Pozdrawiam
System?
Zwykłym terminalem byłoby to karkołomne, mógłbyś użyć np. New Curses.
Może słabe rozwiązanie ale to mi przychodzi do głowy, tablica dwuwymiarowa wypełniona spacjami, która będzie wyświetlana i w tej tablicy robić sobie zmiany i wyświetlać ją
spartanPAGE napisał(a):
System?
linux mint. ale jeśli w windowsie7 będzie łatwiej - NIE MA sprawy, też może być.
przemyslowiec napisał(a):
Może słabe rozwiązanie ale to mi przychodzi do głowy, tablica dwuwymiarowa wypełniona spacjami, która będzie wyświetlana i w tej tablicy robić sobie zmiany i wyświetlać ją
A gdyby to samo spróbowac osiągnąć w jakimś powiedzmy... oknie graficznym? Czyli program wyświetla okno 640x480 i w nim mogę sobie już prostymi kropkami i kreskami rysować co zechcę? Będzie łatwiej?
Wybaczcie moje.... zdziwienie, ale brak takich zdawało by się banalnych funkcjonalności, skutecznie utrudnia (powoduje że jest mniej ciekawa) naukę programowania. ja jestem starym prykiem, o minimalnej wiedzy informatycznej, ale syn się uczy c++ i chciałem błysnąć, ze... wiecie, tata też coś tam potrafi. no i poza tekstową grą " zgadnij liczbę od 1-100" nic nie potrafię.
Zapoznaj się z SFML, łatwo stworzysz prostą grę 2D
Musisz sobie zdać sprawę że standardowe wejście i wyjście (std::cin
i std::cout
), są strumieniową abstrakcją na dowolne urządzenie.
Pod std::cout
może być cokolwiek: ekran, plik, sieć, inny program, zasób sieciowy, drukarka a nawet obrabiarka CNC.
Z tego powodu nie może ona mieć funkcjonalności, o której piszesz, bo wykracza to poza zakres funkcjonalności strumienia danych.
Właśnie dlatego musisz pominąć abstrakcję strumienia.
W standardzie C++ nie ma nic takiego, więc jesteś skazany na zewnętrzną bibliotekę, np ncurses
jak wskazał @atmal.
Musisz sobie zdać sprawę że standardowe wejście i wyjście (
std::cin
istd::cout
), są strumieniową abstrakcją na dowolne urządzenie.
Podstd::cout
może być cokolwiek: ekran, plik, sieć, inny program, zasób sieciowy, drukarka a nawet obrabiarka CNC.
Z tego powodu nie może ona mieć funkcjonalności,
dzięki za jasne wytłumaczenie jak to działa. a czy mógłbyś mi napisać jak ten sam problem rozwiązać w c++ ale nie jako znaki tekstowe, tylko grafikę operującą na punktach, liniach i okręgach? Ogólny zarys chodzi.