void open(int x,int y) { if(x>=minx&&x<=maxx&&y>=miny&&y<=maxy) { int c=0; if(mark[(x-minx)/40][(y-miny)/30]==1) mark1[(x-minx)/40][(y-miny)/30]=1; if(mark1[(x-minx)/40][(y-miny)/30]==0&&mark[(x-minx)/40][(y-miny)/30]==0)//correction made { for(int i=0;i<mines;i++) if(a[i][1]==x&&a[i][2]==y) { setcolor(5); //outtextxy(275,100,"MINE OPENED"); setfillstyle(SOLID_FILL,10); for(int i=0;i<mines;i++) { bar(a[i][1]+7,a[i][2]+7,a[i][1]+33,a[i][2]+23); outtextxy(a[i][1]+12,a[i][2]+10,"$$"); } settextstyle(TRIPLEX_FONT,0,5); setcolor(3); outtextxy(120,240,"$$$ YOU LOSE $$$"); getch(); exit(1); } numgen(x,y,c); mark1[(x-minx)/40][(y-miny)/30]=1; if(numgen(x ,y,c)==0) { if(mark[(x-minx-40)/40][(y-miny)/30]!=1) open(x-40,y); if(mark[(x-minx-40)/40][(y-miny-30)/30]!=1) open(x-40,y-30); if(mark[(x-minx-40)/40][(y-miny+30)/30]!=1) open(x-40,y+30); if(mark[(x-minx+40)/40][(y-miny)/30]!=1) open(x+40,y); if(mark[(x-minx+40)/40][(y-miny-30)/30]!=1) open(x+40,y-30); if(mark[(x-minx+40)/40][(y-miny+30)/30]!=1) open(x+40,y+30); if(mark[(x-minx)/40][(y-miny-30)/30]!=1) open(x,y-30); if(mark[(x-minx)/40][(y-miny+30)/30]!=1) open(x,y+30); } } } }
int main(int argc, char *argv[]) { start=0; /* Start number */ finish=255; /* Finish number */ width=16; /* Numbers in a line */ fp=fopen("file0001.txt","w"); /* Open file for writing */ fprintf(fp,"####################################\n"); fprintf(fp,"#\n"); fprintf(fp,"# -- TEXTPATGEN GENERATED FILE --\n"); fprintf(fp,"#\n"); fprintf(fp,"# Start number: %ld ( 0x%lX Hex, 0%lo Octal )\n",start,start,start); fprintf(fp,"# Finish number: %ld ( 0x%lX Hex, 0%lo Octal )\n",finish,finish,finish); fprintf(fp,"# Numbers in a line: %ld\n",width); fprintf(fp,"#\n"); fprintf(fp,"####################################\n"); numgen(start, finish, size); fprintf(fp,"# -- End of file.\n"); fclose(fp); /* Close file */ return 0; }
main() { initwindow(300,370); int remark,i,j,k,dp; float num[100]={0},number[100]= {0},ans; char task; task='\0'; i=0; j=0; ans=0; dp=-1; layout(); setviewport(3,8,290,50,1); getclick: clearmouseclick(513); setbkcolor(WHITE); clearviewport(); setcolor(RED); settextstyle(2,1,10); char c[100]; if((number[j]==0||number[j]==1)&&j!=0&&i!=1) { k=j-1; } else { k=j; } if(number[k]-(int)number[k]==0) { sprintf(c,"%.0f",number[k]); } else { sprintf(c,"%.4f",number[k]); } outtextxy(280,45,c); if(task!='S'&&task!='^') { settextstyle(2,1,6); sprintf(c,"%c",task); outtextxy(10,25,c); } delay(500); if(ismouseclick(513)==1) { getclick1: remark=click(); if(remark==-1000) { number[j]=numgen(num,i,dp); goto getclick; } else if(remark==-100) { return 0; } else if(remark>=0&&remark<=9) { if(task=='S') { j++; i=0; task='\0'; } num[i]=remark; i++; number[j]=numgen(num,i,dp); clearviewport(); delay(25); goto getclick; } else if(remark==-1) { if(i==dp) { dp=-1; } i--; if(i<0) { i=0; } number[j]=numgen(num,i,dp); clearviewport(); delay(25); goto getclick; } else if(remark==-2) { dp=i; //number[j]=numgen(num,i,dp); clearviewport(); delay(25); goto getclick; } //calculate = else if(remark==12) { if(num[0]-(int)num[0]==0) { number[j]=numgen(num,i,dp); } else { number[j]=num[0]; } if(task=='+') { number[j]=add(number[j-1],number[j]); } else if(task=='-') { number[j]=sub(number[j-1],number[j]); } else if(task=='x') { number[j]=mul(number[j-1],number[j]); } else if(task=='/') { number[j]=divi(number[j-1],number[j]); } else if(task=='^') { number[j]=pow(number[j-1],number[j]); } clearviewport(); ans=number[j]; while(1) { delay(50); setbkcolor(WHITE); settextstyle(2,1,10); if(task=='/'&&number[j]==-1) { settextstyle(2,1,8); outtextxy(285,35,"MATH ERROR"); } else if(number[j]-(int)number[j]==0) { sprintf(c,"%.0f",number[j]); outtextxy(280,45,c); } else { sprintf(c,"%.4f",number[j]); outtextxy(285,45,c); } delay(500); if(ismouseclick(513)) { i=0; j=0; number[j]=0; dp=-1; task='\0'; clearviewport(); delay(50); goto getclick1; } } } else if(remark==11) { if(num[0]-(int)num[0]==0) { number[j]=numgen(num,i,dp); } else { number[j]=num[0]; } if(task=='+') { number[j]=add(number[j-1],number[j]); } else if(task=='-') { number[j]=sub(number[j-1],number[j]); } else if(task=='x') { number[j]=mul(number[j-1],number[j]); } else if(task=='/') { number[j]=divi(number[j-1],number[j]); } else if(task=='^') { number[j]=pow(number[j-1],number[j]); } j++; i=0; number[j]=0; dp=-1; task='+'; clearviewport(); delay(25); goto getclick; } else if(remark==13) { i=0; j=0; number[j]=0; task='\0'; goto getclick; } else if(remark==14) { if(num[0]-(int)num[0]==0) { number[j]=numgen(num,i,dp); } else { number[j]=num[0]; } if(task=='+') { number[j]=add(number[j-1],number[j]); } else if(task=='-') { number[j]=sub(number[j-1],number[j]); } else if(task=='x') { number[j]=mul(number[j-1],number[j]); } else if(task=='/') { number[j]=divi(number[j-1],number[j]); } else if(task=='^') { number[j]=pow(number[j-1],number[j]); } j++; i=0; number[j]=0; dp=-1; task='-'; clearviewport(); delay(25); goto getclick; } else if(remark==15) { if(num[0]-(int)num[0]==0) { number[j]=numgen(num,i,dp); } else { number[j]=num[0]; } if(task=='+') { number[j]=add(number[j-1],number[j]); } else if(task=='-') { number[j]=sub(number[j-1],number[j]); } else if(task=='x') { number[j]=mul(number[j-1],number[j]); } else if(task=='/') { number[j]=divi(number[j-1],number[j]); } else if(task=='^') { number[j]=pow(number[j-1],number[j]); } j++; i=0; number[j]=0; dp=-1; num[i]=0; task='x'; clearviewport(); delay(25); goto getclick; } else if(remark==16) { if(num[0]-(int)num[0]==0) { number[j]=numgen(num,i,dp); } else { number[j]=num[0]; } if(task=='+') { number[j]=add(number[j-1],number[j]); } else if(task=='-') { number[j]=sub(number[j-1],number[j]); } else if(task=='x') { number[j]=mul(number[j-1],number[j]); } else if(task=='/') { number[j]=divi(number[j-1],number[j]); } else if(task=='^') { number[j]=pow(number[j-1],number[j]); } j++; i=0; number[j]=0; dp=-1; num[i]=0; task='/'; clearviewport(); delay(25); goto getclick; } else if(remark==-3) { number[j]=sqrt(number[j]); num[0]=number[j]; i=1; task='S'; ans=number[j]; clearviewport(); delay(50); clearmouseclick(513); goto getclick; } else if(remark==-4) { number[j]=(number[j]/100)*number[j-1]; if(number[j-1]==0) { number[j]=0; } num[0]=number[j]; i=1; task='S'; ans=number[j]; clearviewport(); delay(50); clearmouseclick(513); goto getclick; } else if(remark==-5) { if(num[0]-(int)num[0]==0) { number[j]=numgen(num,i,dp); } else { number[j]=num[0]; } if(task=='+') { number[j]=add(number[j-1],number[j]); } else if(task=='-') { number[j]=sub(number[j-1],number[j]); } else if(task=='x') { number[j]=mul(number[j-1],number[j]); } else if(task=='/') { number[j]=divi(number[j-1],number[j]); } else if(task=='^') { number[j]=pow(number[j-1],number[j]); } j++; i=0; number[j]=0; dp=-1; num[i]=0; task='^'; clearviewport(); delay(25); goto getclick; } else if(remark==-6) { number[j]=ans; num[0]=ans; i=1; clearviewport(); delay(25); goto getclick; } else { clearmouseclick(513); goto getclick; } } clearmouseclick(513); goto getclick; }