درود!
این جا مکانی است ویژه برای دانشجویان مهندسی کامپیوتر / آی تی و نرم افزار و صد البته افرادی که جویندگان دانش و تکنولوژی هستند.
آقایان دانوش ،یاشار و آمالی دارندگان این بلاگ بودند و هم اکنون تنها آقای دانوش مدیریت این وبلاگ را بر عهده دارد، با توجه به زمان بندی ها هم اکنون در این سایت فعالیت پویا ای نداریم.

ساختن قسمتی از یک پیانو

پنجشنبه 14 آذر 1392
06:38
یاشار عرفانیان
با سلام ، امروز کدی را قرار داده ام که مربوط به یک پیانو میشود . این پیانو شامل هفت کلید اصلی و پنج کلید فرعی است.
در ابتدای این برنامه برخی از خط های عمودی و افقی با استفاده از حلقه های تکرار و برخی دیگر تنها با استفاده از دستور لاین رسم شده اند.   
برای دریافت کد و مطالعه ی ادامه توضیحات به بخش ادامه مطلب مراجعه فرمایید.
در مرحله ی بعد به رنگ آمیزی دکمه های پیانو پرداخته ایم .
سپس با دریافت یک کاراکتر از کاربر ، و با استفاده از دستورات شرطی کار مربوط به هر کلید را تعریف کرده ایم.
کار هر کلید بدین گونه تعریف شده است که : 1- تولید صدا با فرکانسی خاص 2- تغییر رنگ دکمه پیانو با استفاده از رنگ آمیزی آن دکمه ی خاص در پیانو (منظور از دکمه ی خاص دکمه ای است که در پیانو فشرده شده است.)  3- تعیین مدت زمان کوتاهی جهت مشاهده ی تغییر رنگ با استفده از دستور delay 
4- رنگ آمیزی مجدد جهت بازگشتن به رنگ اولیه

در صورتی که با هرگونه مشکل و یا ابهام در کد این برنامه مواجه شدید می توانید ، با استفاده از قسمت نظرات و یا آدرس الکترونیک سولات خود را با ما در میان بگذارید. 

کد برنامه :
//in the name of GOD
//inftek.official@gmail.com
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
void main()
{

int x=120 , y=280 , y2=350;

int m=0 , n=0 ;
initgraph(&m,&n,"");

for(int h=0;h<=360;++h)
{
circle(300,200,80);
pieslice(300,200,0,h,80);
outtextxy(200,320,"Loading....Please Wait!");
outtextxy(250,335,"Inftek.tk");
delay(20);
}

clrscr();
setfillstyle(1,0);
floodfill(0,0,8);

setcolor(8);
line(120 , 150 , 120 , 350); //amudi 1 bozorg
line(540 , 150 , 540 , 350); //amudi akhar bozorg
line(360 , 150 , 360 , 350); //amudi vasat    bozorg

for(int i=1 ; i<=6 ; i++){
setcolor(8);
line(x+60,y,x+60,y2);        //amudi haye kuchak
x+=60;
}

line(165 , 150 , 165 , 280);
line(195 , 150 , 195 , 280);
line(225 , 150 , 225 , 280);
line(255 , 150 , 255 , 280);
line(285 , 150 , 285 , 280);
line(315 , 150 , 315 , 280);  //amudi diyez ha
line(405 , 150 , 405 , 280);
line(435 , 150 , 435 , 280);
line(465 , 150 , 465 , 280);
line(495 , 150 , 495 , 280);

line(165 , 280 , 195 , 280);
line(225 , 280 , 255 , 280);
line(285 , 280 , 315 , 280);  //ofoghi diyez ha
line(405 , 280 , 435 , 280);
line(465 , 280 , 495 , 280);

line(120,150,540,150);     //ofoghi haye bozorg
line(120,350,540,350);

int u = 125 ;
setfillstyle(1,15);
for(int j=1 ; j<=7 ; j++){
floodfill(u , 330 , 8);
u+=60;
}


char k ;
for(;;){

k = getch();
if(k=='Q'){break;}
if(k == 'd'){
sound(850); delay(100); nosound();
setfillstyle(1,9);
floodfill(125,330,8);
delay(100);
setfillstyle(1,15);
floodfill(125,330,8);

}
if(k == 'f'){
sound(1200); delay(100); nosound();
setfillstyle(1,9);
floodfill(195,330,8);
delay(100);
setfillstyle(1,15);
floodfill(195,330,8);

}
if(k == 'g'){
sound(50); delay(100); nosound();
setfillstyle(1,9);
floodfill(265,330,8);
delay(100);
setfillstyle(1,15);
floodfill(265,330,8);

}
if(k == 'h'){
sound(400); delay(100); nosound();
setfillstyle(1,9);
floodfill(340,330,8);
delay(100);
setfillstyle(1,15);
floodfill(340,330,8);

}
if(k == 'j'){
sound(750); delay(100); nosound();
setfillstyle(1,9);
floodfill(410,330,8);
delay(100);
setfillstyle(1,15);
floodfill(410,330,8);

}
if(k == 'k'){
sound(620); delay(100); nosound();
setfillstyle(1,9);
floodfill(475,330,8);
delay(100);
setfillstyle(1,15);
floodfill(475,330,8);

}
if(k == 'l'){
sound(119); delay(100); nosound();
setfillstyle(1,9);
floodfill(485,330,8);
delay(100);
setfillstyle(1,15);
floodfill(485,330,8);

}
if(k == 'r'){
sound(339); delay(100); nosound();
setfillstyle(1,9);
floodfill(180,160,8);
delay(100);
setfillstyle(1,0);
floodfill(180,160,8);

}
if(k == 't'){
sound(339); delay(100); nosound();
setfillstyle(1,9);
floodfill(240,160,8);
delay(100);
setfillstyle(1,0);
floodfill(240,160,8);

}
if(k == 'y'){
sound(339); delay(100); nosound();
setfillstyle(1,9);
floodfill(300,160,8);
delay(100);
setfillstyle(1,0);
floodfill(300,160,8);

}
if(k == 'i'){
sound(534); delay(100); nosound();
setfillstyle(1,9);
floodfill(420,160,8);
delay(100);
setfillstyle(1,0);
floodfill(420,160,8);

}
if(k == 'o'){
sound(790); delay(100); nosound();
setfillstyle(1,9);
floodfill(480,160,8);
delay(100);
setfillstyle(1,0);
floodfill(480,160,8);

}
}




getch();
}




برچسب ها: پیانو، pieslice،
شبکه اجتماعی فارسی کلوب | Buy Mobile Traffic | سایت سوالات