All pastes #674856 Raw Edit

Miscellany

public java v1 · immutable
#674856 ·published 2007-08-29 16:03 UTC
rendered paste body
class	Caballo{	private int[][]posiciones = new int[8][8];	private int x,y;	private int total_moves = 0;	Caballo(int init_a, int init_b)	{		this.x = init_a;		this.y = init_b;	}	void Muevete(int step)	{		switch(step)		{			case 0: //Nos movemos +2,+1				if(getX()+2 <= 8 && getY()+1 <= 8)				{					if(checkHorseLocation(getX()+2, getY()+1) == 1) { Muevete(step+1); }					setX(getX()+2);					setY(getY()+1);					showXY();					Muevete(0);				}				Muevete(1);				break;			case 1: //Nos movemos -2,-1				if(getX()-2 >= 1 && getY()-1 >= 1)		                {					if(checkHorseLocation(getX()-2, getY()-1) == 1) { Muevete(step+1); }		                        setX(getX()-2);		                        setY(getY()-1);		                        showXY();		                        Muevete(1);				}				Muevete(2);		                break;			case 2: //Nos movemos +1,+2                                if(getX()+1 <= 8 && getY()+2 <= 8)                                {					if(checkHorseLocation(getX()+1, getY()+2) == 1) { Muevete(step+1); }                                        setX(getX()+1);                                        setY(getY()+2);                                        showXY();                                        Muevete(2);                                }                                Muevete(3);                                break;			case 3: //Nos movemos -1,+2                                if(getX()-1 >= 1 && getY()+2 <= 8)                                {					if(checkHorseLocation(getX()-1, getY()+2) == 1) { Muevete(step+1); }                                        setX(getX()-1);                                        setY(getY()+2);                                        showXY();                                        Muevete(3);                                }                                Muevete(4);                                break;                        case 4: //Nos movemos -1,-2                                if(getX()-1 >= 1 && getY()-2 >= 1)                                {					if(checkHorseLocation(getX()-1, getY()-2) == 1) { Muevete(step+1); }                                        setX(getX()-1);                                        setY(getY()-2);                                        showXY();                                        Muevete(4);                                }                                Muevete(5);                                break;			case 5: //Nos movemos +1,-2                                if(getX()+1 <= 8 && getY()-2 >= 1)                                {					if(checkHorseLocation(getX()+1, getY()-2) == 1) { Muevete(step+1); }                                        setX(getX()+1);                                        setY(getY()-2);                                        showXY();                                        Muevete(5);                                }                                Muevete(6);                                break;                        case 6: //Nos movemos -2,+1                                if(getX()-2 >= 1 && getY()+1 <= 8)                                {					if(checkHorseLocation(getX()-2, getY()+1) == 1) { Muevete(step+1); }                                        setX(getX()-2);                                        setY(getY()+1);                                        showXY();                                        Muevete(6);                                }                                Muevete(7);                                break;                        case 7: //Nos movemos +2,-1                                if(getX()+2 <= 8 && getY()-1 >= 1)                                {					if(checkHorseLocation(getX()+2, getY()-1) == 1) { Muevete(0); }                                        setX(getX()+2);                                        setY(getY()-1);                                        showXY();                                        Muevete(7);                                }				Muevete(0);                                break;		}	}	void showXY()	{		setHorsePosition(getX(), getY());		System.out.println("Nueva posicion para el caballo: " + getX() + "," + getY());//		System.out.println(checkIfMovesIsFull());	}	void setHorsePosition(int i, int j)	{		this.posiciones[i-1][j-1]++;	}	int checkHorseLocation(int x, int y)	{		if(this.posiciones[x-1][y-1] >= 1)		{			return 1;		}		else		{			return 0;		}	}	int checkIfMovesIsFull()	{		int i,j,total=0;		for(i = 0; i < 8; i++)		{			for(j = 0; j < 8; j++)			{				if(this.posiciones[i][j] >= 1)				{					total++;				}			}		}		return total;	}	void setX(int var)	{		this.x = var;	}	void setY(int var)	{		this.y = var;	}	int getX()	{		return this.x;	}	int getY()	{		return this.y;	}}