سورس كود
تصميم لعبة كاسحة الالغام بلغة البرمجة سي بلس بلس c++
Minesweeper
تم الشرح في الصور
اتمنى ان تستفيدو منها
تحياتي لكم جميعاااا
الكووود ::
#include<iostream.h>
#include<conio.h>
int i=0;
int ju=0;
int add1=9;
int add2=7;
void print(int *a)
{
int e=3;
for(i=0;i<16;i++){
cout<<*a<<"\t";
a++;
if(e==i)
{
cout<<"\n";
e+=4;
}
}
}
void proses_array(int *base,int *mines)
{
int *min_point=mines;
int *a;
int *j;
for(i=0;i<4;i++)
{
j=base + (*mines - 1);
if((*mines==1) || (*mines==13))
{
int *sure_min= min_point;
bool key1=true;
bool key2=true;
bool key3=true;
for(ju=0;ju<4;ju++)
{
if(*mines+1==*sure_min)
{
key1=false;
// continue;
}
if(*mines==1)
{
if((*mines + 4) == *sure_min)
{
key2=false;
//continue;
}
if((*mines + 5 )== *sure_min)
{
key3=false;
//continue;
}
}
else// if(*mines==13)
{
if((*mines - 4)== *sure_min)
{
key2=false;
//continue;
}
if((*mines - 3)==*sure_min)
{
key3=false;
// continue;
}
}
sure_min++;
}
if(key1==true)
{
a=j+1; *a +=1;
}
if(key2==true)
{
if(*mines==1) {a=j+4;}
else {a=j-4;}
*a +=1;
}
if(key3==true)
{
if(*mines==1) {a=j+5;}
else {a=j-3;}
*a +=1;
}
}
else if((*mines==4) || (*mines==16))
{
int *sure_min= min_point;
bool key1=true;
bool key2=true;
bool key3=true;
for(ju=0;ju<4;ju++)
{
if(*mines-1==*sure_min)
{
key1=false;
// continue;
}
if(*mines==4)
{
if((*mines + 4) == *sure_min)
{
key2=false;
//continue;
}
if((*mines + 3 )== *sure_min)
{
key3=false;
//continue;
}
}
else// if(*mines==13)
{
if((*mines - 4)== *sure_min)
{
key2=false;
//continue;
}
if((*mines - 5)==*sure_min)
{
key3=false;
// continue;
}
}
sure_min++;
}
if(key1==true)
{
a=j-1; *a +=1;
}
if(key2==true)
{
if(*mines==4) {a=j+4;}
else {a=j-4;}
*a +=1;
}
if(key3==true)
{
if(*mines==4) {a=j+3;}
else {a=j-5;}
*a +=1;
}
}
else if((*mines==2) || (*mines==3))
{
int *sure_min= min_point;
bool key1=true;
bool key2=true;
bool key3=true;
bool key4=true;
bool key5=true;
for(ju=0;ju<4;ju++)
{
if((*mines - 1 ) == *sure_min)
{
key1=false;
}
if((*mines + 1) == *sure_min)
{
key2=false;
}
if((*mines + 3) == *sure_min)
{
key3=false;
}
if((*mines + 4 )== *sure_min)
{
key4=false;
}
if((*mines + 5)== *sure_min)
{
key5=false;
}
sure_min++;
}
if(key1==true)
{
a=j-1; *a +=1;
}
if(key2==true)
{
a=j+1; *a +=1;
}
if(key3==true)
{
a=j+3; *a +=1;
}
if(key4==true)
{
a=j+4; *a +=1;
}
if(key5==true)
{
a=j+5; *a +=1;
}
}
else if((*mines==14) || (*mines==15))
{
int *sure_min= min_point;
bool key1=true;
bool key2=true;
bool key3=true;
bool key4=true;
bool key5=true;
for(ju=0;ju<4;ju++)
{
if((*mines - 1 ) == *sure_min)
{
key1=false;
}
if((*mines + 1) == *sure_min)
{
key2=false;
}
if((*mines - 3) == *sure_min)
{
key3=false;
}
if((*mines - 4 )== *sure_min)
{
key4=false;
}
if((*mines - 5)== *sure_min)
{
key5=false;
}
sure_min++;
}
if(key1==true)
{
a=j-1; *a +=1;
}
if(key2==true)
{
a=j+1; *a +=1;
}
if(key3==true)
{
a=j-3; *a +=1;
}
if(key4==true)
{
a=j-4; *a +=1;
}
if(key5==true)
{
a=j-5; *a +=1;
}
}
else if((*mines==5) || (*mines==9))
{
int *sure_min= min_point;
bool key1=true;
bool key2=true;
bool key3=true;
bool key4=true;
bool key5=true;
for(ju=0;ju<4;ju++)
{
if((*mines + 1 ) == *sure_min)
{
key1=false;
}
if((*mines - 4) == *sure_min)
{
key2=false;
}
if((*mines - 3) == *sure_min)
{
key3=false;
}
if((*mines + 4 )== *sure_min)
{
key4=false;
}
if((*mines + 5)== *sure_min)
{
key5=false;
}
sure_min++;
}
if(key1==true)
{
a=j+1; *a +=1;
}
if(key2==true)
{
a=j-4; *a +=1;
}
if(key3==true)
{
a=j-3; *a +=1;
}
if(key4==true)
{
a=j+4; *a +=1;
}
if(key5==true)
{
a=j+5; *a +=1;
}
}
else if((*mines==8) || (*mines==12))
{
int *sure_min= min_point;
bool key1=true;
bool key2=true;
bool key3=true;
bool key4=true;
bool key5=true;
for(ju=0;ju<4;ju++)
{
if((*mines - 1 ) == *sure_min)
{
key1=false;
}
if((*mines - 4) == *sure_min)
{
key2=false;
}
if((*mines - 5) == *sure_min)
{
key3=false;
}
if((*mines + 4 )== *sure_min)
{
key4=false;
}
if((*mines + 3)== *sure_min)
{
key5=false;
}
sure_min++;
}
if(key1==true)
{
a=j-1; *a +=1;
}
if(key2==true)
{
a=j-4; *a +=1;
}
if(key3==true)
{
a=j-5; *a +=1;
}
if(key4==true)
{
a=j+4; *a +=1;
}
if(key5==true)
{
a=j+3; *a +=1;
}
}
else // ((*mines==6) || (*mines==7)|| (*mines==10) || (*mines==11))
{
int *sure_min= min_point;
bool key1=true;
bool key2=true;
bool key3=true;
bool key4=true;
bool key5=true;
bool key6=true;
bool key7=true;
bool key8=true;
for(ju=0;ju<4;ju++)
{
if((*mines - 1 ) == *sure_min)
{
key1=false;
}
if((*mines + 1) == *sure_min)
{
key2=false;
}
if((*mines - 3) == *sure_min)
{
key3=false;
}
if((*mines - 4 )== *sure_min)
{
key4=false;
}
if((*mines - 5)== *sure_min)
{
key5=false;
}
if((*mines + 3 ) == *sure_min)
{
key6=false;
}
if((*mines + 4 ) == *sure_min)
{
key7=false;
}
if((*mines + 5 ) == *sure_min)
{
key8=false;
}
sure_min++;
}
if(key1==true)
{
a=j-1; *a +=1;
}
if(key2==true)
{
a=j+1; *a +=1;
}
if(key3==true)
{
a=j-3; *a +=1;
}
if(key4==true)
{
a=j-4; *a +=1;
}
if(key5==true)
{
a=j-5; *a +=1;
}
if(key6==true)
{
a=j+3; *a +=1;
}
if(key7==true)
{
a=j+4; *a +=1;
}
if(key8==true)
{
a=j+5; *a +=1;
}
}
mines++;
}
}
void show1()
{
int rr=1;
for(int roww=0;roww<4;roww++)
{ //for(roww)
if(roww==0)
{
cout<<"\t\t\t\t" ;
for(int t=0;t<4;t++) // { first row
{
if((t==0)||(t==3))
for(int i=0;i<5;i++)
{cout<<"_";}
else
for(int i=0;i<4;i++)
{cout<<"_";}
cout<<" ";
} // }
}
cout<<"\n\t\t\t\t|";
for(int t=0;t<4;t++) // { between row
{
for(int y=0;y<4;y++)
{
cout<<" ";
if(y==3)
cout<<"|";
}
} // }
cout<<"\n\t\t\t\t|";
for(int t=0;t<4;t++) // { //////////////////
{
for(int y=0;y<4;y++)
{
if(y==1)
{
cout<<rr;
if(rr>9)
y++;
}
else
{
cout<<" ";
}
if(y==3)
cout<<"|";
}
rr++;
} // } ///////////////////
cout<<"\n\t\t\t\t|";
for(int t=0;t<4;t++) // { last row
{
for(int i=0;i<4;i++)
{
cout<<"_";
if(i==3) cout<<"|";
}
} // }
} //for(roww)
}
int show_pro(int *array,int *x,int add)
{
bool key_manes=false;
int rr=1;
int *arrayy=array;
for(int roww=0;roww<4;roww++)
{ //for(roww)
cout<<"\t" ;
if(roww==0)
{
for(int t=0;t<4;t++) // { first row
{
if((t==0)||(t==3))
for(int i=0;i<5;i++)
{cout<<"_";}
else
for(int i=0;i<4;i++)
{cout<<"_";}
cout<<" ";
} // }
}
cout<<"\n\t|";
for(int t=0;t<4;t++) // { between row
{
for(int y=0;y<4;y++)
{
cout<<" ";
if(y==3)
cout<<"|";
}
} // }
cout<<"\n\t|";
for(int t=0;t<4;t++) // { //////////////////
{
for(int y=0;y<4;y++)
{
if(y==1)
{
int *xe=x;
bool key_m=false;
for(int rt=0;rt<=add;rt++)
{
key_m=false;
if(*xe==rr)
{
if(*arrayy==9)
{
cout<<"@";
key_m=false;
key_manes=true; //return 1;
break;
}
else
{
cout<<*arrayy;
key_m=false;
break;
}
}
else
{key_m=true;}
xe++;
}
if(key_m==true)
cout<<"*";
arrayy++;
rr++;
}
else
{
cout<<" ";
}
if(y==3)
cout<<"|";
}
//rr++;
} // } ///////////////////
cout<<"\n\t|";
for(int t=0;t<4;t++) // { last row
{
for(int i=0;i<4;i++)
{
cout<<"_";
if(i==3) cout<<"|";
}
} // }
} //for(roww)
if(key_manes==true)
return 1;
return 0;
}
void num_ash(int *mines,int ad_d1,int ad_d2)
{
//int base==mines;
int *val_num=mines;
for(int a=0;a<4;a++)
{
re:
*val_num=((ad_d1 * ad_d2) % 17); //darb
for(int aa=0;aa<a;aa++)
{
int *col=( mines + aa );
if(*val_num==(*col))
{
ad_d1++;
ad_d2++;
goto re;
}
}
if(*val_num==0)
{
ad_d1++;
ad_d2++;
goto re;
}
val_num++;
ad_d1++;
ad_d2++;
}
}
int main()
{
int resaltt ;
int finsh_blay[16];
for(int fin=0;fin<16;fin++)
finsh_blay[fin]=fin+1;
int exitt;
do
{
int mines[4];
int array[4][4];
int add_m[16-4];
for(int adm=0;adm<13;adm++)
add_m[adm]=0;
int *base=&array[0][0];
num_ash(&mines[0],add1,add2);
add1 *=3;
add2+=3;
for( i=0;i<4;i++)
for( ju=0;ju<4;ju++)
{
array[i][ju]=0;
}
for(i=0;i<4;i++)
{
int *val_m = base + (mines[i]-1);
*val_m=9;
}
proses_array(&array[0][0],&mines[0]);
for(i=1;i<(16-3);i++)
{
rere:
clrscr();
cout<<"\t\t\t*** Welcam to my gemes ***\n\n";
show1() ;
cout<<"\n\n" ;
if(i>1)
resaltt=show_pro(&array[0][0],&add_m[0],i);
cout<<"\n\nshoes anny number of the table :: " ;
re:
cout<<"\n\n enter number :: ";
cin>>add_m[i];
if((add_m[i]>0)&&(add_m[i]<17))
{
for(int ie=1;ie<i;ie++)
if(add_m[ie]==add_m[i])
{goto rere;}
for(int ru=0;ru<4;ru++)
if(add_m[i]==mines[ru])
{
cout<<"\n\n\t\t\t finsh bad game !!\n\n\t\t\t try agine \n\n" ;
goto ex;
}
if(i == 12)
{
goto ex2;
}
resaltt=show_pro(&array[0][0],&add_m[0],i);
}
else
{
cout<<"\terorr enter !! agin ";
goto re;
}
}
ex2:
cout<<"\n\nyou are the best good \n\n";
ex:
int op=show_pro(&array[0][0],&finsh_blay[0],15);
cout<<"\n\n\t\t finshed game !!\n\n\t\t\t<-- go to exit press number --> ( 0 ) \n\n\t\t\t<-- try agine pres any number --> :: ";
cin>>exitt;
}while(exitt!=0);
cout<<"\n\n\t\t good bay ^_^";
getch();
}
تصميم لعبة
تصميم لعبة إلكترونية
تصميم لعبة على برنامج سي بلس بلس
تصميم لعبة على برنامج c++
لغة سي بلس بلس
لغة c++
لعبة باستخدام سي بلس بلس
لعبة باستخدام c++
***********************
***********************




