package cat; import java.util.*; import java.awt.*; import java.awt.geom.*; import javax.swing.*; public class Kernel { //Definició de variables private ArrayList arrayBibliotecaOrdresTortuga=new ArrayList(); private ArrayList arrayBibliotecaOp=new ArrayList(); private ArrayList arrayCadenaLlegida=new ArrayList(); //Var. de carregaBibliotecaOrdresTortuga private int iNumCaractMaxOrdres=0; //Var. de llegeix private int p,q,r,l=0; //Coordenades del centre recalculades double dNouCentreX=0; double dNouCentreY=0; //Coordenades del centre antigues //double dCentreX=450; //double dCentreY=100; Graphics2D g2d; //Angles double dAngle=0; double dCentreX; double dCentreY; public Kernel(double OX, double OY){ //Coordenades del centre antigues this.dCentreX=OX; this.dCentreY=OY; } public Kernel(){ } //Mčtode SUBSTITUEIX //Agafa la "rewriting rule" i la inserta a la n-čssima iteració segons el carŕcter que es //vol que trobi public String substitueix(String strRwRule,String strNiteracio,String strCaracterBuscat){ //Var. internes del mčtode //Cadena que conté un troç o "chunk" de la cadena resultant de la n-čssima iteració String strChunkNiteracio = ""; //Buffer de Strings d'output StringBuffer buffResultat = new StringBuffer(); //Es carreguen els operadors carregaBibliotecaOp(); for (int i = 0; i < strNiteracio.length(); i++) { strChunkNiteracio=strNiteracio.substring(i, i + 1); if (strCaracterBuscat.equals(strChunkNiteracio)) { buffResultat.append(strRwRule); } else { for (int j = 0; j < arrayBibliotecaOp.size(); j++) { String strComponentArrayBiblioOp=arrayBibliotecaOp.get(j).toString(); if (strChunkNiteracio.equals(strComponentArrayBiblioOp)){ buffResultat.append(strComponentArrayBiblioOp); } } } } String strAux=buffResultat.toString(); return strAux; } //Mčtode LLEGEIX public void llegeix(String strRwRule, JPanel objPanel,double dEscala){ //Es carrega l'array d'ordres de tortuga carregaBibliotecaOrdresTortuga(); for(p=0;p