Juego de ladrillos en lenguaje c
#includelt; math.hgt;
regs regs de la unión
unsigned int[5]; p>int Msinit();
void Setmouse(int izquierda, int derecha, int arriba, int botón);
int Msread(int *xp, int *yp, int * bup);
void Draw(int x, int y, int sizex, int sizey);
main()
{int mode=VGAHI, controlador =VGA; lt; br/gt; unsigned int l; lt; br/gt; int i, gi, gj, flag=1; mover al medio eje negativo x, 1: mover al medio eje positivo x */lt; double qx, qy, k, b=0.0, discurso=0.4, x, y; = 2,0, bx=60,0, byy=270,0; lt; br/gt; doble pianx=100,0, tx=20,0, ty=10,0, jx=2,0, jy=2,0; = 0, my=0, mb, sum; /*sum registra el número de ladrillos */lt; br/gt; FILE * lt; " r")) == NULL)lt; br/gt; {printf("¡El archivo no se puede abrir!\n"); br/gt;}
initgraph( amp ; controlador, amp.mode, "\\tc\\BGI");
Msinit()
Setmouse((int)(pianx 1 bx/2), ( int )((tx jx)*8 pianx-1-bx/2), (int)byy piany, (int)byy piany);
star: cleardevice();/* Mitad del programa de recarga punto*/
suma=0;
qx=100.0 pianx-10; qy=180.0 pianx-10; k=0.33; ;
rectángulo((int)(pianx-2), (int)(piany-2), (int)((tx jx)*8 2 piany), 302 piany);
setcolor(1);
rectángulo((int)(pianx-1), (int)(piany-1), (int)((tx jx)*8 1 pianx), 301 piany);
/* Leer situación del disco*/
for(i=0; ilt; 5; i)
fscanf(p, "x " , amp; zhuan[i]);
/* Pintar ladrillo**
for(i=
0;ilt;5;i)
{l=1;lt;br/gt;for(j=0;jlt;16;j )lt;br/gt; {if((zhuan[ i]amp; l)==0)lt; br/gt; { Draw((int)((jx tx)*((16*i j)8) pianx jx), (int)((jy ty)*( (int)((16*i j)/8)) piany jy), lt; br/gt; (int)tx, (int)ty; lt; br/gt; }
l=l*2;
}
}
para(;;) p>
{ setfillstyle(1, 0);
bar(mx-bx/2, mi, mx bx/2, mi 5); mx, amplificador; mi, amplificador; mb);
Draw(mx-bx/2, mi, bx, 5
setcolor(0); p> círculo(qx, qy, r);
/* Determinar si es necesario rebotar*/
if(qx-rlt) ; =pianx 1 ||| qx rgt;=(tx jx)*8 pianx-1) {flag=-flag;k=-k;}
if(qy-rlt;=piany 1) k =-k;
for(gi=0;gilt;5;gi)
{l=1;lt;br/gt; for(gj=0;gjlt; 16 ; gj )lt; br/gt; {j=(16*gi gj)/8; lt ;br/gt; i=(16*gi gj)8;lt;br/gt x=(jx tx)*i jx tx/2 pianx;lt;br/gt y=(jy ty)*j jy ty/2 piany;lt;br/gt; /* Juicio lateral 1*/lt;br/gt; if(qy gt;=y-ty/2 amp;amp;qylt;=y ty/2 amp;amp ; (pow(qx r-x tx/2, 2)lt; 1 || pow(qx-r-x-tx/2, 2)lt; 1))br/gt; ; lt; br/gt; br/gt; if(suma==0) {printf("¡Ganar! \n"); getch(); ir a estrella; }
setfillstyle(1, 0);
bar((jx tx)*i pianx jx, (jy ty)*j piany jy, (jx tx)*i pianx jx tx, (jy ty)
*j piany jy ty);
}
else
/* Determinación de bordes 2*/
if(qxgt;=x-tx/2 amp;amp; qxlt;=x tx/2 amp;amp;(pow(qy r-y ty/2, 2 )lt;1 || pow(qy-r-y-ty/2,2)lt;1))
{
k=-k;lt;br/gt; zhuan[gi]=zhuan[gi]|l;lt;br/gt; suma-=1;lt;br/gt; "¡Ganar!\n"); getch(); ir a estrella;}
setfillstyle(1, 0);
bar((jx tx)*i pianx jx, (jy ty)*j piany jy, (jx tx)*i pianx jx tx, (jy ty)
*j piany jy ty);
}
else
/*Juicio de ángulo*
if(pow(qx-x tx/2, 2) pow(qy-y ty/2, int *bup)
{int xnew, ch; br/gt; si(kbhit()) return lt; br/gt; 0x33,amp;regs,amp;regs);lt;br/gt; xnew=regs.x.cx;lt;br/gt; ynew=regs.x.dx;lt;br/gt; x.bx;lt;br/gt; *xp=xnew;lt;br/gt; *yp=ynew;lt;br/gt; retorno -1;lt;br/gt;}