本文目錄一覽:
C語言編程設計:運動的小車
用VS2012編寫C程序執行編譯後出現輸出控制台後閃現 即使加入 system(“PA…
答:system(“PAUSE”)是肯定可以的,要加在return 0的前面。加在後面的話程序已經結束了,system(“PAUSE”)用於執行不到。system()函數在stdlib.h里。
c語言程序實現小車走正方形
程序需要結合硬件,不同硬件程序也不一樣,就算硬件一樣,連線方法不同程序也不一樣。程序所實現的功能也不同,所以就算有程序,移植性也比較差。下面是我的小車黑白循跡的程序,包含前行轉彎等,希望能幫到你
#include reg52.h
sbit z0 = P1^0;
sbit z1 = P1^1;
sbit y0 = P1^2;
sbit y1 = P1^3;
sbit x = P1^4;
sbit m = P3^2;
sbit zm0 = P2^0;
sbit zm1 = P2^1;
sbit ym0 = P2^2;
sbit ym1 = P2^3;
unsigned int line=0,j=0;
void turnright()
{
ym0=1;
ym1=1;
zm0=1;
zm1=0;
}
void turnleft()
{
ym0=0;
ym1=1;
zm0=1;
zm1=1;
}
void zuozq()
{
ym0=0;
ym1=1;
zm0=0;
zm1=1;
}
void youzq()
{
ym0=1;
ym1=0;
zm0=1;
zm1=0;
}
void qianxing()
{
ym0=0;
ym1=1;
zm0=1;
zm1=0;
}
void stop()
{
ym0=1;
ym1=1;
zm0=1;
zm1=1;
}
void xunji()
{
if(z1==1 y0==1) //檢測到黑線為低電位
qianxing();
if(z1==0 y0==0)
qianxing();
if(z1==0 y0==1)
turnleft();
if( y0==0z1==1)
turnright();
// if(z0==0 y1==1)
// turnleft();
// if( y0==0z0==1)
// turnright();
}
void yanshi(unsigned int i)
{
unsigned int j;
while(–i)
for(j=0;j12000;j++);
}
void wzhongduan()
{
IT0=1;
EA=1;
EX0=1;
}
void youzhuan90()
{
youzq();
yanshi(3);
while(1)
{
youzq();
if(x==0)
break;
}
}
void case2()
{
youzq();
yanshi(5);
while(1)
{
if(m==0)
{
stop();
yanshi(10);
//
break;
}
}
zuozq();
yanshi(5);
while(1)
{
if(x==0)
{
qianxing();
yanshi(5);
break;
}
}
}
void zhuanshen()
{
EA=0;
while(1)
{
youzq();
yanshi(2);
if(m==0)
{
yanshi(2);
j++;
}
if(j=4)
if(x==0)
{
xunji();
yanshi(3);
break;
}
}
EA=1;
}
void main()
{
wzhongduan();
while(1)
{
switch(line)
{
case 2:EA=0; case2();EA=1;break;
case 4:EA=0; case2();EA=1;break;
case 7: EA=0;youzhuan90();youzhuan90();youzhuan90();youzhuan90();EA=1;break;
case 10:EA=0; case2();EA=1;break;
case 12:EA=0; case2();EA=1;break;
case 15: EA=0;youzhuan90();youzhuan90();youzhuan90();youzhuan90();EA=1;break;
default :xunji();
}
}
}
void w0 () interrupt 0
{
line++;
}
C語言課程題目設計 運動的小車
#includegraphics.h
#includeconio.h
#includestdlib.h
# define PATH”d:\\tc”
main()
{
int i,j,imsize;
int x=60,y=68,k=2;
char*buffer1,*buffer2;
int gdriver=VGA,gmode=VGAHI;
initgraph(gdriver,gmode,PATH);
setfillstyle(1,GREEN);
bar(70,70,120,100);
bar(120,84,150,100);
setcolor(EGA_BROWN);
setfillstyle(1,EGA_BROWN);
circle(84,103,8);
floodfill(84,103,EGA_BROWN);
circle(134,103,8);
floodfill(134,103,EGA_BROWN);
bar(20,122,556,142);
bar(556,60,600,142);
imsize=imagesize(x,y,152,112);
buffer1=(char*)malloc(imsize);
buffer2=(char*)malloc(imsize);
getimage(x,y,152,112,buffer1);
while(!kbhit())
{
for(i=0;i=400;i+=k)
putimage(x+i,y,buffer1,COPY_PUT);
j=i-k+x;
for(i=0;i152-x;i+=k)
{
imsize=imagesize(j+i,y,152-x+j,112);
buffer2=(char*)realloc(buffer2,imsize);
getimage(j+i,y,152-x+j-k,112,buffer2);
putimage(j+i+k,y,buffer2,COPY_PUT);
}
}
getch();
free(buffer1);
free(buffer2);
closegraph();
}
用C語言編程:繪製一架小車,在屏幕上來回奔跑
用flash可以嗎?C語言貌似有點難
不過我想到一種方法 你用字符繪製成小車 然後統一輸出 做一個循環 反覆輸出 每次輸出 空格加1 做成++ 當輸出當一定數值時 再做成– 這樣就應該能像你說的那樣來回跑了吧!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/278382.html