Ping pong


#include<iostream.h>
#include<graphics.h>
#include<conio.h>
#include<dos.h>
 main()
{
  int gd=DETECT,gm;
  int midx,midy,m,n,px=200,py=200,x=0,y=0,a=1,b=1,playera=0,playerb=0;
  initgraph (&gd,&gm,"c:\\tc\\bgi");
  char ch;
  midx=getmaxx()/2;
  midy=getmaxy()/2;
  settextjustify(CENTER_TEXT, CENTER_TEXT);
  settextstyle(4,HORIZ_DIR,4);
  outtextxy(midx,20,"PING PONG");
  outtextxy(midx,midy-100,"ESC to quit");
  outtextxy(midx,midy+10,"Controlls ");
  outtextxy(midx-150,midy+40,"Player 1:");
  outtextxy(midx-100,midy+70,"w = up");
  outtextxy(midx-100,midy+100,"s = down");
  outtextxy(midx-150,midy+140,"Player 2:");
  outtextxy(midx-100,midy+170,"o = up");
  outtextxy(midx-100,midy+200,"l = down");

  getch();


  while(1)
  {

  cleardevice();
  gotoxy(37,30);
  cout<<playera<<" , "<<playerb;

  circle(px,py,4);
  floodfill(px,py,getmaxcolor());
  rectangle(0,a,10,a+100);//boxa
  floodfill(1,a+1,getmaxcolor());
  rectangle(midx*2,b,midx*2-10,b+100);//boxb
  floodfill(midx*2-1,b+1,getmaxcolor());
  delay(40);

   ch='q';
 //if a key is pressed on keyboard
   if(kbhit())
   {
    ch=getch();
   }

   if(px<=0||px>=midx*2)
   {
    x++;
   }
   if(py<=0||py>=midy*2)
   {
    y++;
   }
   if(x%2==0)
   {
    px=px+5;
   }
   else
   {
    px=px-5;
   }

   if(y%2==0)
   {
    py=py+5;
   }
   else
   {
    py=py-5;
   }


   if(px<5)
   {
    if(py<a||py>a+100)
    {
    playerb++;
    }
   }

   if(px>midx*2-1)
   {
    if(py<b||py>b+100)
    {
    playera++;
    }
   }


  switch(ch)
  {
  case 'w':
  if(a>10)
  a=a-10;
  break;

  case 's':
  if(a<(midy*2-100))
  a=a+10;
  break;

  case 'o':
  if(b>10)
  b=b-10;
  break;

  case 'l':
  if(b<midy*2-100)
  b=b+10;
  break;

  case 'p':
  getch();
  break;

  case char(27):
  return 0;
  }
  }
}

Comments

Popular Posts