پنجشنبه 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();
}