Mam do napisania projekt w którym trzeba narysować figurę (w kształcie litery E) która ma się nie wysypywać kiedy dotknie granicy konsoli. Nie ważne, czy za pomocą przesunięcia, czy powiększenia do maksymalnych rozmiarów; ma się nie wysypać. No i problem polega na tym, że udało mi się taką funkcję stworzyć tylko dla dolnej granicy. Próbowałem analogicznie z pozostałymi granicami, lecz figura działa tak: górna krawędź figury, po dotarciu do górnej krawędzi konsoli zmienia pozycję (cała górna krawędź figury i tylko ta część figury) z aktualnej na początek konsoli (lewy górny róg), prawa krawędź granicy "przepuszcza" połowę figury, po czym figura się zatrzymuje, natomiast lewa krawędź konsoli przetwarza całą figurę (kiedy ta już całkowicie zniknie z konsoli, mimo że powinna poprzestać właśnie na krawędzi konsoli) na poziomą linię długości górnej krawędzi figury i przemieszcza całą figurę na lewy górny róg konsoli (sytuacja wtedy jest taka sama jak z górną krawędzią figury).
Próbowałem metodą prób i błędów, po kolei podstawiać wszędzie te same dane, tzn albo 0 albo console_size_x/console_size_u albo 80 / 25, albo próbowałem dodać ten bok i wszędzie wynik marny. Jedyną dobrze działającą funkcją jest dolna krawędź zatrzymująca figurę.
Byłbym bardzo wdzięczny za wszelką pomoc.
PS. Jestem początkującym programistą i staram się rozumieć co robię, dlaczego tak zmieniam / tak jest, jak sprawić by lepiej działał, lecz w tym przypadku nie potrafię wyobrazić sobie rozwiązania tego problemu po tej metodzie prób i błędów.
Edit:
bok - Dana, którą wprowadza użytkownik
zamienienie komentarza górnej i lewej krawędzi