-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added *nix support #3
base: main
Are you sure you want to change the base?
Conversation
Added support for Unix-like operating systems (Unix/Linux/MacOS) support. The code works fine on Linux. ATTENTION: I have NOT tested the code on Windows, BSD and/or MacOS yet. Please test before accepting the changes. The program should automatically detect the size of the terminal terminal and set width and height accordingly. + a few small changes.
Добавил поддержку для Unix-подобных операционных систем (Unix/Linux/MacOS). Код работает на Linux. ВНИМАНИЕ: Я еще НЕ тестировал код на Windows, BSD и/или MacOS. Пожалуйста, проверьте, прежде чем принимать изменения. Программа должна автоматически определять размер терминала и соответственно устанавливать ширину и высоту. + несколько небольших изменений. |
Код протестирован и на винде. По словам друга, "работает идеально". |
Прошу владельцев MacBook-ов протестировать на MacOS. Там тоже по идее должно работать. |
А почему бы просто не использовать библиотеку ncurses? Она же вроде платформонезависимая Если что, ничего не имею против вашего способа, просто интересно) |
Я начал писать код с допущением что терминал Windows поддерживает ANSI коды (так как написание кода используя ANSI коды мне показалось самым простым, эффективным и быстрым способом решения проблемы), но окозалось я был не прав. После того как код с использованием ANSI кодов был готов, проще всего было написать 2 функции для Winodws (clearScreen и gotoxy в patforms.cpp). +Если честно, у меня мало опыта работы с ncurses (недавно начал работать над первым моим проектом с ncurses, но еще не доделал.). Также, я не уверен как библиотека ncurses повлияла бы на производительность (скорость вывода текста). |
Помимо этого, первичная цель этого проекта - образовательная. Думаю было бы разумным писать код наиболее разборчиво, при этом теряя как можно меньше функционала/производительности. Чрезмерное использование нестандартных библиотек (Windows.h, ncurses), менее известных [ для начинающих программистов ] типов данных (wchar_t, строки из C) и указателей служит против основной цели проекта. |
Added support for Unix-like operating systems (Unix/Linux/MacOS). The code works fine on Linux. ATTENTION: I have NOT tested the code on Windows, BSD and/or MacOS yet. Please test before accepting the changes. The program should automatically detect the size of the terminal terminal and set width and height accordingly. + a few small changes.