帮忙看一下,那里错了??急!!:(
我要做一个类似小球在上面这个框中不断反弹的程序,麻烦大家看一下,看那里错了,帮我改改!!!谢谢!
#include<iostream>
#include<windows.h>
#include<wincon.h>
#include<winuser.h>
#include<time.h>
using namespace std;
HANDLE hStdout,hStdin;
void gotoxy(int x,int y)
{
COORD pos;
pos.X=x;
pos.Y=y;
::SetConsoleCursorPosition(hStdout,pos);
}
void Clrscr()
{
COORD origin={0,0};
unsigned long succeed;
::FillConsoleOutputCharacter(hStdout,' ',2000,origin,&succeed);
gotoxy(0,0);
}
void main(int argc,char*argr[])
{
hStdin=::GetStdHandle(STD_INPUT_HANDLE);
hStdout=::GetStdHandle(STD_OUTPUT_HANDLE);
for(int i=0;i<=20;i++)
{
gotoxy(i,15);
cout<<'-';
gotoxy(i,0);
cout<<'-';
};
for(int j=0;j<=15;j++)
{
gotoxy(0,j);
cout<<'|';
gotoxy(20,j);
cout<<'|';
};
int a,b,I,J;
srand(time(0));
i=(rand()%15+1);
a=rand();
b=rand();
for(;i<20;i++)
{j=(a*i+b);
gotoxy(i,j);
cout<<'o';
Sleep(200);
gotoxy(i,j);
cout<<' ';
if(i==20)
{j=(a*i+b);
J=j;
{
for(;i>0;i--)
{gotoxy(i,2*J-j);
cout<<'o';
Sleep(200);
gotoxy(i,2*J-j);
cout<<' ';
}
}
}
else if(i==0)
{j=(a*i+b);
J=j;
{
for(;i>0;i++)
{gotoxy(i,2*J-j);
cout<<'o';
Sleep(200);
gotoxy(i,2*J-j);
cout<<' ';
}
}
}
else if(j==0)
{
I=i;
i=((1/a)*j-(b/a));
for(;j<15;j++)
{ i=((1/a)*j-(b/a));
gotoxy(2*I-i,j);
cout<<'o';
Sleep(200);
gotoxy(2*I-i,j);
cout<<' ';
}
}
else if(j==15)
{
I=i;
for(;j<15;j--)
{i=((1/a)*j-(b/a));
gotoxy(2*I-i,j);
cout<<'o';
Sleep(200);
gotoxy(2*I-i,j);
cout<<' ';
}
}
else if((i==20&&j==0)||(i==20&&j==15))
{
for(;i>0;i--)
{j=(a*i+b);
gotoxy(i,j);
cout<<'o';
Sleep(200);
gotoxy(i,j);
cout<<' ';
}
}
else if((i==0&&j==0)||(i==0&&j==15))
{
for(;i>0;i++)
{j=(a*i+b);
gotoxy(i,j);
cout<<'o';
Sleep(200);
gotoxy(i,j);
cout<<' ';
}
}