Вы находитесь на странице: 1из 6

Programacin

3 en raya-Circulo alrederor de la pantalla


Nicolas Sejas Blanco 08/06/2012

3 en raya
//el programa lo hice en ::codeblocks:: ya que mi computador es de 64bits y el Borland c no corre //el programa lo hice con ayuda de mi hermano y unas libreras que me dio para q me ayude en el //desarrollo del mismo
#include <graphics.h> #include <conio.h> // el index empieza en 0 char board [3] [3]; // dibujar circulo void drawcircle (int posicion) { int centrex; int centrey; centrex = 245 + (50*(posicion%3)) + 25; centrey = 165 + (50*(posicion/3)) + 25; ellipse (centrex,centrey, 10,10); } // dibujar cruz void drawcross (int posicion)

{ int centrex; int centrey; centrex = 245 + (50*(posicion%3)) + 25; centrey = 165 + (50*(posicion/3)) + 25; line (centrex-5,centrey+5,centrex+5,centrey-5); line (centrex+5,centrey+5,centrex-5,centrey-5); } //dibujar el tablero void mapboard ()

{ int gdriver = DETECT, gmode; int i,j; closegraph (); initgraph (&gdriver, &gmode, "c:\\tc\\bgi"); // DIBUJAR LAS CUATRO LINEAS QUE FORMEN EL TABLERO EN EL MEDIO USANDO LA CANTIDAD DE PIXELES ESPECIFICOS PARA LA PANTALLA line (295,165,295,315); line (345,165,345,315); line (245,215,395,215); line (245,265,395,265); for (i = 0; i <= 2; i++) { for (j = 0; j <= 2; j++) { if ( board [i] [j] == 'X') drawcross (3*i + j);

if ( board [i] [j] == 'O') drawcircle (3*i + j); } } } //hasta aqui ya tengo el tablero, el circulo y la cruz //aqu empieza el proceso para los turnos comenzando con el jugador1== X , jugador2==O void initiateboard ()

{ int i,j; for (i = 0; i < 3 ; i++) { for (j = 0; j < 3; j++) { board [i] [j] = '*'; putchar (board [i] [j]); } } mapboard (); } void input () { int x,y; printf ("\nIntro coordenada en X(i) - "); scanf ("%d",&x); printf ("\nIntro coordenada en Y(j) - "); scanf ("%d", &y); if (board [x-1] [y-1] == '*') //las coordenadas tienen q estar en un rango de i==0 a 2 y j==0 a 2 { board [x-1] [y-1] = 'X'; } // si las coordenadas no coinciden imprimir == else { mapboard (); printf ("\nCoordenadas erroneas (rango de coordenadas == i(X)==0 a 2 y j(Y)==0 a 2 "); input (); } } void computer ()

{ int i,j; for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) { if (board [i] [j] == '*') { board [i] [j] = 'O'; return; }

} } void check () { int i; char key = '*'; //DESPUES DE CADA JUGADA VERIFICAR :: // filas (Horizontal) for (i=0; i<3;i++) if (board [i][0] == board [i] [1] && board [i][0] == board [i] [2] && board [i] [0] != '*') key = board [i] [0]; // columnas (Vertical) for (i=0; i<3;i++) if (board [0][i] == board [1] [i] && board [0][i] == board [2] [i] && board [0] [i] != '*') key = board [0] [i]; // Diagonales if (board [0][0] == board [1] [1] && board [1][1] == board [2] [2] && board [1] [1] != '*') key = board [1] [1]; if (board [0][2] == board [1] [1] && board [1][1] == board [2] [0] && board [1] [1] != '*') key = board [1] [1]; //despues de verificar necesitamos declarar al ganador:: if (key == 'X') { printf ("You Win"); getch (); exit (); } if (key == 'O') { printf ("Computer Win"); getch (); exit (); } } int main () { int gdriver = DETECT, gmode; initgraph (&gdriver, &gmode, "c:\\tc\\bgi"); initiateboard (); play (); getch (); closegraph (); return 0; }

Circulo alrededor de la pantalla

#include<graphics.h> #include<stdlib.h> #include<stdio.h> #include<conio.h> Int main (void) { /*request auto detection*/ Int gdriver = DETECT, gmode, errorcode;

/*initialize graphics mode*/ Initgraph(&gdrive, &gmode, c:\\borlandc\\bgi);

/*read results of initialization*/ Error code = graphresult(); If(errorcode!= grOk) /*an error ocured*/ { Printf(Graphics error :%s\n, grapherrormsg(errorcode)); Printf(Press any key to halt:); Getch(); Exit()1; /*return with error code*/ } /*draw circle*/ Setbkcolor(4); Int (x,y); For( x==1;x<+600;x++) {setcolor(BLUE);

Circle(x,40,50); Delay(15); Setcolor(4); Circle(x,40,50) } For(y==1;y<=400;y++); {setcolor (BLUE); Circle(600,y,50); Delay(15); Setcolor(4); Circle(600,y,50); } For(x==600;x<=1;x++) {setcolor(BLUE): Circle(x,400,50); Delay(15); Setcolor(4); Circle(x,400,50)} For(y==400;y<-1;y++) {setcolor(BLUE); Circle(1,y,50); Delay(15); Setcolor(4) Circle(1,y,50); } /*clean up*/ getch(); closegraph(): return 0; }

Вам также может понравиться