Red de conocimiento informático - Computadora portátil - Juego de ladrillos en lenguaje c

Juego de ladrillos en lenguaje c

includelt; gráficos.hgt;

#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(;;)

{ 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;}