Code Corona

نسخه کامل: بازیه squash
شما در حال مشاهده نسخه ساده شده مطالب هستید. نسخه کامل را به همراه قالب بندی ببینید.
سلام
این بازی شبیه squash هست. یعنی یک توپ در صفحه حرکت میکنه و به دیواره ها که میخوره با همون زاویه تغییر جهت میده.
در ضمن این برنامه فقط تو کامپایلرهای borland اجرا میشه چون از تابع gotoxy() در این برنامه استفاده شده که مختص borland هست.
کد:
//written by soheil setayeshi
//www.codecorona.com
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
    int v,m,l=0;
    int a[4],i,x=40,y=12,ix=-1,iy=-1,n=9;
   char ch;
   cout<<"Enter level of your game:\nFor easy enter 1\nFor medium enter 2\nFor hard enter 3\n";
   cin>>m;
   clrscr();
   switch(m)
   {
      case 1:l=2000;break;
      case 2:l=1300;break;
      case 3:l=1000;break;
   }
   for(i=0;i<4;i++)
   {
       a[i]=n++;
       gotoxy(80,a[i]);
      putch(2);
   }
   while(1)
   {
       for(v=0;v<=l;v++){gotoxy(1,25);cout<<' ';}//for decrease speed of star
      gotoxy(x,y);
      putch(' ');
      x=x+ix;
      y=y+iy;
      if(x==80)
      {
             if(y-iy==a[1]||y-iy==a[2]||y-iy==a[0]||y-iy==a[3])
            {
                  x=x-ix;
               ix*=-1;
               y=y-iy;
               gotoxy(x,y);
               putch('*');
            }
            else
            {
                clrscr();
               gotoxy(30,12);
                cout<<"!!!!!!GAME OVER!!!!!!";
               getch();
               exit(0);
            }
      }
      else
      {
              gotoxy(x,y);
            putch('*');
      }

      if(x==1)
          ix*=-1;
      if(y==1||y==24)
          iy*=-1;

      if(kbhit())
      {//start of kbhit
           ch=getch();
          if(!ch)
              ch=getch();
          if(ch==72)//up
          {
              for(i=0;i<4;i++)
             {
                if(a[3]!=4)
                 {
                     a[i]-=1;
                       gotoxy(80,a[i]);
                  putch(2);
               }
               }
            gotoxy(80,a[3]+1);
            putch(' ');
          }
          else if(ch==80)//down
          {
               for(i=3;i>=0;i--)
             {
                if(a[0]!=21)
                 {
                     a[i]+=1;
                       gotoxy(80,a[i]);
                  putch(2);
               }
               }
            gotoxy(80,a[0]-1);
            putch(' ');
          }
        }//end of kbhit

   }//end of while
}
لینک‌های مرجع