You are on page 1of 5

/*

Juego.java
Autores: Claudia Grajeda 10118
Juan Carlos Rosito 10043
Diego Yon 10070
Fecha: 20 de agosto de 2010
Descripcion: Clase juego que contiene varios metodos.
*/
import java.util.*;
public class Juego{
private char[][] matriz;
private int[] vectorFila1;
private int[] vectorFila2;
private int[] vectorColu1;
private int[] vectorColu2;
private char dibujo;
Random mi_rand= new Random();
int aleatorio;
//constructor
public Juego(){
//Creacion de objetos en la posicion (fil, col)
for (int fil=0; fil<matriz.length; fil++){
for (int col=0; col<matriz.length; col++)
matriz[fil][col] = random();
}//fin del for
}// fin del constructor
public Juego(int fila,int colu){
matriz= new char[fila][colu];
for (int i=0; i<matriz.length; i++){
for (int c=0; c<matriz[0].length; c++){
aleatorio= mi_rand.nextInt(6)+1;
dibujo = '$';
switch(aleatorio){
case 1: {
dibujo='$';
break;
}
case 2:{
dibujo='#';
break;
}
case 3:{
dibujo='%';
break;
}
case 4:{
dibujo='&';
break;
}
case 5:{
dibujo='*';
break;
}
}//fin case
matriz[i][c]=dibujo;
}//fin for
}//fin for
}//fin overloading
public char random(){
char caracter='&';
aleatorio= mi_rand.nextInt(6)+1;
switch(aleatorio){
case 1: {
caracter='$';
break;
}
case 2:{
caracter='#';
break;
}
case 3:{
caracter='%';
break;
}
case 4:{
caracter='&';
break;
}
case 5:{
caracter='*';
break;
}
}//fin case
return caracter;
}
public void remplazo(int fil1,int fil2,int col1,int col2){
char aux='x';
aux=matriz[fil1][col1];
matriz[fil1][col1]=matriz[fil2][col2];
matriz[fil2][col2]=aux;
}
public int busquedaFila1(int fil1,int col1){
int acFila=0,aux=0;
vectorFila1= new int[matriz.length];
for (int i=0; i<matriz.length; i++){
if (matriz[fil1][col1]==matriz[i][col1]){
acFila++;
vectorFila1[i]=i;
}
else
acFila=0;
if (acFila>2){
aux=acFila;
}
}
acFila=aux;
return acFila;
}
public int busquedaFila2(int fil1,int col1){
int acFila=0,aux=0;
vectorFila2= new int[matriz.length];
for (int i=0; i<matriz.length; i++){
if (matriz[fil1][col1]==matriz[i][col1]){
acFila++;
vectorFila2[i]=i;
}
else
acFila=0;
if (acFila>2){
aux=acFila;
}
}
acFila=aux;
return acFila;
}
public int busquedaColumna1(int fil1,int col1){
int acColu=0,aux=0;
vectorColu1= new int[matriz[0].length];
for (int c=0; c<matriz[0].length; c++){
if (matriz[fil1][col1]==matriz[fil1][c]){
acColu++;
vectorColu1[c]=c;
}
else
acColu=0;
if (acColu>2){
aux=acColu;
}
}
acColu=aux;
return acColu;
}
public int busquedaColumna2(int fil1,int col1){
int acColu=0,aux=0;
vectorColu2= new int[matriz[0].length];
for (int c=0; c<matriz[0].length; c++){
if (matriz[fil1][col1]==matriz[fil1][c]){
acColu++;
vectorColu1[c]=c;
}
else
acColu=0;
if (acColu>2){
aux=acColu;
}
}
acColu=aux;
return acColu;
}
public void relleno(int fil1,int fil2,int col1,int col2){
for (int i=0; i<vectorFila1.length; i++){
matriz[vectorFila1[i]][col1]=random();
}
for (int i=0; i<vectorFila2.length; i++){
matriz[vectorFila2[i]][col2]=random();
}
for (int i=0; i<vectorFila1.length; i++){
matriz[fil1][vectorColu1[i]]=random();
}
for (int i=0; i<vectorFila1.length; i++){
matriz[fil2][vectorColu2[i]]=random();
}
}
public int puntos(int ac){
int puntos=0;
if (ac>2){
puntos=ac*10;
}
return puntos;
}
public String toString(){
String descripcion="";
descripcion+="\n FISHDOM\n";
descripcion+="\n";
descripcion+=" ";
for (int col=0; col<matriz[0].length; col++)
descripcion+="#"+(col+1)+" ";
descripcion+="\n";
for (int fil=0; fil<matriz.length; fil++){
descripcion+="#"+(fil+1)+" ";
for (int col=0; col<matriz[fil].length; col++)
descripcion+=matriz[fil][col]+" ";
descripcion+="\n";
}
descripcion+="\n";
return descripcion;
}
//Metodo getInstrucciones
public static String getInstrucciones(){
String ins = "";
ins +="\n\tINSTRUCCIONES \n";
ins +="- Al escoger la opcion de Juego \n";
ins +=" debes de ingresar el numero de filas \n";
ins +=" y el numero de columnas que deseas.\n";
ins += "\n";
ins +="- Estas deben ser mayores a 4 y menores que 10 \n";
ins += "\n";
ins +="- El objetivo es juntar 3 o mas piezas \n";
ins +=" que posean el mismo dibujo \n";
ins +=" de forma vertical u horizontal. \n";
ins += "\n";
ins +="- Para realizar los movimientos \n";
ins +=" debes de ingresar las coordenadas \n";
ins +=" de ambas piezas en el espacio indicado.\n";
ins += "\n";
ins +="- Primero, ingresa el numero de fila \n";
ins +=" de una de las piezas que deseas mover\n";
ins +=" luego presiona ENTER y coloca el numero de columna \n";
ins +=" a continuacion se te solicitara el numero\n";
ins +=" de fila y columna de la segunda pieza a mover.\n";
ins += "\n";
ins +="- Tienes 5 turnos para alcanzar \n";
ins +=" los 200 puntos necesarios para ganar. \n";
ins += "\n";
ins +="- Mientras mas piezas se eliminen mas puntos obtiene. \n"
;
ins += "\n";
ins +="- Te deseamos mucha suerte! Esperamos que te diviertas.\n
";
ins += "\n";
return ins;
}
}

You might also like