打砖块JAVA游戏代码.docx
《打砖块JAVA游戏代码.docx》由会员分享,可在线阅读,更多相关《打砖块JAVA游戏代码.docx(14页珍藏版)》请在冰豆网上搜索。
打砖块JAVA游戏代码
#include
#include
#include
#include
#include
voiddraw(intx1)
{
intm=0,n=0,x=40,y=20;
intt=0,i,j,k=1;
inta=0,b=127,c=88;
for(i=0;i<8;i++)
{
n=i*20;
y=n+20;
for(j=0;j<16-t;j++)
{
m=(j+i)*40;
x=m+40;
POINTpoints[]={{m,n},{x,n},{x,y},{m,y}};
setfillcolor(RGB(a,b,c));
fillpolygon(points,4);
a=8*k+8;
b=j*3+k+200;
c=20*k;
k=k+8;
}
t=t+2;
k=1;
}
m=300;
n=160;
x=340;
y=180;
POINTpoints[]={{m,n},{x,n},{x,y},{m,y}};
setfillcolor(RGB(a,b,c));
fillpolygon(points,4);
}
voidend()
{
settextstyle(50,0,"宋体",0,0,FW_BOLD,false,false,false);
settextcolor(RED);
outtextxy(200,200,"游戏结束!
");
getch();
closegraph();
}
voidstart()
{
intn=0;
loadimage(NULL,"IMSGE","background");
while
(1)
{
setbkmode(TRANSPARENT);
settextstyle(50,0,"楷体",0,0,FW_BOLD,false,false,false);
if(n%2==0)
settextcolor(GREEN);
else
settextcolor(RED);
outtextxy(80,100,"请按空格键开始游戏");
Sleep(250);
if(_kbhit())
break;
n++;
}
}
voidmain()
{
intx=320,y=430,m=270,n=370;
inta,b,c,e=0,f=0,g=0,k[3];
inti,j;
chard;
initgraph(640,480);
start();
setbkcolor(WHITE);
cleardevice();
setlinecolor(WHITE);
draw
(1);
while
(1)
{
setlinecolor(LIGHTBLUE);
setlinestyle(PS_SOLID,10);
line(m,445,n,445);
setlinestyle(PS_SOLID,0);
setlinecolor(WHITE);
setfillcolor(BROWN);
fillcircle(x,y,10);
Sleep(60);
setfillcolor(WHITE);
fillcircle(x,y,10);
if(_kbhit())
{
d=getch();
setlinecolor(WHITE);
setlinestyle(PS_SOLID,10);
line(m,445,n,445);
if(n<640&&d=='d')
{
m=m+27;
n=n+27;
}
elseif(m>0&&d=='a')
{
m=m-27;
n=n-27;
}
}
//确定x,y的值
//if(y>=435)end();
if(y==430&&x>=m-5&&x<=n+5)
{
if(x>m&&x<=m+25)
{
a=0;
b=2;
c=2;
if(10/(x-m)==0)
k[0]=2;
elseif(10/(x-m)>3)
k[0]=3;
else
k[0]=10/(x-m);
}
elseif(x>m+25&&x<=m+55)
{
a=2;
b=0;
c=2;
if(15/(x-m-25)==0)
k[1]=2;
elseif(15/(x-m-25)>3)
k[1]=3;
else
k[1]=10/(x-m-25);
}
elseif(x>m+55&&x<=n)
{
a=2;
b=2;
c=0;
if(10/(x-m-55)==0)
k[2]=2;
elseif(10/(x-m-55)>3)
k[2]=3;
else
k[2]=10/(x-m-55);
}
}
if
(1)
{
if(e==0)
{
y=y-10;
if(y<=10)
{
g=1-g;
e=1;
}
if(getpixel(x-1,y-10)!
=WHITE||getpixel(x-1,y+10)!
=WHITE||getpixel(x+1,y-10)!
=WHITE||getpixel(x+1,y+10)!
=WHITE)
{
e=1;
setfillcolor(WHITE);
for(i=8;i<=18;i++)
{
for(j=8;j<=18;j++)
{
floodfill(x-i,y-j,WHITE);
floodfill(x+i,y-j,WHITE);
floodfill(x-i,y+j,WHITE);
floodfill(x+i,y+j,WHITE);
}
}
}
}
elseif(e==1)
{
y=y+10;
if(getpixel(x-1,y-14)!
=WHITE||getpixel(x-1,y+14)!
=WHITE||getpixel(x+1,y-14)!
=WHITE||getpixel(x+1,y+14)!
=WHITE)
{
e=0;
setfillcolor(WHITE);
for(i=8;i<=18;i++)
{
for(j=8;j<=18;j++)
{
floodfill(x-i,y-j,WHITE);
floodfill(x+i,y-j,WHITE);
floodfill(x-i,y+j,WHITE);
floodfill(x+i,y+j,WHITE);
}
}
}
elseif(y==430&&x>=m-5&&x<=n+5)
e=0;
}
if(g==0&&a==0)
{
x=x-k[0]*5;
if(y<=10)
g=1-g;
elseif(x<=10||x>=630)
g=1;
if(getpixel(x-1,y-10)!
=WHITE||getpixel(x-1,y+10)!
=WHITE||getpixel(x+1,y-10)!
=WHITE||getpixel(x+1,y+10)!
=WHITE)
{
g=1;
setfillcolor(WHITE);
for(i=8;i<=18;i++)
{
for(j=8;j<=18;j++)
{
floodfill(x-i,y-j,WHITE);
floodfill(x+i,y-j,WHITE);
floodfill(x-i,y+j,WHITE);
floodfill(x+i,y+j,WHITE);
}
}
}
}
elseif(g==1&&a==0)
{
x=x+k[0]*5;
if(y<=10)
g=1-g;
elseif(x<=10||x>=630)
g=0;
elseif(getpixel(x-1,y-10)!
=WHITE||getpixel(x-1,y+10)!
=WHITE||getpixel(x+1,y-10)!
=WHITE||getpixel(x+1,y+10)!
=WHITE)
{
g=0;
setfillcolor(WHITE);
for(i=10;i<=18;i++)
{
for(j=10;j<=18;j++)
{
floodfill(x-i,y-j,WHITE);
floodfill(x+i,y-j,WHITE);
floodfill(x-i,y+j,WHITE);
floodfill(x+i,y+j,WHITE);
}
}
}
}
if(g==0&&b==0)
{
x=x-k[1]*2;
if(y<=10)g=1-g;
elseif(x<=10||x>=630)g=1;
elseif(getpixel(x-1,y-10)!
=WHITE||getpixel(x-1,y+10)!
=WHITE||getpixel(x+1,y-10)!
=WHITE||getpixel(x+1,y+10)!
=WHITE)
{
g=1;
setfillcolor(WHITE);
for(i=8;i<=18;i++)
{
for(j=8;j<=18;j++)
{
floodfill(x-i,y-j,WHITE);
floodfill(x+i,y-j,WHITE);
floodfill(x-i,y+j,WHITE);
floodfill(x+i,y+j,WHITE);
}
}
}
}
elseif(g==1&&b==0)
{
x=x+k[1]*2;
if(y<=10)g=1-g;
elseif(x<=10||x>=630)
g=0;
elseif(getpixel(x-1,y-10)!
=WHITE||getpixel(x-1,y+10)!
=WHITE||getpixel(x+1,y-10)!
=WHITE||getpixel(x+1,y+10)!
=WHITE)
{
g=0;
setfillcolor(WHITE);
for(i=8;i<=18;i++)
{
for(j=8;j<=18;j++)
{
floodfill(x-i,y-j,WHITE);
floodfill(x+i,y-j,WHITE);
floodfill(x-i,y+j,WHITE);
floodfill(x+i,y+j,WHITE);
}
}
}
}
if(g==0&&c==0)
{
x=x-k[2]*5;
if(y<=10)
g=1-g;
elseif(x<=10||x>=630)
g=1;
elseif(getpixel(x-1,y-10)!
=WHITE||getpixel(x-1,y+10)!
=WHITE||getpixel(x+1,y-10)!
=WHITE||getpixel(x+1,y+10)!
=WHITE)
{
g=1;
setfillcolor(WHITE);
for(i=8;i<=18;i++)
{
for(j=8;j<=18;j++)
{
floodfill(x-i,y-j,WHITE);
floodfill(x+i,y-j,WHITE);
floodfill(x-i,y+j,WHITE);
floodfill(x+i,y+j,WHITE);
}
}
}
}
elseif(g==1&&c==0)
{
x=x+k[2]*5;
if(x<=10||x>=630)
g=0;
elseif(y<=10)
g=1-g;
elseif(getpixel(x-1,y-10)!
=WHITE||getpixel(x-1,y+10)!
=WHITE||getpixel(x+1,y-10)!
=WHITE||getpixel(x+1,y+10)!
=WHITE)
{
g=0;
setfillcolor(WHITE);
for(i=8;i<=18;i++)
{
for(j=8;j<=18;j++)
{
floodfill(x-i,y-j,WHITE);
floodfill(x+i,y-j,WHITE);
floodfill(x-i,y+j,WHITE);
floodfill(x+i,y+j,WHITE);
}
}
}
}
}
}
end();
}