تازه های کامپیوتر و برنامه نویسی

آموزش کامپیوتر , برنامه نویسی , نرم افزار

تازه های کامپیوتر و برنامه نویسی

آموزش کامپیوتر , برنامه نویسی , نرم افزار

سورس کدهای بازی مرتب سازی به زبان c++

بازی پازل یکی از بازی های محبوب بین ماست که نیاز به تمرکز و دقت کافی دارد در این بازی ما نه خانه با هشت عدد داریم که این اعداد به هم ریخته و نامنظم هستند و ما باید آنها را مرتب کنیم.

من یک تصویر از خروجی برنامه را در زیر قرار داده ام تا بیشتر متوجه عملکرد این بازی شوید. این بازی که به زبان c++ نوشته شده است سازگار با نرم افزار turbo c است.

برای مشاهده کدهای برنامه لطفا روی لینک ادامه مطلب کلیک کنید.


 

#include<iostream.h>

       #include<dos.h>

       #include<conio.h>

       #include<graphics.h>

       #include<stdio.h>

     // GLOBAL VARIABLES

       int a[5][5];

       int t[16]={0,4,11,12,7,1,15,5,13,6,10,3,2,14,8,9};

       int test[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

       struct pos
     {
       int h,v;
     }p[4][4];

     int row=4,col=4;


          // FUNCTION PROTOTYPES

     void game(int); //MOVEMENT

     void rec();   //DRAWING RECTANGLE

     void pri();   //PRINTING NUMBERS INITIALLY

     int getkey();   // TO TRACE KEY PRESSED

     inline void space() { cout<<"    "; }

     inline void print(int r,int c) { cout<<a[r][c]; }

     void init();   //TO STORE CO-ORDINATES

     int stop();     // STOPING CRITERION

     void gopr(int,int);   //TO PRINT NUMBER IN GAME

 void main()
{
     int gm=DETECT,gd=DETECT;
     initgraph(&gm,&gd,"");

  int d,cr=1;
  init();
  rec();
  pri();

   while(cr!=16)
  {
    d=getkey();
    game(d);
    cr=stop();
  }

  settextstyle(10,0,1);
  outtextxy(400,300,"You are winner!");
  getch();


}

//**************************
   void rec()
  {
      setcolor(1);

     for(int i=0;i<200;i+=50)
    {
      for(int j=0;j<240;j+=60)
      rectangle(j+100,i+100,j+50,i+60);
    }



  }
//************************
   void pri()
  {
      int k=1;
   for(int x=0,i=6;x<4;x++,i+=3)
   {
     for(int y=0,j=10;y<4&&k<16;y++,j+=7,k++)
     {

       gotoxy(p[x][y].h,p[x][y].v);
       cout<<a[x][y];
     }
   }



  }
//**************************
    int getkey()
  {
   union REGS i,o;
   while(!kbhit());
    i.h.ah=0;
   int86(22,&i,&o);
    return(o.h.ah);
  }
//************************

 void init()
  {
    int k=1;
    for(int x=0,i=6;x<4;x++,i+=3)
   {
     for(int y=0,j=10;y<4;y++,j+=7)
     {
       p[x][y].h=j;
       p[x][y].v=i;
       a[x][y]=t[k++];
     }
   }

  }
//************************
 void game(int s)
  {
       int r=row-1;
       int c=col-1;

        if(s==77 &&c!=0)  //right arrow key
      {
        col--;

         a[r][c]=a[r][c-1];


       gopr(r,c-1);

       space();

       gopr(r,c);

       print(r,c-1);


      }

        if(s==80 && r!=0)   //down arrow key
      {
         row--;

          a[r][c]=a[r-1][c];

        gopr(r-1,c);

         space();

        gopr(r,c);

        print(r-1,c);


      }

          if(s==75 && c!=3)     //left key
     {
          a[r][c]=a[r][c+1];
        col++;
        gopr(r,c+1);

        space();


        gopr(r,c);

        print(r,c+1);

     }

        if(s==72 &&r!=3)     //up key
     {

        a[r][c]=a[r+1][c];

        row++;

        gopr(r+1,c);

        space();

        gopr(r,c);

        print(r+1,c);


     }


    }
//*******************************
    void gopr(int x, int y)
       {
     gotoxy(p[x][y].h,p[x][y].v);
       }


      int stop()
    {
     int k=0,d=1;
       for(int x=0;x<4;x++)
      {
       for(int y=0;y<4;y++)
       {
     if(a[x][y]==test[k])
       d++;

       k++;
    }
      }
       return d;
     }
//**********************

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.