46868 (607964), страница 2
Текст из файла (страница 2)
setcolor(i);
rectangle(x-120, y-100, x+120, y+100);
setfillstyle(SOLID_FILL,i);
floodfill(x-115,y-95,i);
i=0;
setcolor(i);
rectangle(x-110, y-90, x+110, y+90);
setfillstyle(SOLID_FILL,i);
floodfill(x,y,i);
i=0;
setcolor(i);
line(x-120, y-100, x-110, y-110);
line(x+120, y+100, x+130, y+90);
line(x+120, y-100, x+130, y-110);
line(x-110, y-110, x+130, y-110);
line(x+130, y-110, x+130, y+90);
line(x+20, y+110, x+20, y+100);
line(x-20, y+110, x-20, y+100);
rectangle(x+60, y+110, x-60, y+120);
line(x+60, y+110, x+70, y+100);
line(x+60, y+120, x+80, y+100);
line(x-60, y+110, x-50, y+100);
line(x+20, y+110, x+30, y+100);
circle(x+110,y+95,3);
circle(x+100,y+95,2);
circle(x+90,y+95,2);
///////////////sistemnik//////////////
i=0;
setcolor(i);
rectangle(x-130, y+120, x-200, y-100);
line(x-200, y-100, x-110, y-190);
line(x-130, y-100, x-40, y-190);
line(x-110, y-190, x-40, y-190);
line(x-130, y+120, x-110, y+100);
line(x-40, y-190, x-40, y-110);
rectangle(x-190, y-90, x-140, y-80);
rectangle(x-190, y-70, x-140, y-60);
rectangle(x-190, y-50, x-140, y-40);
rectangle(x-190, y-30, x-140, y-20);
rectangle(x-180, y-10, x-150, y);
rectangle(x-180, y+10, x-150, y+20);
rectangle(x-190, y+100, x-140, y+110);
circle(x-165,y+80,5);
circle(x-165,y+60,4);
line(x-165,y+80,x-165,y+84);
circle(x-165,y+80,2);}
void kolonki(int x, int y, int i)
{int k;
//////////////left//////////////////
k=i;
i=15;
setfillstyle(INTERLEAVE_FILL,i);
i=k;
setcolor(i);
rectangle(x-210, y+120, x-260, y+60);
line(x-210, y+120, x-200, y+110);
line(x-210, y+60, x-200, y+50);
line(x-260, y+60, x-240, y+40);
line(x-240, y+40, x-200, y+40);
i=k;
setcolor(i);
pieslice(x-235, y+90, 0, 180, 20);
rectangle(x-255, y+90, x-215, y+110);
floodfill(x-245,y+95,i);
//////////////right/////////////////
rectangle(x+140, y+120, x+190, y+60);
line(x+190, y+120, x+210, y+100);
line(x+190, y+60, x+210, y+40);
line(x+140, y+60, x+160, y+40);
line(x+160, y+40, x+210, y+40);
line(x+210, y+100, x+210, y+40);
i=k;
setcolor(i);
pieslice(x+165, y+90, 0, 180, 20);
rectangle(x+145, y+90, x+185, y+110);
floodfill(x+155,y+95,i);
circle(x+165,y+115,4);
circle(x+155,y+115,3);
circle(x+175,y+115,3);
arc(x+165,y+40,0,150,40);
}
void main()
{int dr=DETECT,mod;
float snd[] = {659.26, 880.00, 1046.50, 987.77, 880.00, 1046.50, 880.00, 987.77, 880.00,
698.46, 783.99, 659.26, 659.26, 880.00, 1046.50, 987.77, 880.00, 1046.50, 880.00, 987.77, 880.00,
659.26, 622.25, 587.33, 587.33, 698.46, 880.00, 987.77, 587.33, 698.46,
830.61, 880.00, 440.00, 523.25, 698.46, 698.46, 659.26, 783.95, 698.46, 698.46,
659.26, 493.88, 523.25, 440.00, 987.77, 987.77, 932.33, 880.00, 987.77, 987.77,
880.00, 783.99, 698.46, 659.26, 659.26, 783.99, 659.26, 587.33, 587.33,
698.46, 587.33, 493.88} ;
int x,y,err,i,ki,key,r,h,c,x1,x2,y1,y2;
char s,str[80]={'K','U','R','S','O','V','A','Y','A',' ','R','A','B','O','T','A'};
initgraph(&dr,&mod," ");
err=graphresult();
if(err){
cout<<"error initgraph"< exit(1); } snachala: cleardevice(); i=7; x=getmaxx()/2; y=getmaxy()/2; setfillstyle(SOLID_FILL,i); floodfill(x,y,i); setcolor(4); outtextxy(400,70,"Press any key for STOP Music"); outtextxy(400,80,"Press 'P' for PLAY Music"); outtextxy(400,90,"Press 'M' for GOTO MENU"); outtextxy(400,100,"Press 'Esc' for exit"); settextstyle(0,0,3); setcolor(2); outtextxy(150,15,str); settextstyle(0,0,2); setcolor(6); outtextxy(330,380,"KAFEDRA: EVM"); setcolor(5); outtextxy(330,420,"SPECIALNOST: VMKSiS"); setcolor(4); outtextxy(30,380,"VIPOLNIL:"); settextstyle(0,0,1); setcolor(1); outtextxy(180,380,"STUDENT FITU 1-2a"); settextstyle(0,0,1); setcolor(0); outtextxy(180,390,"XLINTCEV A.G."); settextstyle(0,0,2); setcolor(4); outtextxy(30,420,"PROVERIL:"); settextstyle(0,0,1); setcolor(1); outtextxy(180,420,"KOLOMEICEVA T.G."); settextstyle(0,0,1); setcolor(0); outtextxy(180,430,"BELIKOV I.Yu."); komp(x,y); m1: for(r=0;r<62;r++) { if (kbhit()) break; i=15; pomehi(x,y,i); delay(100); i=7; kolonki(x,y,i); i=0; kolonki(x,y-10, i); i=0; pomehi(x,y,i); delay(100); sound(snd[r]/1.5); if (r==11 ^ r==23 ^ r==27 ^ r==31 ^ r==43) { delay (1500); nosound (); delay (600); } else if (r==53 ^ r==57 ^ r==61) { delay (300); nosound(); delay (1400); } else if (r==47) { delay (500); nosound (); delay (700); } else delay(50); i=7; kolonki(x,y-10,i); i=0; kolonki(x,y,i); } nosound(); setcolor(RED); m: s=getch(); if (s==27) exit(1); if (s=='p') {setfillstyle(SOLID_FILL,0); floodfill(getmaxx()/2,getmaxy()/2,8); goto m1;} if (s!='m') goto m; cleardevice(); i=15; setcolor(i); setfillstyle(SOLID_FILL,i); floodfill(x,y,i); settextstyle(0,0,2); setcolor(RED); outtextxy(150,30,"MENU"); settextstyle(0,0,1); setcolor(2); outtextxy(20,100,"Zadanie po assembleru #1"); setcolor(3); outtextxy(20,135,"Zadanie po assembleru #2"); setcolor(4); outtextxy(20,170,"Zadanie po assembleru #3"); setcolor(5); outtextxy(20,205,"Zadanie po assembleru #4"); setcolor(6); outtextxy(20,240,"Zadanie po assembleru #5"); setcolor(0); outtextxy(20,275,"Zadanie po assembleru #6"); setcolor(8); outtextxy(20,310,"Zadanie po programmirovaniu"); setcolor(9); outtextxy(20,345,"Back to previos display"); setcolor(12); outtextxy(20,380,"Exit"); ki=1; x1=14; y1=95; x2=250; y2=115; rectangle(x1,y1,x2,y2); sled: key=bioskey(0); switch(key) { case 18432:{setcolor(15); rectangle(x1,y1,x2,y2); if (y1==95) {y1=375;y2=395; ki=9;} else {y1=y1-35; y2=y2-35; ki--;} setcolor(RED); rectangle(x1,y1,x2,y2); break; } case 20480: {setcolor(15); rectangle(x1,y1,x2,y2); if (y1==375) {y1=95;y2=115; ki=1;} else {y1=y1+35; y2=y2+35; ki++;} setcolor(RED); rectangle(x1,y1,x2,y2); break; } case 7181: switch(ki) { case 1: spawnl(P_WAIT, "1.EXE", NULL); break; case 2: spawnl(P_WAIT, "2.EXE", NULL); break; case 3: spawnl(P_WAIT, "3.EXE", NULL); break; case 4: spawnl(P_WAIT, "4.EXE", NULL); break; case 5: spawnl(P_WAIT, "5.EXE", NULL); break; case 6: spawnl(P_WAIT, "6.EXE", NULL); break; case 7: spawnl(P_WAIT, "CPP.EXE", NULL); break; case 8: goto snachala; case 9: closegraph(); exit(1); } } goto sled; } 14. Руководство пользователя Для запуска курсовой работы воспользуйтесь файлом KOMP.EXE.В случае возникновения ошибки «Error initialization» убедитесь, что в папке с приложением также есть файл графического драйвера egavga.bgi и его путь в программе указан правильно. Для нормального функционирования курсовой работы необходимо наличие в папке следующих файлов: KOMP.EXE 1.EXE 2.EXE 3.EXE 4.EXE 5.EXE 6.EXE EGAVGA.BGI TRIP.CHR SANS.CHR LITT.CHR INPUT.ASM Любой файл размером < 1 мегабайта (потребуется для индивидуального задания) При запуске приложения отображается графическая заставка, сопровождаемая мелодией и анимацией, а также содержащая информацию об авторе. Нажмите “M” для отображения меню курсовой работы. Выход производится с помощью клавиши Esc. При нажатии любой другой клавиши останавливается мелодия и анимация. Для запуска задания, наведите курсор на задание которое вам нужно и нажмите Enter. Запускается программа из курсовой работы, после выхода из неё, программа автоматически перейдёт в меню В индивидуальном задании потребуется ввести имя файла, после чего нажать ENTER. Курсовая работа тестировалась на операционных системах MS DOS и Microsoft Windows 95/2000/XP, для запуска на операционных системах Windows более высокой версии потребуется специальное программное обеспечение. Список литературы Калашников О. «Ассемблер? Это просто!» Питер Абель. Ассемблер и программирование для IBM PC Курс лекций по предмету «Информатика» Методические указания к выполнению лабораторных работ по предмету «Информатика» Крупник А. - Ассемблер Самоучитель Крупник А. - Изучаем ассемблер Митницкий В. - Архитектура IBM PC и язык Ассемблера Голубь Н. - Искусство программирования на Ассемблере 18