Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


ayudaaaaaaaaa

Forte For Java, JavaBeens, JBuilder, JDK compiladores, Applets, Proyectos Web, interactividad con JDBC... entre mucho mas.
Moderador

Moderador: iuav

ayudaaaaaaaaa

Notapor bladde el Jue May 11, 2006 12:02 am

veran nesesito hacer una version de el juego la vibora o snake el unico problem q tengo es el movimiento de la misma ya q no puedo usar una structura LISTA sino un arreglo ya q me estoy moviendo en una matriz q es la cara el algoritmi q ise solo me funciona para cuando la culebra esta horizontal o vertical perono cuando esta en ambas al tiempo

HTTTT
T
TTTTTTT 'h' es la cabesa 't' el cuerpo

mi emeil es canito_768@hotmail.com
estudiante
bladde
Novato
Novato
 
Mensajes: 6
Registrado: Mié May 10, 2006 11:58 pm

Re: ayudaaaaaaaaa

Notapor latindeveloper el Jue May 11, 2006 9:03 pm

Hola blade,

Pedes enviar parte de tu codigo , y decirnos en que seccion tienes el problema?
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Developer aqui esta

Notapor bladde el Jue May 11, 2006 9:11 pm

codigo Snake sin completar no e decifrado como hacer mover a la culebraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:


