漠水 发表于 2014-8-29 18:40:16

(vc++画图)小球弹射的小游戏

本帖最后由 漠水 于 2014-8-29 18:42 编辑

本人新手,一个星期前开始学VC画图,花了3天做了个小球弹射的小游戏,问题真心不少,请大家来瞅瞅
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
int main()
{
      printf("这是一个小游戏,输入任意键进入菜单\n");
      printf("\n\n\n\n\n\n\n\n\n\n按q键左移,按e键右移\n");
      getch();
int a,b,c,d,e,f,g;      //a,b,c,d为点位移函数,f为线段函数,g为键入函数
a=2;
b=2;
c=1;
d=1;
e=0;
f=0;
initgraph(640,480);
putpixel(a,b,WHITE);
line(f,470,f+200,470);
Sleep(50);

while(1)         //b=470&&f<a&&a<f+50
{
if(a>640||a<0)
c=-c;
if(b<0)
d=-d;
while(b==470)
{if(f<a&&a<(f+200))
d=-d;
else e=1;
b=b-1;
}

if(e==1)
break;

if (kbhit())
{
      g=getch();
if(g==101)      //Q=81      右走
{
      putpixel(a,b,BLACK);
      setcolor(BLACK);
line(f,470,f+200,470);
      a=a+c;
    b=b+d;
      f=f+50;
putpixel(a,b,WHITE);
      setcolor(WHITE);
line(f,470,f+200,470);
Sleep(10);

}      
   
if(g==113)      //if函数,E=69左走
{
      putpixel(a,b,BLACK);
      setcolor(BLACK);
line(f,470,f+200,470);
      a=a+c;
    b=b+d;
      f=f-50;
putpixel(a,b,WHITE);
      setcolor(WHITE);
line(f,470,f+200,470);
Sleep(10);

}      
}
else

{
      putpixel(a,b,BLACK);
      setcolor(BLACK);
line(f,470,f+200,470);
      a=a+c;
    b=b+d;
      putpixel(a,b,WHITE);
      setcolor(WHITE);
line(f,470,f+200,470);
Sleep(10);

}


}
closegraph();


printf("游戏结束\n");
}

jsqking99 发表于 2014-8-29 20:17:06

感谢楼主无私分享!!!!!!!
页: [1]
查看完整版本: (vc++画图)小球弹射的小游戏