Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- int grille[4][4];
- char *affichage(int n);
- void afficherGrille();
- void modifierGrille();
- int verificationhauteur();
- int verificationbas();
- int verificationgauche();
- int verificationdroit();
- using namespace std;
- int main()
- {
- char commande;
- cout << "Bienvenue sur le jeu 2048" << endl << endl;
- for (int i=0; i<4; i++)
- {
- for(int j=0; j<4; j++)
- {
- grille[i][j]=0;
- }
- }
- grille[4][4] = 2;
- modifierGrille();
- return 0;
- }
- char *affichage(int n)
- {
- char *ret = (char*)malloc(10);
- if (n == 0)
- {
- sprintf(ret, " 0 ");
- }
- if (n == 2)
- {
- sprintf(ret, " 2 ");
- }
- if (n == 4)
- {
- sprintf(ret, " 4 ");
- }
- if (n == 8)
- {
- sprintf(ret, " 8 ");
- }
- if (n == 16)
- {
- sprintf(ret, " 16 ");
- }
- if (n == 32)
- {
- sprintf(ret, " 32 ");
- }
- if (n == 64)
- {
- sprintf(ret, " 64 ");
- }
- if (n == 128)
- {
- sprintf(ret, " 128 ");
- }
- if (n == 256)
- {
- sprintf(ret, " 256 ");
- }
- if (n == 512)
- {
- sprintf(ret, " 512 ");
- }
- if (n == 1024)
- {
- sprintf(ret, " 1024");
- }
- if (n == 2048)
- {
- sprintf(ret, " 2048");
- }
- return ret;
- }
- void afficherGrille()
- {
- cout << "*************************" << endl;
- cout << "*" << affichage(grille[1][1]) << "*" << affichage(grille[1][2]) << "*" << affichage(grille[1][3]) << "*" << affichage(grille[1][4]) << "*" << endl;
- cout << "*************************" << endl;
- cout << "*" << affichage(grille[2][1]) << "*" << affichage(grille[2][2]) << "*" << affichage(grille[2][3]) << "*" << affichage(grille[2][4]) << "*" << endl;
- cout << "*************************" << endl;
- cout << "*" << affichage(grille[3][1]) << "*" << affichage(grille[3][2]) << "*" << affichage(grille[3][3]) << "*" << affichage(grille[3][4]) << "*" << endl;
- cout << "*************************" << endl;
- cout << "*" << affichage(grille[4][1]) << "*" << affichage(grille[4][2]) << "*" << affichage(grille[4][3]) << "*" << affichage(grille[4][4]) << "*" << endl;
- cout << "*************************" << endl;
- }
- void modifierGrille()
- {
- afficherGrille();
- char p;
- while ( 1 )
- {
- cout<<"Sens de mouvement ?"<<endl;
- cin>>p;
- if (p == 'h')
- {
- verificationhauteur();
- afficherGrille();
- }
- else if (p == 'b')
- {
- verificationbas();
- afficherGrille();
- }
- else if (p=='g')
- {
- verificationgauche();
- afficherGrille();
- }
- else if (p=='d')
- {
- verificationdroit();
- afficherGrille();
- }
- else
- {
- cout << "rentre h / b / g / d" << endl;
- }
- }
- }
- int verificationhauteur()
- {
- for (int j=1;j<=4;j++)
- {
- //for (int i=0;i<3;i++)
- //{
- if (grille[1][j] == grille[2][j]){
- grille[1][j] = grille[2][j]*2;
- grille[2][j] = 0;}
- if (grille[2][j] == grille[3][j]){
- grille[2][j] = grille[3][j]*2;
- grille[3][j] = 0;}
- if (grille[3][j] == grille[4][j]){
- grille[3][j] = grille[4][j]*2;
- grille[4][j] = 0;}
- if (grille[4][j] != 0 && grille[3][j]==0){
- grille[3][j]=grille[4][j];
- grille[4][j]=0;}
- if (grille[3][j] != 0 && grille[2][j]==0){
- grille[2][j]=grille[3][j];
- grille[3][j]=0;}
- if (grille[2][j] != 0 && grille[1][j]==0){
- grille[1][j]=grille[2][j];
- grille[2][j]=0;}
- if (grille[4][j] != 0 && grille[3][j]==0){
- grille[3][j]=grille[4][j];
- grille[4][j]=0;}
- if (grille[3][j] != 0 && grille[2][j]==0){
- grille[2][j]=grille[3][j];
- grille[3][j]=0;}
- if (grille[2][j] != 0 && grille[1][j]==0){
- grille[1][j]=grille[2][j];
- grille[2][j]=0;}
- // }
- }
- }
- int verificationbas()
- {
- for (int j=0;j<=4;j++)
- {
- //for (int i=0;i<3;i++)
- //{
- if (grille[4][j] == grille[3][j]){
- grille[4][j] = grille[3][j]*2;
- grille[3][j] = 0;}
- if (grille[3][j] == grille[2][j]){
- grille[3][j] = grille[2][j]*2;
- grille[2][j] = 0;}
- if (grille[2][j] == grille[1][j]){
- grille[2][j] = grille[1][j]*2;
- grille[1][j] = 0;}
- if (grille[1][j] != 0 && grille[2][j]==0){
- grille[2][j]=grille[1][j];
- grille[1][j]=0;}
- if (grille[2][j] != 0 && grille[3][j]==0){
- grille[3][j]=grille[2][j];
- grille[2][j]=0;}
- if (grille[3][j] != 0 && grille[4][j]==0){
- grille[4][j]=grille[3][j];
- grille[3][j]=0;}
- if (grille[1][j] != 0 && grille[2][j]==0){
- grille[2][j]=grille[1][j];
- grille[1][j]=0;}
- if (grille[2][j] != 0 && grille[3][j]==0){
- grille[3][j]=grille[2][j];
- grille[2][j]=0;}
- if (grille[3][j] != 0 && grille[4][j]==0){
- grille[4][j]=grille[3][j];
- grille[3][j]=0;}
- // }
- }
- }
- int verificationgauche()
- {
- for (int j=0;j<=4;j++)
- {
- //for (int i=0;i<3;i++)
- //{
- if (grille[j][1] == grille[j][2]){
- grille[j][1] = grille[j][2]*2;
- grille[j][2] = 0;}
- if (grille[j][2] == grille[j][3]){
- grille[j][2] = grille[j][3]*2;
- grille[j][3] = 0;}
- if (grille[j][3] == grille[j][4]){
- grille[j][3] = grille[j][4]*2;
- grille[j][4] = 0;}
- if (grille[j][4] != 0 && grille[j][3]==0){
- grille[j][3]=grille[j][4];
- grille[j][4]=0;}
- if (grille[j][3] != 0 && grille[j][2]==0){
- grille[j][2]=grille[j][3];
- grille[j][3]=0;}
- if (grille[j][2] != 0 && grille[j][1]==0){
- grille[j][1]=grille[j][2];
- grille[j][2]=0;}
- if (grille[j][4] != 0 && grille[j][3]==0){
- grille[j][3]=grille[j][4];
- grille[j][4]=0;}
- if (grille[j][3] != 0 && grille[j][2]==0){
- grille[j][2]=grille[j][3];
- grille[j][3]=0;}
- if (grille[j][2] != 0 && grille[j][1]==0){
- grille[j][1]=grille[j][2];
- grille[j][2]=0;}
- // }
- }
- }
- int verificationdroit()
- {
- for (int j=0;j<=4;j++)
- {
- //for (int i=0;i<3;i++)
- //{
- if (grille[j][4] == grille[j][3]){
- grille[j][4] = grille[j][3]*2;
- grille[j][3] = 0;}
- if (grille[j][3] == grille[j][2]){
- grille[j][3] = grille[j][2]*2;
- grille[j][2] = 0;}
- if (grille[j][2] == grille[j][1]){
- grille[j][2] = grille[j][1]*2;
- grille[j][1] = 0;}
- if (grille[j][1] != 0 && grille[j][2]==0){
- grille[j][2]=grille[j][1];
- grille[j][1]=0;}
- if (grille[j][2] != 0 && grille[j][3]==0){
- grille[j][3]=grille[j][2];
- grille[j][2]=0;}
- if (grille[j][3] != 0 && grille[j][4]==0){
- grille[j][4]=grille[j][3];
- grille[j][3]=0;}
- if (grille[j][1] != 0 && grille[j][2]==0){
- grille[j][2]=grille[j][1];
- grille[j][1]=0;}
- if (grille[j][2] != 0 && grille[j][3]==0){
- grille[j][3]=grille[j][2];
- grille[j][2]=0;}
- if (grille[j][3] != 0 && grille[j][4]==0){
- grille[j][4]=grille[j][3];
- grille[j][3]=0;}
- // }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement