slayermind
چهارشنبه 01 خرداد 1387, 08:53 صبح
مشكل اين كه در كد زير كليد چپ و بالا باعث حركت نميشه چيه؟
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>
int main()
{
int xmin=169,xmax=569,ymin=39,ymax=439,i;
int x1=319,y1=189,x2=369,y2=239;
unsigned char ch;
int gdriver = DETECT, gmode, errorcode;
int left, top, right, bottom;
initgraph(&gdriver, &gmode, "d:\\bc\\bgi");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
rectangle(x1,y1,x2,y2);
while((ch=getch())!=27)
if(!ch)
{
ch=getch();
clrscr();
switch(ch)
{
case 0x4b:
{
x1=x1-50;
x2=x2-50;
}
if((x1<xmin)||(x2<xmin))
{
x1=319;
x2=369;
break;
}
case 0x4d:
{
x1+=50;
x2+=50;
}
if((x1>xmax)||(x2>xmax))
{
x1=319;
x2=369;
break;
}
case 0x48:
{
y1=y1-50;
y2=y2-50;
}
if((y1<ymin)||(y2<ymin))
{
y1=189;
y2=239;
break;
}
case 0x50:
{
y1+=50;
y2+=50;
}
if((y1>ymax)||(y2>ymax))
{
y1=189;
y2=239;
break;
}
rectangle(x1,y1,x2,y2);
}
}
getch();
closegraph();
return 0;
}
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>
int main()
{
int xmin=169,xmax=569,ymin=39,ymax=439,i;
int x1=319,y1=189,x2=369,y2=239;
unsigned char ch;
int gdriver = DETECT, gmode, errorcode;
int left, top, right, bottom;
initgraph(&gdriver, &gmode, "d:\\bc\\bgi");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
rectangle(x1,y1,x2,y2);
while((ch=getch())!=27)
if(!ch)
{
ch=getch();
clrscr();
switch(ch)
{
case 0x4b:
{
x1=x1-50;
x2=x2-50;
}
if((x1<xmin)||(x2<xmin))
{
x1=319;
x2=369;
break;
}
case 0x4d:
{
x1+=50;
x2+=50;
}
if((x1>xmax)||(x2>xmax))
{
x1=319;
x2=369;
break;
}
case 0x48:
{
y1=y1-50;
y2=y2-50;
}
if((y1<ymin)||(y2<ymin))
{
y1=189;
y2=239;
break;
}
case 0x50:
{
y1+=50;
y2+=50;
}
if((y1>ymax)||(y2>ymax))
{
y1=189;
y2=239;
break;
}
rectangle(x1,y1,x2,y2);
}
}
getch();
closegraph();
return 0;
}