conio.h in C / C++

conio.h in C / C++

conio.hحتما تا الان اسم زبان C و ++C به گوشتون خورده و می دونید این دو زبان از زبان های قدرتمند جهان هستنمن می خواهم شما را با کتابخانه ای شاید ناشناخته در این دو زبان اشنا کنم به نام conio.h که برای گرفتن ورودی و خروجی به صورت خواص است.این کتابخانه تقریبا در اکثر کامپایلر ها موجود است (turbo C++ , borland C ,……)خب اول کتابخانه را include می کنیم #include <conio.h>به همین راحتی.چگونه صفحه را پاک کنیم ؟clrscr();با صدا زدین این فانکشن تمام کنسول ما پاک خواهد شد چگونه فقط یک خط را پاک کنم ؟خیلی افراد با استفاده از چنین کد های (e[1;1He[2J) و خروجی دادن ان ها و یا استفاده از r این کار را می کنند اما این روش ها معایبی هم دارد. پس چه کنی ؟ delline();به راحتی می توانید با استفاده از این تابع یک خط از کنسول را پاک کنیدچگونه یک کلید از کیبرد بگیریم ؟getch();
getche();
kbhit();-کد اول یک کاراکتر را از کیبرد می گیرد و return می کند (مقدار برگشتی به نوع متغییر مربوط است توسعه می شود از int استفاده کنید) ولی این کد کاربرد دیگری نیز دارد بعضی افراد برای اینکه پس از پایان برنامه، برنامه در جا بسته نشود از getch و getchar در اخر کد استفاده می کنند-کد دوم دقیقا مثل getch است با این تفاوت که مقدار دریافتی را در کنسول خروجی می دهد-کد سوم چک می کند که ایا کلیدی فشورده شده است یا خیر ؟برای درک راحت تر به کد زیر توجه کنید:#include <conio.h>void main() { while(1){ if(kbhit()){ if(getch() == 13){ break; } } }}در اینجا برنامه در یک حلقه بینهایت در حال حرکت است و وقتی کلیدی فشار داده می شود چک می کند که ایا ان کلید (enter) بوده است یا خیر و اگر شرط برقرار بود برنامه از حلقه بیرون می ایدچگونه مکان cursor را تغییر دهیم !؟ یا متنی را در نقطه خاصی خروجی دهیمcursor حتما تا به حال متوجه این cursor شده اید اما سوال اینجاست که چگونه می توان مکان ان را تغییر داد gotoxy(x,y);درستور مکان cursor را جا به می کند و دو ورودی x, y را از نوع int می گیردچگونه مکان فعلی cursor را بگیریم ؟wherex();wherey();کار با این ها بسیار ساده است به طوری که یک int را return می کندچگونه یک متن را چاپ کنیم ؟cprintf();شاید از خود بپرسید فرق این با printf چیست ؟ جواب این سوال این است که متن را پیکربندی می کند یعنی به ان رنگ و حالت می دهدچگونه رنگ متن را تغییر دهیم ؟textcolor(a); این دستور یک int به نام a که مربوط به رنگ است را می گیرد مثال:(2 : سبز)چگونه رنگ پس زمینه متن را تغییر دهیم ؟textbackground(a);این نیز مثل مورد قبل یک متغییر عددی می گیرد نکته : در همه این موارد می توان از ثابت های پیش تعریف شده هم استفاده کرد مثال :(RED)چگونه هر دو را با هم تغییر بدیم ؟textattr(a);این هم مثل موارد قبل است ولی با فرق اینکه عدد روی همه عوامل تاثیر می گذارد یکی از ثابت های پیش تعریف شده BLINK است که در محیط سیستم عامل داس متن را به حالت چشمک زن در می اوردبنده با استفاده از همین کتاب خانه این بازی را ساختم اما به دلایلی نتوانستم کاملش کنمبازی این گونه است که سفینه ای حرکت می کد و تیر شکلیک می کند و باید اشیای را که میایند بزند تا بهش نرسند (بازی کامل نشده است)game by Cاین لینک GitHub اش https://github.com/naderi8118/shatel خوشحال میشم تکمیلش کنید 🙂

Author: admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *