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