Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ ΡΠ°ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ curses. Π‘ΡΠ°Π½Π΄Π°ΡΡ curses ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ΅Π½ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ "ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ" ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ΄Π½Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ X Window System, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ GTK+/GNOME ΠΈ Qt/KDE, Π ΠΠ‘ Linux Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° svgatib (Super VGA Library, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ), Π½ΠΎ ΠΎΠ½Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ UNIX, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π΄ΡΡΠ³ΠΈΡ UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΈΠΉ ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΡ , Ρ ΠΎΡΡ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π’Π°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π»Π΅Π³ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses, ΡΠ΅ΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π»Π΅Π³ΠΊΠΈΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Π²Π²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ· ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Linux ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ. ΠΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°ΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ curses. ΠΠΎ Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ X Window System ΠΈ ΠΎΠΊΠ½ΠΎ xterm, Π²ΡΠ΅ Π²ΡΡΠ°Π½Π΅Ρ Π½Π° ΡΠ²ΠΎΠΈ ΠΌΠ΅ΡΡΠ°.
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ:
β‘ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses:
β‘ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ curses;
β‘ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ;
β‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠΊΠΎΠ½;
β‘ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ (keypad mode);
β‘ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ°.
ΠΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ Π³Π»Π°Π²Ρ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΎΠ², ΠΏΠΎΠ΄ΡΡΠΎΠΆΠΈΠ² Π²ΡΠ΅, ΡΠ΅ΠΌΡ Π²Ρ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ curses
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΡΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½ΡΠΆΠ΄Π°ΡΡΠΈΡ ΡΡ Π² ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²ΡΠ²ΠΎΠ΄Π° Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, ΡΠ΅ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π½Π΅ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ² ΠΈ Π½ΠΈΠ·ΠΊΠΎΡΠΊΠΎΡΠΎΡΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅ΠΌΠΎΠ², Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses Π²ΡΠΆΠΈΠ»Π° ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π½Π°Π±ΠΎΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ curses β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π΄Π»Ρ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈΠ· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses. ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ BSD UNIX ΠΈ Π·Π°ΡΠ΅ΠΌ Π±ΡΠ»Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ UNIX ΡΡΠΈΠ»Ρ System V ΠΏΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Π±ΡΠ»Π° ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π° Π³ΡΡΠΏΠΏΠΎΠΉ X/Open. Π‘ΠΈΡΡΠ΅ΠΌΠ° Linux ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½Ρ ncurses ("new curses") β ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΡ Π²Π΅ΡΡΠΈΡ System V Release 4.0 curses, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π΄Π»Ρ Linux. ΠΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ UNIX, Ρ ΠΎΡΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΡΡ Π΄Π°ΠΆΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ MS-DOS ΠΈ Windows. ΠΡΠ»ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Ρ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ UNIX, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΏΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ncurses. ΠΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΠ‘ Linux ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ncurses ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses. ΠΡΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π½Π΅Π΅ Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² Π²Π°ΡΠ΅ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ (Π½Π΅Ρ ΡΠ°ΠΉΠ»Π° curses.h ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ), Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ibncurses5-dev.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ X/Open ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° curses: Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ. Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΠΊΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ΄ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ»Π±ΡΠΎΠ²ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠΌ. ΠΡΠΎΠΌΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠΌ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ curses, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» curses.h ΠΈ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ ΡΠ°ΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° -lcurses. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Linux Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΎΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ curses, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ncurses.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ls -l /usr/include/*curses.h
Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ
ls -l /usr/lib/lib*curses*
Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ curses.h ΠΈ ncurses.h β ΠΏΡΡΠΌΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ncurses, ΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ gcc program. Ρ -ΠΎ program -lcurses
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° curses Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ncurses, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ncurses, Π²ΠΊΠ»ΡΡΠΈΠ² ΡΠ°ΠΉΠ» ncurses.h Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°ΠΉΠ»Π° curses.h ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ gcc -I/usr/include/ncurses program.Ρ -ΠΎ program -lncurses
Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΡΠΈΡ -I Π·Π°Π΄Π°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ Makefile ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Ρ Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ, Π΅ΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΡΠ½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠΌ ncurses, ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄ΡΡΠ³ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ; ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π΅Π΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ β ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /usr/share/doc/, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ curses ΠΈΠ»ΠΈ ncurses ΡΠ°ΡΡΠΎ Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ.
Π’Π΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses ΠΈ ΠΎΠ±ΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ curses Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π°Ρ , Π² ΠΎΠΊΠ½Π°Ρ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΎΠΊΠ½Π°Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠΊΠ½Π°Ρ . ΠΠΊΡΠ°Π½ β ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΊΡΠ°Π½ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ ΡΠΊΡΠ°Π½ ΡΠΌΡΠ»ΡΡΠΎΡΠ° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° xterm), Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄ΠΈΡΠΏΠ»Π΅Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΡΠ»ΠΈ ΡΠΊΡΠ°Π½ β ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π΅, ΡΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΎΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ curses Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ stdscr, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠ΅Π΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΊΡΠ°Π½ΠΎΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π° Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ, ΠΌΠ΅Π½ΡΡΠΈΠΌ, ΡΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΊΡΠ°Π½Π°. ΠΠΊΠ½Π° ΠΌΠΎΠ³ΡΡ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π° ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΎΠΊΠΎΠ½, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π²Π΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°: stdscr ΠΈ curscr. Π‘ΡΡΡΠΊΡΡΡΠ° stdscr, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Π°Ρ ΠΈΠ· Π΄Π²ΡΡ , ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ curses ΡΠΎΡΠΌΠΈΡΡΡΡ Π²ΡΠ²ΠΎΠ΄. Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ stdscr β "ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΊΡΠ°Π½". ΠΠ½Π° Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ stdout ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ stdio. ΠΡΠ° ΡΡΡΡΠΊΡΡΡΠ° β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ curses. Π‘ΡΡΡΠΊΡΡΡΠ° curscr ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° stdscr, Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΡΠ°Π½Π°. ΠΡΠ²ΠΎΠ΄, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΡΡΡΡΠΊΡΡΡΡ stdscr, Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ refresh, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ stdscr (ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠΊΡΠ°Π½) ΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ curscr (ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΊΡΠ°Π½ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ). ΠΠ°ΡΠ΅ΠΌ curses ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ curses Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ stdscr, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ curses ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° stdscr ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, ΠΈ ΠΊ Π½Π΅ΠΉ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ. Π£ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ curses ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Ρ Π½ΡΠΆΠ΄Ρ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ curscr.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ curses Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
1. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°.
2. ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ refresh.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π΄Π²ΡΡ ΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΏΠΎΠΌΠΈΠΌΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π»Π΅Π³ΠΊΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ β ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° curses. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΡΠΎΠ»Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΊΡΠ°Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π½ΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ curses Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΊΡΠ°Π½, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ ΠΊΡΡΡΠΎΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΊΡΠ°Π½Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΡΠ°ΠΌΠΎΠΊ. ΠΠ° ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π΅ΡΡ ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄. ΠΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ (ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ refresh), Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses Π½Π°ΠΉΠ΄Π΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ. ΠΡΠΈΠΌΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ°, curses ΡΠ°ΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΊΡΠ°Π½, Π²ΡΠ²ΠΎΠ΄Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΡΠΊΡΠ°Π½, Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.