/**
* AWT Sample application
*
* @author
* @version 1.00 06/05/03
*/
import java.io.*;
import java.util.*;
public class Proje {
//***********************************************************************

void program()
{
//******************************************************************************
String Tcomida="";
int cara=0;
int fila=0;
int columna=0;
int puntaje=0;
int duracion=0;
// uso del archivo comida*******************************************************
//var de uso del archivo mov*****************************************************************************

//**********************************************************************************
System.out.println("hoila");
matrizz M =new matrizz();
M.llenar();
Juego juego =new Juego();
Serpen snake =new Serpen();
snake.poncule(M.llamaMatriz(1));
Pro llen =new Pro();// este obj trata todas las extracciones delos archivos
//llen.leecom(); NOSE PUDO USAR
int para=0;
int cont=0;
String s="";

try{
FileReader com = new FileReader("c:\\Comida.txt");
BufferedReader entrada = new BufferedReader(com);
FileReader mov = new FileReader("c:\\Mov.txt");
BufferedReader entradaM = new BufferedReader(mov);
while((s = entrada.readLine()) != null)
{
//variable del mov
String lmov="";
juego.Comio=0;
int comio=0;//este lo voy a cambia pa cuando se acabe el archivop mober
String sentido="";
int cant_pasos=0;
//+++++++++++++++++++
cont++;
StringTokenizer tokens=new StringTokenizer(s,",");
Tcomida=tokens.nextToken();
Tcomida.trim();

if(Tcomida.length()==3)
{
System.out.println("va "+cont);
System.out.println("la comida es tipo "+Tcomida);
cara=Integer.parseInt(tokens.nextToken());
System.out.println("esta en: "+cara);// esta cara es para poner la comida no la cara dewl juego
fila=Integer.parseInt(tokens.nextToken());
System.out.println("fila : "+fila);
columna=Integer.parseInt(tokens.nextToken());
System.out.println("columna : "+columna);
puntaje=Integer.parseInt(tokens.nextToken());
System.out.println("su valor de puntaje : "+puntaje);
M.llamaMatriz(cara)[fila][columna]='c';//antes de poner validad q en ese sitio no aya uin obstaculo
while(juego.Comio==0)
{
if((lmov = entradaM.readLine()) != null)
{

StringTokenizer tok=new StringTokenizer(lmov,",");
sentido=tok.nextToken();
cant_pasos=Integer.parseInt(tok.nextToken());
System.out.println("el sentido es "+sentido);
System.out.println("la cant poasos "+cant_pasos);
System.out.println("voy allama a movimiento");
if(juego.versent(sentido)==0)//sepuede hacer
{
juego.movimiento(M,cara,duracion,puntaje,sentido,cant_pasos);//le paso el obj M,la cara,la duracion,,pumtaje,sentido,cantpasos
}
}
else{

comio=1;//esto es namas pa q salga podria servi con otra var en caso de que nunca se coma naaa salga
}

}//while comio

//LLAMO A MOVIMIENTO PASANDOLE ESTOPOR PARAMETRO LOS DATOS DE LA COMIDA W

// esto es para q el lea solo una linea del archivo me devuelava los valores q leyo asi los trabaj
} //asi los trabajo y cuando nesesite otros vuelvo a llamar la funcion
//queria hacerlo de otra manera pero no pude llamar a una funcion aqui q hiciera el mov y la asignacion a la matriz
else{// es temporal
System.out.println("va "+cont);
System.out.println("del else "+Tcomida);
cara=Integer.parseInt(tokens.nextToken());
System.out.println("esta en: "+cara);
fila=Integer.parseInt(tokens.nextToken());
System.out.println("fila : "+fila);
columna=Integer.parseInt(tokens.nextToken());
System.out.println("columna : "+columna);
duracion=Integer.parseInt(tokens.nextToken());
System.out.println("duracion : "+duracion);
puntaje=Integer.parseInt(tokens.nextToken());
System.out.println("su valor de puntaje : "+puntaje);
M.llamaMatriz(cara)[fila][columna]='C';//antes de poner validad q en ese sitio no aya uin obstaculo
while(juego.Comio==0)//aqui se pone si abia un obtsaculo antes depone comia entonces no entres y lee la siguente linea de com ia
{
if((lmov = entradaM.readLine()) != null)
{

StringTokenizer tok=new StringTokenizer(lmov,",");
sentido=tok.nextToken();
cant_pasos=Integer.parseInt(tok.nextToken());
System.out.println("el sentido es "+sentido);
System.out.println("la cant poasos "+cant_pasos);
System.out.println("voy allama a movimiento");
if(juego.versent(sentido)==0)
{
juego.movimiento(M,cara,duracion,puntaje,sentido,cant_pasos);//le paso el obj M,la cara,la duracion,,pumtaje,sentido,cantpasos
}

}
else{

comio=1;
}


//lamo al movimieto con comida temp
}//fin whielsi comio
}//finelse
}//fin whiel
}
catch(java.io.FileNotFoundException fnfex) {
System.out.println("Archivo no encontrado: " + fnfex);}
catch(java.io.IOException ioex) {}

//fin procedimiento


}/// procedimiento que controla toda la ejecucion del programa

public class Serpen extends Proje{
char cabesa='H';//este es la cabesa de la serp y ademas guarda la cara en donde este
char cuerpo='T';
int x=0,y=0;// x y 'y' controlan la pocicion en la matriz
public void poncule(char[][] matriz ){
matriz[3][0]=cabesa;
matriz[2][0]=cuerpo;
matriz[1][0]=cuerpo;
matriz[0][0]=cuerpo;

}// fin poner culebra


}//finb clase serpienteeeeeee

public class matrizz extends Proje{

int cara=0;
char[][] matriz1=new char[12][12];
char[][] matriz2=new char[12][12];
char[][] matriz3=new char[12][12];
char[][] matriz4=new char[12][12];
char[][] matriz5=new char[12][12];
char[][] matriz6=new char[12][12];
public void llenar (/*char[][] matriz1,char[][] matriz2,char[][] matriz3,char[][] matriz4,char[][] matriz5,char[][] matriz6*/)
{
String toke="";
int j=-1;
int C_token=0;
try{

FileReader frM = new FileReader("c:\\Cubo.txt");

BufferedReader entrada = new BufferedReader(frM);
String s="",todo;
while((s=entrada.readLine())!= null)
{
StringTokenizer tokens=new StringTokenizer(s);
toke=tokens.nextToken();

C_token=tokens.countTokens();
if(C_token==0)
{
cara=cara+1;
j=-1;

}
else{
if(cara==1)
{

j++;
for(int i=0;i<=C_token;i++)
{
matriz1[j][i]=toke.charAt(0);
if(i<C_token)
{
toke=tokens.nextToken();
}

}//finpara

}//fin si
//*******seleee la leen la linias de la cara 1
else{
if(cara==2)
{

j++;

for(int i=0;i<=C_token;i++)
{
matriz2[j][i]=toke.charAt(0);
if(i<C_token)
{
toke=tokens.nextToken();
}

}//finpara

}//fin si
else{
if(cara==3)
{

j++;

for(int i=0;i<=C_token;i++)
{
matriz3[j][i]=toke.charAt(0);
if(i<C_token)
{
toke=tokens.nextToken();
}

}//finpara

}//fin si
else{
if(cara==4)
{

j++;
for(int i=0;i<=C_token;i++)
{
matriz4[j][i]=toke.charAt(0);
if(i<C_token)
{
toke=tokens.nextToken();
}

}//finpara

}//fin si
else{
if(cara==5)
{

j++;
for(int i=0;i<=C_token;i++)
{
matriz5[j][i]=toke.charAt(0);
if(i<C_token)
{
toke=tokens.nextToken();
}

}//finpara

}//fin si
else{
if(cara==6)
{

j++;
for(int i=0;i<=C_token;i++)
{
matriz6[j][i]=toke.charAt(0);
if(i<C_token)
{
toke=tokens.nextToken();
}

}//finpara
}//fin si

}//sino de cara==5
}//sijno de la cara==4
}//sino del cara==3
}//sino de la cara =2

}//sino de =cara1

}//fin elseelse
}//fin mientrassssssssssss

entrada.close();
//******************LEEEEE Y GUARDA TODAS LAS CARAS
}//fin del try exepcionm
catch(java.io.FileNotFoundException fnfex) {
System.out.println("Archivo no encontrado: " + fnfex);}
catch(java.io.IOException ioex) {}
//pone la culebra


}//fin metodo
//*******************************************************************************
public char[][] llamaMatriz(int n)
{
if(n==1)
{
return matriz1;
}
else{
if(n==2)
{
return matriz2;
}
else{
if(n==3)
{
return matriz3;
}
else{
if(n==4)
{
return matriz4;
}
else{
if(n==5)
{
return matriz5;
}
else{
return matriz6;

}
}
}

}
}

}//fin metodo llama matriz
//****** este metodo se encarga de devolver la matriz que a sido invocada o bien la cara a usar



}//este el fiun de la clase matriz



public class Pro extends Proje {
int m;
int c;
String w;
String texto = new String();
int matriz[][]=new int[12][12];

//******************************************************************************
String Tcomida="";
int cara=0;
int fila=0;
int columna=0;
int puntaje=0;
int duracion=0;
// uso del archivo comida*******************************************************
int n=0;
int MOV=0;
int lini=0;
String mov="";
String sentido="";
String toke="";


// Tcomida,cara,fila,columna,puntaje
/* public int leercomida(String tcomi,int ncara,int i,int j,int punt)
{
try {
FileReader arC = new FileReader("c:\\Comida.txt");

BufferedReader entrada = new BufferedReader(arC);
String sline="";
while((sline = entrada.readLine()) != null)
{

//+=s;
}


//return n;
}*/
public void leermov()
{
int mover=0;
try {
FileReader frM = new FileReader("c:\\Mov.txt");

BufferedReader entrada = new BufferedReader(frM);
String s,todo;

while((s = entrada.readLine()) != null)
{

//todo+=s;

StringTokenizer tokens=new StringTokenizer(s,",");
sentido=tokens.nextToken();
mov=tokens.nextToken();
mov=mov.trim();// quita los espacios en blanco del string para conbertirlo en int
MOV=Integer.parseInt(mov);//la sentencia de arriba se puede pone en esta
///*******en esta parte devo llamar una funcion que enlase con la clase
// de comida, obstaculo, q vea el sentido para saver si es nesesario seguiro salir

System.out.println("son "+MOV);
System.out.println("hacia "+sentido);//al pasar este como parametro devo verificar que el sentido dela cule noseal el mismo
}

entrada.close();
}
catch(java.io.FileNotFoundException fnfex) {
System.out.println("Archivo no encontrado: " + fnfex);}
catch(java.io.IOException ioex) {}

} //fin metod leer archivo mov
//*********************************************************************
/*
el metodo leer mov abre elarchivo y lee laslineas de este separando esta linea segun especificacion
del enunciado antes de un '\n' estan los datos q me interesan sent y dur
*/

//inicio dle metodopara leer el archivo comida.txt
//////////////////*********^^^^^^^^^^^***********^^^^^^^^^^^^***********^**^*^*^*
public void leecom()
{
int para=0;
int cont=0;
String s="";
try{
FileReader com = new FileReader("c:\\Comida.txt");
BufferedReader entrada = new BufferedReader(com);
while(((s = entrada.readLine()) != null)&&(para==0))
{
cont++;
StringTokenizer tokens=new StringTokenizer(s,",");
Tcomida=tokens.nextToken();
Tcomida.trim();

if(Tcomida.length()==3)
{
System.out.println("va "+cont);
System.out.println("la comida es tipo "+Tcomida);
cara=Integer.parseInt(tokens.nextToken());
System.out.println("esta en: "+cara);
fila=Integer.parseInt(tokens.nextToken());
System.out.println("fila : "+fila);
columna=Integer.parseInt(tokens.nextToken());
System.out.println("columna : "+columna);
puntaje=Integer.parseInt(tokens.nextToken());
System.out.println("su valor de puntaje : "+puntaje);
para=1;// esto es para q el lea solo una linea del archivo me devuelava los valores q leyo asi los trabaj
} //asi los trabajo y cuando nesesite otros vuelvo a llamar la funcion
//queria hacerlo de otra manera pero no pude llamar a una funcion aqui q hiciera el mov y la asignacion a la matriz
else{// es temporal
System.out.println("va "+cont);
System.out.println("del else "+Tcomida);
cara=Integer.parseInt(tokens.nextToken());
System.out.println("esta en: "+cara);
fila=Integer.parseInt(tokens.nextToken());
System.out.println("fila : "+fila);
columna=Integer.parseInt(tokens.nextToken());
System.out.println("columna : "+columna);
duracion=Integer.parseInt(tokens.nextToken());
System.out.println("duracion : "+duracion);
puntaje=Integer.parseInt(tokens.nextToken());
System.out.println("su valor de puntaje : "+puntaje);
para=1;
}//fin sino del tipo de comida

}//fin whiel
}
catch(java.io.FileNotFoundException fnfex) {
System.out.println("Archivo no encontrado: " + fnfex);}
catch(java.io.IOException ioex) {}

}//fin procedimiento




}//fin clase prooo*************************************************
public class Juego extends Proje{
int acupunto=0;
boolean perdio=false;
int Comio=0;
String SentCule="derecha";
int caraJuego=1;
char[][] caraJ=new char[12][12];
public void movimiento(matrizz M,int cara,int duracion,int puntaje,String sentido,int cant_P)
{

caraJ=M.llamaMatriz(caraJuego);
for(int i=0;i<=11;i++)
{
for(int j=0;j<=11;j++)
{
System.out.println("la matriz en la funcio "+caraJ[i][j]);

}
}
Comio=1;
}//fin metodo m,ovimiento

public int versent(String sent)
{
if(sent.equals(SentCule))
{
System.out.println("el sentidoi es el mismo");
return 0;
}
else{
System.out.println("el sentido no es el mismo");
if((SentCule.equals("izquierda"))||(SentCule.equals("derecha")))
{
System.out.println("el sentido de la cule es izquierda o dere");
if((sent.equals("arriba"))||(sent.equals("abajo")))
{
if(sent.equals("arriba"))
{
SentCule="arriba";
}
else{
SentCule="abajo";
}
System.out.println("el sentido q entra es arriba o abajo");

return 0;
}
else{

System.out.println("el sentido deve se el inverso "+sent+" cule "+SentCule);
return 1;

}//els e del primero

}
else{
if((sent.equals("izquierda"))||(sent.equals("derecha")))
{
if(sent.equals("izquierda"))
{
SentCule="izquierda";
}
else{
SentCule="derecha";
}
System.out.println("el sentido q entra es der o izq");
return 0;
}
else{
System.out.println("el sentido deve se el inverso "+sent+" cule "+SentCule);
return 1;
}
}

}




}//fin metodo versent




}//fin clase juego







//*************************************************************************

public static void main(String[] args) {
// Create application frame.


Proje obj = new Proje();
obj.program();

// Show frame

}
}
estudiante
bladde
Novato
Novato
 
Mensajes: 6
Registrado: Mié May 10, 2006 11:58 pm


Volver a Java

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados