Ayuda importante urgente no me sale y llevo dias...
Publicado por Ismael (14 intervenciones) el 18/11/2015 10:26:54
Disculpar señores programadores:
Llevo ya intentando hacer un juegecito ya una semana entera y no hay manera de que me salga, haber si ustedes me pueden ayudar a resolverme la duda tan grande que tengo:
Solo puedo usar Strings y metodos de cadenas, no puedo usar vectores ni arrays ni nada de eso...
Mi duda es que en este programa que tengo hecho lo que quiero es que en las ultimas lineas que he hecho me entre depende si encuentra una letra o encuentra dos, la putada es que como es un código bastante "extenso" me lio un montón y nose como acabarlo... Es decir si sale la palabra "MONITOR" y el usuario introduce una M que aparezca "M------" y si introduce una O que aparezca "-O---O-", lo segundo me lo hace pero lo primero me da error, otra cosa importante que no me sale tampoco que es que cada vez que introduce una letra el usuario te diga por el numero de intento por el que vas (maximo de intentos=10), porque me seguia sumando intento 1 + 1 y no acababa nunca, y si falla una letra que no está que solamente diga que has fallao y no cuente el intento, y por último que tampoco se me ocurre como hacerlo es que no podamos introducir una letra que ya hemos jugado, porque si lo guardo en una cadena y lo pongo en un patron me da errores muy raros, debe ser el codigo tan lioso que he hecho... Solo quiero que se puede jugar a este "ahorcado" como se debe y sin fallos, que esté completito, en la linea 43 vemos que lo transformo todo a guiones y despues lo que quiero es que en funcion de si pones una letra u otra te la vaya completando hasta que ganes o pierdas... Nose me gustaría que alguien me diera un empujoncito ya que estoy bastante perdido y nose si repetirlo o qué hacer porque estoy liado y atrapado... Les agradecería su ayuda...
Les dejo el código haber si me lo pueden ayudar a terminar porque estoy mas perdido....
Por favor les estaría eternamente agradecido ya que nadie me ayuda y nose como seguir...
Llevo ya intentando hacer un juegecito ya una semana entera y no hay manera de que me salga, haber si ustedes me pueden ayudar a resolverme la duda tan grande que tengo:
Solo puedo usar Strings y metodos de cadenas, no puedo usar vectores ni arrays ni nada de eso...
Mi duda es que en este programa que tengo hecho lo que quiero es que en las ultimas lineas que he hecho me entre depende si encuentra una letra o encuentra dos, la putada es que como es un código bastante "extenso" me lio un montón y nose como acabarlo... Es decir si sale la palabra "MONITOR" y el usuario introduce una M que aparezca "M------" y si introduce una O que aparezca "-O---O-", lo segundo me lo hace pero lo primero me da error, otra cosa importante que no me sale tampoco que es que cada vez que introduce una letra el usuario te diga por el numero de intento por el que vas (maximo de intentos=10), porque me seguia sumando intento 1 + 1 y no acababa nunca, y si falla una letra que no está que solamente diga que has fallao y no cuente el intento, y por último que tampoco se me ocurre como hacerlo es que no podamos introducir una letra que ya hemos jugado, porque si lo guardo en una cadena y lo pongo en un patron me da errores muy raros, debe ser el codigo tan lioso que he hecho... Solo quiero que se puede jugar a este "ahorcado" como se debe y sin fallos, que esté completito, en la linea 43 vemos que lo transformo todo a guiones y despues lo que quiero es que en funcion de si pones una letra u otra te la vaya completando hasta que ganes o pierdas... Nose me gustaría que alguien me diera un empujoncito ya que estoy bastante perdido y nose si repetirlo o qué hacer porque estoy liado y atrapado... Les agradecería su ayuda...
Les dejo el código haber si me lo pueden ayudar a terminar porque estoy mas perdido....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package ej01;
import java.util.*;
public class ahorcado {
public static void main(String[] args) {
int dato1,c=0,i,t,longit,longitud,l,cont1=0;
char letra;
String palabra="",letrapulsada,cadenavacia2="",cadenavacia="";
String lista="PERRO LAPIZ ORDENADOR TECLADO PROCESADOR SISTEMA INTERFAZ UNIX PROGRAMA DISCO CONECTOR CABLEADO ALMOHADILLA VENTANA JERSEY CAMISETA PANTALON RECREO MONITOR BOCADILLO";
Scanner teclado = new Scanner(System.in);
Random azar =new Random();
dato1=azar.nextInt(20)+1; //genera numero al azar de 1 a 20 para contar las 20 palabras que hay
for(i=0; i<lista.length(); i++){ //recorremos la cadena para buscar nuestra palabra escogida por el numero al azar dado
letra = lista.charAt(i); //Vamos contando letra a letra y guardandolo en la variable letra
if(letra == ' ') { //si se encuentra con un espacio que sume 1 al contador
c++; //especifica porqué palabra del ciclo va
}
if(c == dato1) { //y cuando el contador coincida con el numero generado al azar que especifica la palabra que ha elegido
palabra=palabra+lista.charAt(i+1); // que coja el carácter por el que va (+1 para que no coja el espacio), que es el que coincide con la palabra elegida y con el ciclo que se complete dicha palabra guardandolo en la variable palabra
}
}
System.out.println(palabra);
System.out.println("Introduce una letra para adivinar la palabra: ");
letrapulsada=teclado.nextLine();
letrapulsada=letrapulsada.toUpperCase();
if(palabra.indexOf(letrapulsada) != -1){ //si la letra que ha pulsado coincide con la letra pulsada por el usuario
for(t=0;t<palabra.length();t++){ //para ir contando las letras
if(!letrapulsada.equals(palabra.charAt(t))){ //que ponga la cadena en guiones
cadenavacia=cadenavacia+"-";
}
}
//QUIERO AQUI QUE SI ENCUENTRA SOLO UNA OCURRENCIA DE ESA LETRA ME HAGA LO PRIMERO SI ME ENCUENTRA MAS DE UNA QUE ME HAGA LO SIGUIENTE
longit=palabra.indexOf(letrapulsada); //posicion de esa letra
cadenavacia=cadenavacia.substring(0,longit)+letrapulsada+cadenavacia.substring(longit,cadenavacia.length()-1);
//Lo que hacemos es concatenar desde el inicio hasta la longitud de esa palabra y alli ponemos la letra, a continuacion hasta el final de la palabra
System.out.println(cadenavacia);
longit=palabra.indexOf(letrapulsada);
longitud=palabra.indexOf(letrapulsada, longit+1);
cadenavacia2=cadenavacia.substring(0,longitud)+letrapulsada+cadenavacia.substring(longitud,cadenavacia.length()-1);
System.out.println(cadenavacia2);
}
}
}
Por favor les estaría eternamente agradecido ya que nadie me ayuda y nose como seguir...
Valora esta pregunta
0