/* * griglia.java * * Created on 17 febbraio 2005, 12.08 */ /** * * @author Administrator */ public class Griglia extends javax.swing.JPanel { // costruttore; la posizione � quella di inizio persorso; gli interi // rappresentano altezza e larghezza della griglia public Griglia(Posizione init, int alt, int larg){ altezza=alt; larghezza=larg; setLayout(new java.awt.GridLayout(alt, larg)); bottoni = new javax.swing.JButton[alt][larg]; percorso = new boolean[alt][larg]; for (int i=0; i< alt; ++i) for(int j=0; j= 0 && pp.getX() <= altezza -1 && pp.getY() >= 0 && pp.getY() <= larghezza -1 ); } // rende true sse la posizione in input � nella griglia // ma non sul bordo della stessa public boolean internoInGriglia( Posizione pp ) { return ( pp.getX() > 0 && pp.getX() < altezza -1 && pp.getY() > 0 && pp.getY() < larghezza -1 ); } // mette il bottone indicato dalla posizione con // il colore (0,0,0) che � quello di un bottone nel percorso public void setInPercorso(Posizione pp){ if ((pp.getX()>=0) &&(pp.getX()< altezza) && (pp.getY()>=0) &&(pp.getY()< larghezza)){ percorso[pp.getX()][pp.getY()]=true; bottoni[pp.getX()][pp.getY()].setBackground(new java.awt.Color(0, 0, 0)); } } // rende true sse la posizione in input � nel percorso public boolean inPercorso( Posizione pp ) { return ( inGriglia(pp) && percorso[pp.getX()][pp.getY()]);}; // inserisce il robot nella posizione specificata; rende true sse l'inserimento // � avvenuto in una posizione appartenente al percorso public boolean inserisciRobot( Robot r, Posizione p ) {if ( inPercorso(p) ) { androide = r; androide.setPosizione( p ); return true; } else return false; }; // restituisce la posizione di inizio del percorso public Posizione getInizio(){ return inizio; }; // restituisce la posizione di arrivo del percorso public Posizione getArrivo(){ return arrivo; }; // disegna la griglia evidenziando le posizioni di inizio e di arrivo e, se // presente, il robot void disegna(){ String risorse="/home/gabriele/JRobot/src/jrobot/"; //da cambiare! javax.swing.ImageIcon cn = new javax.swing.ImageIcon(risorse+"uparrow.gif"), ce = new javax.swing.ImageIcon(risorse+"rightarrow.gif"), cs = new javax.swing.ImageIcon(risorse+"downarrow.gif"), co = new javax.swing.ImageIcon(risorse+"leftarrow.gif"), d = null; for (int i=0; i Boolean ; private boolean[][] percorso; //il percorso come boolean }