یک برنامهٔ C بنویسید که با استفاده از term.h یک شبیهساز نمایشگر 8×8 (ماتریس LED) در ترمینال رسم کند و به کاربر اجازه دهد با کلیدهای جهت نقطهٔ روشن را جابجا کند.
6.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:24 0.0
برای حل این سؤال، از term.h برای قرار دادن ترمینال در حالت خام (raw/no-echo) و خواندن ورودی بدون بلاک استفاده کنید، صفحه را با دستورات حرکتدادن نشانگر و پاکسازی (یا از توابع term.h) رسم کنید و یک آرایهٔ 8×8 برای وضعیت پیکسلها نگه دارید؛ هر فریم تنها خانههای تغییر یافته را بازنویسی کنید تا پرش کمتر شود. از یک حلقهٔ اصلی با تاخیر کوچک (مثلاً usleep) برای فریمدهی، خواندن کلیدها برای بهروزرسانی مختصات نقطه و بازگرداندن حالت ترمینال هنگام خروج استفاده کنید — اگر term.h روی سیستم در دسترس نبود میتوانید از فرارهای ANSI برای پاکسازی و حرکت نشانگر استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای کار با term.h باید ترمینال را به حالت خام (raw) و خاموشکردن بازنمایی کاراکترها (no-echo) درآورید تا ورودی کلیدها بدون بلاک خوانده شود. در هر فریم فقط خانههای تغییر یافته را دوبارهنویس کنید تا پرش کمتر شود و کارایی بالا رود. اگر term.h روی سیستم در دسترس نیست، میتوانید از ANSI escape codes برای پاکسازی صفحه و حرکت نشانگر استفاده کنید. در نهایت، ترمینال را به حالت پیشفرض برگردانید تا محیط ترمینال شما به درستی باقی بماند.
گزارش