SPACE的问题.
<P>#include <conio.h><BR>#include <stdio.h><BR>#include <stdlib.h> <BR>#include <graphics.h><BR>#define LEFT 0x4b00<BR>#define RIGHT 0x4d00<BR>#define DOWN 0x5000<BR>#define UP 0x4800<BR>#define ESC 0x011b<BR>#define SPACE 0x39</P><P><BR>struct<BR>{<BR> int x;<BR> int y;<BR>}face;</P>
<P><BR>void initgr(void)<BR>{ <BR>int gd = DETECT, gm = 0;<BR>initgraph(&gd, &gm, "");<BR>}<BR>void Draw();<BR>void play();<BR>void Drawgun(int x,int y);<BR>int main(void) <BR>{ <BR> initgr();<BR> play();<BR> closegraph();<BR> getch(); <BR> return 0; <BR>}</P>
<P>void Draw()<BR>{<BR> int i;<BR> setcolor(11);<BR>/* setlinestyle(SOLID_LINE,0,THICK_WIDTH);*/<BR> for(i=50;i<=600;i+=10)<BR> {<BR> rectangle(i,40,i+10,49);<BR> rectangle(i,451,i+10,460);<BR> }<BR> for(i=40;i<=450;i+=10)<BR> {<BR> rectangle(50,i,59,i+10);<BR> rectangle(601,i,610,i+10);<BR> }<BR>}</P>
<P>void play()<BR>{<BR> int key;<BR> face.x=450;<BR> face.y=200;<BR> cleardevice();<BR> setcolor(GREEN);<BR> circle(face.x,face.y,15);<BR> Draw();<BR> while(1)<BR> {<BR> key=bioskey(0);<BR> setcolor(BLACK);<BR> switch(key)<BR> {<BR> case LEFT: circle(face.x,face.y,15);<BR> face.x-=5;<BR> if(face.x<79)<BR> face.x+=5;<BR> break;<BR> case RIGHT: circle(face.x,face.y,15);<BR> face.x+=5;<BR> if(face.x>583)<BR> face.x-=5;<BR> break;<BR> case DOWN: circle(face.x,face.y,15);<BR> face.y+=5;<BR> if(face.y>433)<BR> face.y-=5;<BR> break;<BR> case UP: circle(face.x,face.y,15);<BR> face.y-=5;<BR> if(face.y<67)<BR> face.y+=5;<BR> break;<BR> case SPACE: Drawgun(face.x,face.y);<BR> break;<BR> case ESC: exit(0);<BR> }<BR> setcolor(GREEN);<BR> circle(face.x,face.y,15);<BR> }<BR>}</P>
<P>void Drawgun(int x,int y)<BR>{<BR> int i;<BR> setcolor(RED);<BR> for(i=0;i<200;i++)<BR> {<BR> circle(x+i,y,3);<BR> setcolor(BLACK);<BR> delay(10000);</P>
<P> circle(x+i,y,3);<BR> setcolor(RED);<BR> }<BR></P>
<P>}<BR>好像执行不了Drawgun()这个函数.刚接触图形这方面的.<BR>哪个大哥帮下啊.</P> 你不用结构试试看,设个全局变量的x,y。<BR>你的程序里根本就没调用drawgun()函数,不知道是不是结构成员传递问题[em06] <P>现在的问题是.执行不了那个case SPACE:这个语句.<BR></P> 我试了下,已确认,是你space编码不对,你可以改成0x1e61,然后按a注意是小写的,就可以了 谢谢. 8客气,你想做游戏的话,建议你的drawgun函数那种循环不要,放在play()函数里的while循环里,否则子弹动的时候其他东西都不能动的
页:
[1]
