Autor
|
Tema: [consulta] ahorcado :B (Leído 11,049 veces)
|
Darioxhcx
Desconectado
Mensajes: 2.294
|
wenas, hace como 1 mes se me ocurrio hacer un ahorcado y bue, al principio pense q habia terminado de pensarlo y de pensarlo bien, al parecer me ekivoke bue el tema es que no se me ocurre como mostrar el caracter ingresado si es valido, x ejemplo z_ _ _ _ a ingresa r y muestre z _ r r a esto es lo que tengo hasta ahora #include <stdio.h> #include <string.h> main () { char palabra[10][10]={{"cabina"}, {"olas"}, {"zorra"}, {"heladera"}, {"p0rno"}, {"mosca"}, {"monitor"}, {"pelota"}, {"viento"}, }; char letra[1]; int c,random,x,longitud,intentos=5; longitud =strlen(palabra [random ])-1; printf("##################################\n"); printf(" palabra a encontrar\n"); printf("##################################\n"); printf("intentos : %d\n",intentos ); printf("%c",palabra [random ][0]); for(c=1;c<=longitud-1;c++) { } printf("%c\n",palabra [random ][longitud ]); printf("Tu letra es: %s\n",letra ); for (x=1;x<=longitud-2;x++){ if (letra [0]==palabra [random ][x ]) printf("adivinaste la letra %s\n",letra ); } }
el tema tambien esta que no manejo punteros , por temas de tiempo esto lo hago para distrarme cuando no trabajo o estoy diseniando :3 saludos
|
|
|
En línea
|
|
|
|
Khronos14
Desconectado
Mensajes: 443
A lie is a lie
|
Estas intentando hacer un ahorcado y por lo que veo, no tienes mucha idea de programar. 1º.- La función main se define como int y debe devolver un valor. 2º.- Defines letra como un array cuando puedes hacer esto: char letra;
3º.- Para hacer el ahorcado tienes que hacer búsquedas en las cadenas, y lo más normal es hacerlo con punteros. En la cabecera string.h tienes funciones como strlen, strcpy, strstr, etc... 4º.- La lista de palabras la puedes definir así: char * palabra[]= {"cabina", "olas", "heladera", "p0rno", "mosca", "monitor", "pelota", "viento"};
Saludos.
|
|
|
En línea
|
|
|
|
Darioxhcx
Desconectado
Mensajes: 2.294
|
aver, trankilo señor anderson 1º vos hablas sobre el return para main ? na 2º si el usuario escriba , mas de 1 caracter va a funcionar mal si no me ekivoko , o no ? 3 y 4 , si gracias me iluminase y me dio una gran idea señor anderson, gracias por mostrarme el camino
|
|
|
En línea
|
|
|
|
Khronos14
Desconectado
Mensajes: 443
A lie is a lie
|
¿A qué viene lo de señor anderson? 1º.- Si, me refiero al return del main. La función main hay que definirla para que devuelva un int, y finalizando el programa con un return 0 le comunicas al sistema operativo que tu aplicación se ejecutó con éxito. 2º.- Si, sólo te recoge un caracter. Lo que tu hacias con %s no te debería funcionar. Para coger todos los caracteres hasta que se pulse enter, tienes que hacer algo como esto: char buff[10];
Saludos.
|
|
|
En línea
|
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
alguna vez deje a medias un ahorcado en c haaaace muuuchisimo tiempo, cuando apenas comenzaba, antes de dejar de programar y ahora retomarlo... el caso es que lo voy a buscar, te lo voy a pasar para que lo estudies y saques tus propias conclusiones de como deberías hacerlo... --EDIT-- Aquí está, está escrito usando las librerias ncurses (espero no sea problema) y las palabras son leidas desde un archivo de texto que se debe llamar palabras.txt aunque eres libre de cambiarlo es por eso que la cantidad de palabras es irrelevante, ya que el ciclo acaba cuando no hay nada más que leer, lo único que falto implementar (aparte de acabarlo XD) fue la selección aleatoria de palabras..... El código es muy viejo y está super incompleto, pero creo que debería servir como una idea general (es bueno que lo leas entiandas y hagas el tuyo porque no creo que el mio te sirva de mucho) de como deberias hacerlo: http://www.mediafire.com/?datuf1pr4x92illEspero sirva de algo saludos
|
|
« Última modificación: 1 Febrero 2011, 21:08 pm por gankutsuo »
|
En línea
|
|
|
|
Nork
Desconectado
Mensajes: 196
|
Así rápido se me ocurre una manera que quizá te sirva. Crear un array de boleanos del mismo tamaño que la palabra y cada vez que acierte una letra pones la posición del array de boleanos a 1 y así muestras las letras que lleva (la posición que este a 1 correspondrá a la letra de la palabra a mostrar. Si no muestras '_').
Ex:
array auxiliar de boleanos: 0 0 0 0 0 palabra a adivinar: h e l l o
Si el usuario introduce la h ->
array auxiliar de boleanos: 1 0 0 0 0 palabra a adivinar: h e l l o
Si el usuario introduce la l ->
array auxiliar de boleanos: 1 0 1 1 0 palabra a adivinar: h e l l o
S4ludos!
|
|
« Última modificación: 1 Febrero 2011, 21:09 pm por Nork »
|
En línea
|
|
|
|
Khronos14
Desconectado
Mensajes: 443
A lie is a lie
|
Así rápido se me ocurre una manera que quizá te sirva. Crear un array de boleanos del mismo tamaño que la palabra y cada vez que acierte una letra pones la posición del array de boleanos a 1 y así muestras las letras que lleva (la posición que este a 1 correspondrá a la letra de la palabra a mostrar. Si no muestras '_').
Ese método es muy chorizo... la forma "normal" de hacerlo es usando las funciones de cadenas para buscar coincidencias, no tiene más ciencia. Saludos.
|
|
|
En línea
|
|
|
|
Nork
Desconectado
Mensajes: 196
|
Ese método es muy chorizo... la forma "normal" de hacerlo es usando las funciones de cadenas para buscar coincidencias, no tiene más ciencia.
Saludos.
No sé que será para ti chorizo pero la idea que le he dado no tiene nada que ver con lo que dices... usando funciones de cadenas, como dices, puedes ver si esta la letra para luego marcar el 1 en el array de boleanos. Si no, ¿cómo sabes las que lleva acertadas? de algún modo tienes que anotarlo.
|
|
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas! Ya se que no se hacen trabajos, pero ya que se ha dejado un enlace, en este otro enlace tienes el codigo que acabo de colgar. Maneja structs, funciones, punteros y memoria dinamica. Evidentemente, se puede mejorar mucho cargando los datos desde un fichero, eso si quieres lo haces tu, ya que el hecho de utilizar vectores te limita la cantidad de datos. Si no tienes claro como funciona todo eso y las funciones de la biblioteca estandar que se manejan, no se si lo podras seguir, pero espero que te sirva de orientacion y que lo completes con el codigo que dejo gankutsuo. Si no entiendes el codigo, te tocara estudiar. Hay algun comentario, pero no todo esta explicado, por lo tanto tendras que revisarlo linea a linea. ¡Saludos! Por cierto, si no cambias de actitud poca ayuda mas vas a conseguir en esta vida.
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
Darioxhcx
Desconectado
Mensajes: 2.294
|
te entiendo do-while , capas q si mi actitud no fue de las mejores, pero creo yo, que cuando tengo que dar opinion sobre el trabajo o lo realizado x alguien q necesita ayuda, eso mismo , necesita ayuda y/o orientacion , lo que pedi fue una idea de como seguir o como realizar el objetivo, no me van a servir comentarios como "ta todo mal , empesa de nuevo" , si no me decis en que estoy mal o como minimo, como plantear la solucion, y se q no se hacen las tareas, o es una tarea ni trabajo de universidad ni nada x el estilo, eso lo hago x hoobie en mis ratos libres voy a mirar los 2 codigos y si tengo tiempo libre a ver si entiendo sobre los fucking punteros q me terminaron haciendo kilombo cuando los vi :3 gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
novato en C# juego del ahorcado
.NET (C#, VB.NET, ASP)
|
NeoXero
|
2
|
13,013
|
30 Mayo 2007, 15:19 pm
por »~^~«CkNU!»~^~«
|
|
|
C# el ahorcado
.NET (C#, VB.NET, ASP)
|
Err...
|
7
|
15,819
|
10 Enero 2011, 15:24 pm
por Khronos14
|
|
|
Juego del ahorcado C#
.NET (C#, VB.NET, ASP)
|
treblatp
|
3
|
12,901
|
3 Febrero 2011, 20:18 pm
por Khronos14
|
|
|
ahorcado
Programación C/C++
|
[JudasTeam]-BUG
|
8
|
5,992
|
18 Junio 2011, 03:54 am
por BlackZeroX
|
|
|
ahorcado en c
Programación C/C++
|
chivis cristian
|
1
|
3,105
|
11 Diciembre 2011, 20:26 pm
por [L]ord [R]NA
|
|