Program InterGraf01;Uses CRT,SysUtils,Graph;Const //Colores Black=0;Blue=1;Green=2;Cyan=3;Red=4;Magenta=5;Brown=6;LightGray=7; DarkGray=8;LightBlue=9;LightGreen=10;LightCyan=11;LightRed= 12; LightMagenta=13;Yellow=14;White=15; //Ventanas LongVentana = 475; AnchoVentanaDerecha = 630; //Rangos; Ancho = 7; Alto = 8; //Otros RadioFichasX= 17; RadioFichasY= 17;Type TFicha=Char; TJugador = Record Nick:String; Jugadas:Integer; End; //Matriz de juego; TTablero = Array[1..Alto,1..Ancho] Of TFicha;//Variables Globales;Var gd,gm:SmallInt; //Manejador Grafico y Manejador de color respectivamente; Tablero:TTablero; Win:Boolean; Player01,Player02:TJugador; Entrada:CHar;//------------------------------------------------------------------------------Procedure InicializarModoGrafico;Begingm:=vgahi; //tmb podemos usar gm:=Detect;gd:=vga; // //tmb podemos usar gm:=Detect;InitGraph(gd,gm,''); if GraphResult <> grOk then begin Writeln('Driver ',gd,' Modo Grafico ',gm,' No Soportado'); Halt(1); end;End;//------------------------------------------------------------------------------Procedure InicializarTablero(Var Tablero:TTablero);Var i,j:Integer;BeginFor i:=1 To Ancho Do For j:=1 To Alto Do Tablero[i,j]:= '0';End;//------------------------------------------------------------------------------Procedure Ambiente;Var Vent01Activa,Vent02Activa:Boolean;Begin//Dibujamos Ventana de la izquierda;Setviewport(5,5,220,LongVentana,Vent01Activa);SetFillStyle(1,Brown);Bar(5,5,220,LongVentana);SetFillStyle(1,Black);Bar(15,15,205,LongVentana-10);//Coloco titulos en ventana izquierda;SetTextStyle(2,0,2);//Dibujo VEntana Derecha;Setviewport(230,5,AnchoVentanaDerecha,LongVentana,Vent02Activa);//Dibujamos Ventana de la izquierda;SetFillStyle(1,Brown);Bar(0,5,400,LongVentana);SetFillStyle(1,Black);Bar(10,15,390,LongVentana-10);ENd;//------------------------------------------------------------------------------Procedure DibujarTablero(Tablero:TTablero);Var i,j,XActual,YActual:Integer;Begin//Creo El Rectangulo Azul:SetColor(White);SetFillStyle(1,Blue);Bar(30,380,370,20);//Rotulo del fichero;SetFillStyle(0,Black);Bar(40,50,360,30);SetTextStyle(2,0,1);OutTextXY(45,35,'1 2 3 4 5 6 7 8');//INicializo Variables;XActual:=60; YActual:=80;Tablero[1,2]:='1';Tablero[6,4]:='2';Tablero[1,7]:='1';Tablero[2,2]:='2';For i:=1 To Ancho Do Begin For j:=1 To Alto Do Begin Case (Tablero[i,j]) Of '0':Begin SetColor(White); SetFillStyle(0,Black); FillEllipse(XActual,YActual,RadioFichasX,RadioFichasY); End; '1': Begin SetColor(White); SetFillStyle(1,Red); FillEllipse(XActual,YActual,RadioFichasX,RadioFichasY); End; '2':Begin SetColor(White); SetFillStyle(1,Yellow); FillEllipse(XActual,YActual,RadioFichasX,RadioFichasY); End; End; XActual:=XActual + 40; End; XActual:=60; YActual:=YActual + 40; End;End;//---------------------------------------------------------------------------//PRINCIPAL//------------------------------------------------------------------------Begin//Inicializacion de Variables;Win:=False;InicializarTablero(Tablero);InicializarModoGrafico;Ambiente;DibujarTablero(Tablero);Readkey;Closegraph; //Mata al modo grafico;End.
//Rangos;Ancho = 7; Alto = 8;//Matriz de juego;TTablero = Array[1..Alto,1..Ancho] Of TFicha;
Procedure InicializarTablero(Var Tablero:TTablero);Var i,j:Integer;BeginFor i:=1 To Ancho Do For j:=1 To Alto Do Tablero[i,j]:= '0';End;