📄 chakri.cpp
字号:
putpixel(xc-x,yc+y,cbut);
storepixel(xc-x,yc-y);
if((xc-x>73&&xc-x<638)&&(yc-y>69&&yc-y<443))
putpixel(xc-x,yc-y,cbut);
storepixel(xc+y,yc+x);
if((xc+y>73&&xc+y<638)&&(yc+x>69&&yc+x<443))
putpixel(xc+y,yc+x,cbut);
storepixel(xc-y,yc+x);
if((xc-y>73&&xc-y<638)&&(yc+x>69&&yc+x<443))
putpixel(xc-y,yc+x,cbut);
storepixel(xc+y,yc-x);
if((xc+y>73&&xc+y<638)&&(yc-x>69&&yc-x<443))
putpixel(xc+y,yc-x,cbut);
storepixel(xc-y,yc-x);
if((xc-y>73&&xc-y<638)&&(yc-x>69&&yc-x<443))
putpixel(xc-y,yc-x,cbut);
if(d<0)
d+=2*x+3;
else {
d+=2*(x-y)+5;
y--;
}
x++;
}
return;
}
void rect(int x1,int y1,int x2,int y2)
{
bresline(x1,y1,x2,y1);
bresline(x2,y1,x2,y2);
bresline(x2,y2,x1,y2);
bresline(x1,y2,x1,y1);
return;
}
void plot(int x,int y,int x1,int y1)
{
storepixel(x+x1,y+y1);
if((x+x1>73&&x+x1<638)&&(y+y1>69&&y+y1<443))
putpixel(x+x1,y+y1,cbut);
storepixel(x+x1,y-y1);
if((x+x1>73&&x+x1<638)&&(y-y1>69&&y-y1<443))
putpixel(x+x1,y-y1,cbut);
storepixel(x-x1,y+y1);
if((x-x1>73&&x-x1<638)&&(y+y1>69&&y+y1<443))
putpixel(x-x1,y+y1,cbut);
storepixel(x-x1,y-y1);
if((x-x1>73&&x-x1<638)&&(y-y1>69&&y-y1<443))
putpixel(x-x1,y-y1,cbut);
return;
}
void rplotc(int x,int y,int x1,int y1,int cbut)
{
if((x+x1>73&&x+x1<635)&&(y+y1>69&&y+y1<441))
putpixel(x+x1,y+y1,cbut);
if((x-x1>73&&x-x1<635)&&(y+y1>69&&y+y1<441))
putpixel(x-x1,y+y1,cbut);
if((x+x1>73&&x+x1<635)&&(y+x1>69&&y+x1<441))
putpixel(x+y1,y+x1,cbut);
if((x-y1>73&&x-y1<635)&&(y+x1>69&&y+x1<441))
putpixel(x-y1,y+x1,cbut);
return;
}
void rcplot(int x,int y,int x1,int y1,int cbut)
{
if((x+x1>73&&x+x1<635)&&(y-y1>69&&y-y1<441))
putpixel(x+x1,y-y1,cbut);
if((x-x1>73&&x-x1<635)&&(y-y1>69&&y-y1<441))
putpixel(x-x1,y-y1,cbut);
if((x+y1>73&&x+y1<635)&&(y-x1>69&&y-x1<441))
putpixel(x+y1,y-x1,cbut);
if((x-y1>73&&x-y1<635)&&(y-x1>69&&y-x1<441))
putpixel(x-y1,y-x1,cbut);
return;
}
void rspiralcircle(int x,int y,int r,int ch,int cbut)
{
int x1,y1,p;
x1 = 0;
y1 = r;
p = 3-(2*r);
while(x1<=y1) {
if(ch==1)
rplotc(x,y,x1,y1,cbut);
else
rcplot(x,y,x1,y1,cbut);
if(p<0)
p=p+4*x1+6;
else {
p=p+4*(x1-y1)+10;
y1--;
}
x1++;
}
return;
}
void rspiral(int x,int y,int r,int t,int cbut)
{
int c;
for(c=t;c<r;c+=t) {
rspiralcircle(x,y,c,1,cbut);
x = x - t;
rspiralcircle(x,y,c+t,0,cbut);
x = x + t;
c += t;
}
return;
}
void Spiral(int x1,int y1,int x2,int y2)
{
int x3,a,b,a1,b1,rad;
double r;
a = abs(x2-x1);
b = abs(y2-y1);
r = sqrt( (double) a*a + (double) b*b);
rspiral(x1,y1,r,3,cbut);
return;
}
void tdrect(int x1,int y1,int x2,int y2)
{
bresline(x1,y1,x2,y1);
bresline(x2,y1,x2,y2);
bresline(x2,y2,x1,y2);
bresline(x1,y2,x1,y1);
bresline(x1+20,y1-20,x2+20,y1-20);
bresline(x2+20,y1-20,x2+20,y2-20);
bresline(x2+20,y2-20,x1+20,y2-20);
bresline(x1+20,y2-20,x1+20,y1-20);
bresline(x1+20,y1-20,x1,y1);
bresline(x2+20,y1-20,x2,y1);
bresline(x2+20,y2-20,x2,y2);
bresline(x1+20,y2-20,x1,y2);
return;
}
void tdpyram(int x1,int y1,int x2,int y2)
{
bresline(x1,y1,x2,y2);
bresline(x1,y1,x1+60,y2);
bresline(x1,y1,x1+100,y2-29);
bresline(x2,y2,x1+60,y2);
bresline(x1+60,y2,x1+100,y2-30);
return;
}
void bresellipse(int xc,int yc,long a,long b)
{
int x=0,y,y1;
long d;
if(a<0)
a=-a;
if(b<0)
b=-b;
if(a<5)
a=5;
if(b<1)
b=1;
d = b*b-a*a*b;
y = b;
while(a*a*(y-0.25)>b*b*(x+1)) {
plot(xc,yc,x,y);
d += b * b * (2*x+3);
if(d>=0) {
d+=a*a*(-2*y+2);
y--;
}
x++;
}
d=a*a-b*b*a;
y1=0;x=a;
while(y1<=y) {
plot(xc,yc,x,y1);
d+=a*a*(2*y1+3);
if(d>=0) {
d+=b*b*(-2*x+2);
x--;
}
y1++;
}
return;
}
void hope(int option,int cbut,int patt)
{
int x,y,butt,x1,y1,j,r,flag=1;
int x2=0,y2=0;
cbut1=cbut;
showmptr();
butt=0;
setcolor(cbut);
while((butt!=2)&&(flag)) {
getmpos(&butt,&x,&y);
if((butt&1)==1) {
while(1) {
getmpos(&butt,&x,&y);
if((butt==1)&&(x>73&&x<638)&&(y>69&&y<443)) {
x1=x;
y1=y;
break;
}
}
hidemptr();
while(butt==1) {
getmpos(&butt,&x,&y);
if(x!=x2 || y!=y2) {
x2=x;y2=y;
for(j=0;j<index;j++)
putpixel(a[j].sx,a[j].sy,a[j].sc);
index=0;
setcolor(cbut);
switch(option) {
case 1:bresline(x1,y1,x2,y2);
break;
case 2:brescircle(x1,y1,(x2-x1));
array[0]=x1,array[1]=y1;
array[2]=x2-x1;
array[9]=2;
break;
case 3:rect(x1,y1,x2,y2);
array[0]=x1,array[1]=y1;
array[2]=x2,array[3]=y2;
array[9]=3;
break;
case 4:bresellipse(x1,y1,x2-x1,y2-y1);
array[0]=x1,array[1]=y1;
array[2]=x2-x1,array[3]=y2-y1;
array[9]=4;
break;
case 5:tdrect(x1,y1,x2,y2);
break;
case 6:
restrictmptr(1,39,638,478);
arc(x1,y1,(x2-x1),20,100);
break;
case 7:Spiral(x1,y1,x2,y2);
break;
case 8:tdpyram(x1,y1,x2,y2);
break;
case 9:restrictmptr(75,71,636,442);
rect(x1,y1,x2,y2);
restrictmptr(1,39,638,478);
select[0]=x1+1;
select[1]=y1+1;
select[2]=x2-1;
select[3]=y2-1;
flag=0;
break;
}
}
}
switch(array[9]) {
case 2:if(patt==0)
break;
else {
setcolor(cbut);
rectangle(73,69,636,442);
setfillstyle(patt,cbut);
floodfill(array[0],array[1],cbut);
setcolor(bkgrnd);
rectangle(73,69,636,442);
break;
}
case 3:if(patt==0)
break;
else {
setfillstyle(patt,cbut);
bar(array[0],array[1],array[2],array[3]);
break;
}
case 4:if(patt==0)
break;
else {
setcolor(cbut);
rectangle(73,69,636,442);
setfillstyle(patt,cbut);
floodfill(array[0],array[1],cbut);
setcolor(bkgrnd);
rectangle(73,69,636,442);
break;
}
}
index=0;
showmptr();
}
}
return;
}
/*to press button */
press(int x5[][4],int globkey)
{
int i;
for(i=0;i<=globkey;i++) {
if(i==globkey) {
setcolor(WHITE);
line(x5[i][0],x5[i][3],x5[i][2],x5[i][3]);
line(x5[i][2],x5[i][3],x5[i][2],x5[i][1]);
setcolor(BLACK);
line(x5[i][0],x5[i][1],x5[i][2],x5[i][1]);
line(x5[i][0],x5[i][1],x5[i][0],(x5[i][3])+1);
break;
}
}
return 0;
}
depress(int x5[][4],int globkey)
{
int i;
for(i=0;i<=globkey;i++) {
if(i==globkey) {
setcolor(LIGHTGRAY);
line(x5[i][0],x5[i][3],x5[i][2],x5[i][3]);
setcolor(WHITE);
line(x5[i][0],x5[i][1],x5[i][2],x5[i][1]);
line(x5[i][0],x5[i][1],x5[i][0],x5[i][3]);
setcolor(BLACK);
line((x5[i][0]),(x5[i][3])+1,x5[i][2],(x5[i][3])+1);
line(x5[i][2],x5[i][3],x5[i][2],x5[i][1]);
break;
}
}
return 0;
}
/* erasing function */
eraser(int globkey,int bkgrnd)
{
int butt,x,y;
while(globkey==1) {
getmpos(&butt,&x,&y);
if(butt==1) {
hidemptr();
setfillstyle(1,bkgrnd);
if((x>73&&x<638)&&(y>69&y<443)) {
//bar(x-4,y-4,x+8,y+4);
setfillstyle(1,BLACK);
rectangle(x-4,y-4,x+8,y+4);
delay(10);
setfillstyle(1,bkgrnd);
bar(x-4,y-4,x+8,y+4);
}
globkey=1;
}
showmptr();
if(butt==2) {
globkey=0;
}
}
return 0;
}
/* paint function */
paint(int globkey)
{
int butt,x,y;
showmptr();
while(globkey==3) {
getmpos(&butt,&x,&y);
if(butt==1) {
hidemptr();
setfillstyle(1,cbut);
bar(x-4,y-4,x+4,y+4);
putpixel(x,y,cbut);
putpixel(x+1,y+1,cbut);
putpixel(x+2,y,cbut);
putpixel(x-1,y,cbut);
putpixel(x-2,y-2,cbut);
putpixel(x,y-3,cbut);
putpixel(x+3,y,cbut);
showmptr();
}
else if(butt==2) {
globkey=0;
}
}
return 0;
}
/* file drop down box */
save5(int );
load5(int );
int choice=0;
file()
{
int i;
choice=1;
hidemptr();
setcolor(0);
line(95,45,134,45);
line(95,45,95,63);
setcolor(15);
line(95,63,134,63);
line(134,45,134,63);
save5(choice);
setcolor(LIGHTGRAY);
for(i=70;i<220;i++) {
line(95,i,195,i);
putpixel(195,i,0);
putpixel(96,i,15);
delay(1);
}
setcolor(0);
line(95,220,195,220);
setcolor(DARKGRAY);
line(100,107,190,107);
line(100,144,190,144);
line(100,181,190,181);
setcolor(15);
line(100,108,190,108);
line(100,145,190,145);
line(100,182,190,182);
settextstyle(4,0,2);
settextstyle(4,0,2);
setcolor(BLUE);
outtextxy(125,72,"New");
outtextxy(125,110,"Load");
outtextxy(125,147,"Save");
outtextxy(125,184,"Exit");
settextstyle(4,0,2);
return 0;
}
edit()
{
int i;
choice=2;
hidemptr();
setcolor(0);
line(215,45,260,45);
line(215,45,215,63);
setcolor(15);
line(215,63,260,63);
line(260,45,260,63);
save5(choice);
setcolor(LIGHTGRAY);
for(i=70;i<250;i++) {
line(215,i,315,i);
putpixel(315,i,0);
putpixel(216,i,15);
delay(2);
}
setcolor(0);
line(215,250,315,250);
setcolor(DARKGRAY);
line(220,100,310,100);
line(220,130,310,130);
line(220,160,310,160);
line(220,190,310,190);
line(220,220,310,220);
line(220,250,310,250);
setcolor(15);
line(220,101,310,101);
line(220,131,310,131);
line(220,161,310,161);
line(220,191,310,191);
line(220,221,310,221);
settextstyle(4,0,2);
setcolor(BLUE);
outtextxy(235,72,"Clear");
outtextxy(235,102,"Copy");
outtextxy(235,132,"Paste");
outtextxy(235,162,"Scale");
outtextxy(235,192,"Rotate");
outtextxy(235,222,"Translate");
return 0;
}
view()
{
int i;
choice=3;
hidemptr();
setcolor(0);
line(335,45,385,45);
line(335,45,335,63);
setcolor(15);
line(335,63,385,63);
line(385,45,385,63);
save5(choice);
setcolor(LIGHTGRAY);
for(i=70;i<165;i++) {
line(335,i,435,i);
putpixel(435,i,0);
putpixel(336,i,15);
delay(1);
}
setcolor(0);
line(335,165,435,165);
setcolor(DARKGRAY);
line(340,100,430,100);
line(340,130,430,130);
setcolor(15);
line(340,101,430,101);
line(340,131,430,131);
settextstyle(4,0,2);
setcolor(BLUE);
outtextxy(355,72,"Line");
outtextxy(355,102,"Wheel");
outtextxy(355,132,"Pyramid");
return 0;
}
credits()
{
int i;
choice=4;
hidemptr();
setcolor(0);
line(455,45,525,45);
line(455,45,455,63);
setcolor(15);
line(455,63,525,63);
line(525,45,525,63);
save5(choice);
setcolor(GREEN);
for(i=0;i<230;i++) {
line(354-i,125,354-i,375);
delay(10);
line(355+i,125,355+i,375);
}
setcolor(WHITE);
for(i=0;i<6;i+=2)
rectangle(129+i,128+i,580-i,372-i);
settextstyle(1,0,2);
outtextxy(305,137,"CREDITS");
for(i=0;i<4;i+=2)
line(290,165+i,398,165+i);
settextstyle(2,0,5);
outtextxy(145,180," WE ARE THANKFULL TO THE GUIDANCE OF ");
outtextxy(145,200," MR.CHIKERUR ");
outtextxy(145,220," FOR HELPING IN DOING THIS EDITOR");
outtextxy(145,240," VI SEM COMPUTER SCIENCE ");
outtextxy(145,260,"AND CODING TO OTHER PROGRAMS IS PURELY COINCIDENTAL");
outtextxy(145,280,"CAN BE USED ,COPIED ,DISTRIBUTED AND MODIFIED FREE ");
outtextxy(145,300,"OF ANY COST WHATSOEVER ... [ CLICK HERE ] ");
// outtextxy(145,340,"CHANGES CAN BE EMAILED TO US AT 'BVBCS@REDIFFMAIL.COM'");
//outtextxy(160,220," VI sem computer science ");
//outtextxy(160,240,"and coding to other programs is purely coincidental");
//outtextxy(160,280,"can be used ,copied ,distributed and modified free ");
//outtextxy(160,300,"of any cost whatsoever ... [ CLICK HERE ] ");
//outtextxy(151,340,"CHANGES CAN BE EMAILED TO US AT 'BMUDAY@REDIFFMAIL.COM'");
return 0;
}
cleanup()
{
setcolor(LIGHTGRAY);
rectangle(95,45,134,63);
rectangle(215,45,260,63);
rectangle(335,45,385,63);
rectangle(455,45,525,63);
load5(choice);
return 0;
}
save5(int choice)
{
int x,y,color,ocolor,maxx,maxy,minx,miny;
char fname[]="eddyop1";
FILE *fp=fopen(fname,"w");
switch(choice) {
case 1:minx=95;
miny=70;
maxx=195;
maxy=220;
break;
case 2:minx=215;
miny=70;
maxx=315;
maxy=250;
break;
case 3:minx=335;
miny=70;
maxx=435;
maxy=165;
break;
case 4:minx=124;
miny=125;
maxx=585;
maxy=375;
break;
}
hidemptr();
ocolor = getpixel(minx+2,miny+2);
for(y=miny;y<=maxy;y++) {
for(x=minx;x<=maxx;x++) {
color = getpixel(x,y);
ocolor='a'+color;
fprintf(fp,"%c",ocolor);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -