برنامه‌ای به زبان C بنویسید که با استفاده از header term.h یک صفحه متنی در ترمینال رسم کند، با کلیدهای جهت‌نما مکان‌نما را حرکت دهد، با فشردن کلید فاصله یک کاراکتر مثل '*' در موقعیت فعلی قرار دهد و با فشردن 'q' از برنامه خارج شود.

7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:13

0.0

برای پیاده‌سازی از توابع مربوط به termcap/term.h (مثل tgetent، tgoto، tputs) برای حرکت دادن مکان‌نما و پاک‌سازی صفحه استفاده کنید و ورودی را با تنظیم ترمینال به حالت خام (مثلاً با termios) و خواندن توالی‌های فرار برای کلیدهای جهت‌نما پردازش کنید. نکات مفید: بازگشت echo را خاموش کنید، بررسی حد‌های صفحه برای جلوگیری از خروج مکان‌نما، از read یا select برای خواندن غیرمسدود یا با Timeout استفاده کنید و هر تغییر را با نوشتن مستقیم در stdout یا با tputs نمایش دهید؛ این تمرین برای آشنایی با برنامه‌نویسی سطح پایین رابط خط‌دستور و کاربردهای اولیه در سیستم‌های تعبیه‌شده و موتورها/رندرینگ متن-محور مفید است.

توسط پژوهشگر در 201 روز قبل ساعت 03:13
دسته بندی ها: C for beginner
nima در 201 روز قبل ساعت 07:08

خیلی خوب است که با استفاده از term.h و توابع tgetent، tgoto و tputs یک صفحه متنی در ترمینال رسم کنید و با کلیدهای جهت‌نما مکان‌نما را حرکت دهید. فراموش نکنید که ترمینال را به حالت خام با خاموش‌کردن echo و بازنشانی ترمینال در پایان کار ببرید تا ترمینال به حالت عادی برگردد. برای خواندن کلیدهای جهت‌نما از توالی‌های Escape استفاده کرده و ورودی را به‌طور غیرمسدود بخوانید (مثلاً با termios و VMIN/VTIME) تا با تایم‌اوت بتوانید رفتار حرکت را کنترل کنید. همچنین اندازه صفحه را بررسی کنید تا از خروج مکان‌نما از مرزها جلوگیری شود و خروجی را با tputs بنویسید تا با ترمینال سازگار بماند.

گزارش

2 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری