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
Post a Comment