1.课程设计的具体工作内容:
1)    弹球区域下方为横板接球,上方为砖块。
2)    通过键盘的左、右光标键控制接球横版的移动。
3)    小球落到横板水平线,横板未接注小球,本局结束。
4)    小球弹起碰到的砖块自动打碎、消失。
5)    每隔一定时间(例如5s,可适当调整),砖块上方增加一行,原有砖块下移,砖块增加到横板水平线本局结束结束。
6)    小球与横板为完全弹性碰撞,不考虑能量损耗。
7)    每次游戏开始后有三局(或更多,可适当调整),三局都结束游戏重新开始。
2. 打砖块小游戏C语言源代码:
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
#include <conio.h>
#define R 4 /*球半径*/
struct box
{ int x;
int y;
int color;
}a[6][14];
int Keystate;
int MouseExist;
int MouseButton;
int MouseX;
int MouseY=400;
int dx=1,dy=1; /*计算球的反弹*/
int sizex=18,sizey=10; /*box的宽度和长度*/
void draw(int x,int y) /* x, y为左上角坐标sizex,sizey
为长和宽*/
{
int sizx=sizex-1;
int sizy=sizey-1;
setcolor(15);/*这里最好用白*/
line(x,y,x+sizx-1,y);
line(x,y+1,x+sizx-2,y+1);
line(x,y,x,y+sizy-1);
line(x+1,y,x+1,y+sizy-2);
setcolor(8);/*这里最好用深灰*/
line(x+1,y+sizy,x+sizx,y+sizy);
line(x+2,y+sizy-1,x+sizx,y+sizy-1);
line(x+sizx-1,y+1,x+sizx-1,y+sizy);
line(x+sizx,y+2,x+sizx,y+sizy);
setcolor(7);/*这里最好用灰*/
putpixel(x,y+sizy,3);
putpixel(x+1,y+sizy-1,3);
putpixel(x+sizx,y,3);
putpixel(x+sizx-1,y+1,3);
setfillstyle(1, 7);/*这里最好用灰,设置填充模式*/
bar(x+2,y+2,x+sizx-2,y+sizy-2);
}
void picture() /*画box*/
{ int i,j;
setcolor(15);
rectangle(99,49,413,451);
for(i=0;i<6;i++)
for(j=0;j<14;j++)
{ a[i][j].color=0;
a[i][j].x=104+j*22;
a[i][j].y=54+i*14;
draw(104+j*22,54+i*14);
}
sizex=50,sizey=5;
}
/*鼠标光标显示*/
void MouseOn(int x,int y)
{
draw(x,y);
}
/*隐藏鼠标*/
void MouseOff()
{
int x,y;
x=MouseX;
y=MouseY;
setfillstyle(1,0);
bar(x,y,x+sizex,y+sizey);
}
/*鼠标是否加载
MouseExist:1=加载
0=未加载
MouseButton:鼠标按键数目 */
void MouseLoad()
{
_AX=0x00;
geninterrupt(0x33);
MouseExist=_AX;
MouseButton=_BX;
}
/*鼠标状态值初始化*/
void MouseReset()
{
_AX=0x00;
geninterrupt(0x33);
}
/*设置鼠标左右边界
lx:左边界安卓课程设计源代码
gx:右边界 */
void MouseSetX(int lx,int rx)
{
_CX=lx;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。