#include #include #include void pixel(int x, int y, int color) { char far *ptr; ptr= (char far *) 0xA0000000 + y*320 + x; *ptr=color; } void cuadro(int xi, int yi, int xf, int yf, int color) { for (int i=xi; i<=xf; i++) for (int j=yi; j<=yf; j++) pixel(i,j,color); } int verifica_tecla(char &t, int &sc) { REGS entrada,salida; unsigned int bandera_cero; entrada.h.ah = 1; int86(22,&entrada, &salida); bandera_cero = salida.x.flags & 64; if (!bandera_cero) {t = salida.h.al; sc= salida.h.ah; entrada.h.ah = 0; int86(22,&entrada,&salida); } return (!bandera_cero); } void main() { int xi=58,yi=96; int temp,temp2,temp3,contador=0; int scan,y=80,y2=80,del=15; int m1=0,m2=0; int k=1,k2=1; char caract; cout<<"PONG"<=193 ||(yi==y-6 && (xi>=40 && xi<=57))||(yi==y2-6 && (xi>=256 && xi<=273))) temp=1; else { if (yi<=0 || (yi==y+41 && (xi>=40 && xi<=57))|| (yi==y2+41 && (xi>=256 && xi<=273))) temp=0; } if (xi>=313 || (xi==40 && (yi>=y-6 && yi<=y+40))||(xi==256 && (yi>=y2-6 && yi<=y2+40))) temp2=1; else { if (xi<=0 || (xi==58 && (yi>=y-6 && yi<=y+40))||(xi==274 && (yi>=y2-6 && yi<=y2+40))) temp2=0; } temp3=verifica_tecla(caract, scan); if (scan==31 && y<160) y+=10; else if (scan==17 && y!=0) y-=10; if (scan==80 && y2<160) y2+=10; else if (scan==72 && y2!=0) y2-=10; if (((xi==40 && (yi>=y-6 && yi<=y+40))&&(scan==17))||(((xi==256 && (yi>=y2-6 && yi<=y2+40))&&(scan==72)))) { if (temp==0) k2++; else if (temp==1) k++; } else if ((((xi==40 && (yi>=y-6 && yi<=y+40))&&(scan==31))||(((xi==256 && (yi>=y2-6 && yi<=y2+40))&&(scan==80))))) { if (temp==0) k++; else if (temp==1) k2++; } cuadro(159,0,161,199,15); cuadro(47,y,57,y+40,15); cuadro(262,y2,273,y2+40,15); cuadro(xi,yi,xi+6,yi+6,15); delay(del); cuadro(xi,yi,xi+6,yi+6,0); if (temp==0) yi+=k; else yi-=k; if (temp2==0) xi+=k2; else xi-=k2; if (xi<=0) { m2++; temp2=1; } else { if (xi>=313) { m1++; temp2=0; } } gotoxy(1,1); cout<=313) { k=1; k2=1; y=80; y2=80; yi=96; del=15; if (xi<=0) xi=261; else xi=58; getche(); cuadro(0,0,319,199,0); } contador++; if (contador==2000) { del--; contador=0; } }while(scan!=1); }