15-06-2007, 11:40 AM
سلام
این بازی شبیه squash هست. یعنی یک توپ در صفحه حرکت میکنه و به دیواره ها که میخوره با همون زاویه تغییر جهت میده.
در ضمن این برنامه فقط تو کامپایلرهای borland اجرا میشه چون از تابع gotoxy() در این برنامه استفاده شده که مختص borland هست.
این بازی شبیه 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
}