All pastes #1014955 Raw Edit

Stuff

public text v1 · immutable
#1014955 ·published 2008-05-11 18:25 UTC
rendered paste body
modulo pruebaL0AS 

inst clase Ficha
{
   oculto entero color;  
   oculto entero tipo;
   
   iniciar(entero t, entero c)
   {
// RN: setTipo no declarado
	setTipo(t);
	color := 0;
   } 
   getTipo() dev entero
   {
      dev tipo;
   }
   getColor() dev entero
   {
      dev color;
   }
   setTipo(entero t)
   {
      tipo:=t;
   }
   setColor(entero c)
   {
      color:=c;
   }
   imprimir()
   {
	escribir(getTipo()+getColor());
   }


}


inst clase Casilla
{
   oculto Ficha f;
   oculto logico asignada;

   iniciar()
   {
	asignada:=falso;
   }
   estaAsignada() dev logico
   {
	si (asignada = cierto) entonces
		dev cierto;
	sino
// CT: tipo de devolucion incorrecto
		dev 1;
	finsi
   }
   asignar(Ficha fi)
   {
	si (no estaAsignada()) entonces
		asignada:=cierto;
		f:=fi;
	finsi	
   }
   desasignar()
   {
	asignada:=falso;
// AS: tipo es atributo oculto
	f.tipo:=0;		
   }
   consultar() dev Ficha
   {
	dev f;
   }
   imprimir()
   {
	si (estaAsignada()) entonces
		f.imprimir();
	finsi
   }
 
}


clase Tablero 
{
   oculto formacion 8,8 Casilla t;
   
   iniciar()
   {
	Casilla aux;
	entero i,j;
	i:=1;
	mientras (i<=8) hacer
		j:=1;
		mientras (j<=8) hacer
			aux:=crear(Casilla);
			aux.iniciar();
			t[i,j]:=aux;
			j:=j+1;
		finmientras
		i:=i+1;
	finmientras
   }
   nuevaPartida()
   {
	Ficha aux;
	Casilla aux1;
	entero i,j;
	i:=1;
	mientras (i<=8) hacer
		j:=1;
		mientras (j<=8) hacer
			si (i=1 O i=2) entonces
				aux:=crear(Ficha);
				aux.iniciar(2,0);
				aux1:=t[i,j];
				aux1.asignar(aux);
			finsi
			si (i=7 O i=8) entonces
				aux:=crear(Ficha);
				aux.iniciar(2,1);
				aux1:=t[i,j];
				aux1.asignar(aux);
			finsi
			j:=j+1;
		finmientras
		i:=i+1;
	finmientras
   }
   imprimir()
   {
	Casilla aux;
	entero i,j;
	i:=1;
	mientras (i<=8) hacer
		j:=1;
		mientras (j<=8) hacer
			aux:=t[i,j];
			aux.imprimir();
			j:=j+1;
		finmientras
		i:=i+1;
	finmientras
   }
}


clase Programa
{
   inicio()
   {
// As: no se pueden declarar variables de clases no instanciables
	Tablero t;

	Tablero.iniciar();
	Tablero.nuevaPartida();
	Tablero.imprimir();
   }
// AS: metodo incorrecto
   m()
   {
	entero i;
	i:=0;
   }

}