یک برنامهٔ 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 برای پاک‌سازی و حرکت نشانگر استفاده کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:24
دسته بندی ها: C for beginner
arash در 221 روز قبل ساعت 13:23

برای کار با term.h باید ترمینال را به حالت خام (raw) و خاموش‌کردن بازنمایی کاراکترها (no-echo) درآورید تا ورودی کلیدها بدون بلاک خوانده شود. در هر فریم فقط خانه‌های تغییر یافته را دوباره‌نویس کنید تا پرش کمتر شود و کارایی بالا رود. اگر term.h روی سیستم در دسترس نیست، می‌توانید از ANSI escape codes برای پاک‌سازی صفحه و حرکت نشانگر استفاده کنید. در نهایت، ترمینال را به حالت پیش‌فرض برگردانید تا محیط ترمینال شما به درستی باقی بماند.

گزارش

1 پاسخ

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

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