Jueves 14 de Noviembre de 2024, 04:26
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Juego del ahorcado en C++
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Juego del ahorcado en C++ (Leído 16167 veces)
arezubi
Nuevo Miembro
Mensajes: 4
Juego del ahorcado en C++
«
en:
Miércoles 18 de Marzo de 2009, 19:46 »
0
Buenas!
Necesito hacer un ahorcado para clase. Lo tengo q hacer con archivos. El usuario tiene que poder añadir más palabras y que las palabras a la hora de jugar sean aleatorias.
Tengo alguna idea de como hacerlo, pero si me podeis ayudar con ideas os lo agradeceria.
Saludos
Tweet
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Juego del ahorcado en C++
«
Respuesta #1 en:
Jueves 19 de Marzo de 2009, 03:10 »
0
No se hacen tareas.
Postea lo que hayas hecho, y con gusto se te puede ir ayudando, pero no pidas que lo hagan por ti.
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
arezubi
Nuevo Miembro
Mensajes: 4
Re: Juego del ahorcado en C++
«
Respuesta #2 en:
Domingo 22 de Marzo de 2009, 21:37 »
0
Ya tengo algo de codigo. Terngo funciones y el principal. Me falta controlar el juego. De momento me da un error y aun depurando no lo encuentro. Mañana por la mañana subo el código que tengo, q lo tengo en el ordenador de clase
arezubi
Nuevo Miembro
Mensajes: 4
Re: Juego del ahorcado en C++
«
Respuesta #3 en:
Lunes 23 de Marzo de 2009, 12:33 »
0
Bueno paso el codigo que tengo. El problema que tengo de momento es que en la funcion de obtener palabra, que supuestamente es aleatoria, me da la misma palabra. La funcion de añadir palabra, si me funciona, lo unico que tengo que poner la eleccion para q pueda añadir mas de una palabra y q salga cuando quiera.
Código: C
#include <stdio.h>
#include <stdlib.h>
// Variables que representan los punteros
FILE
*
F_palabras
;
char
archivo_ahorcado
[
100
]
=
"/cygdrive/c/Ahorcado/palabras.txt"
;
int
palabras_dichas
[
50
]
;
// Variable donde almaceno las preguntas que voy haciendo
int
*
p_dichas
=&
palabras_dichas
[
0
]
;
int
numero_palabras
=
0
;
// Número de preguntas que vamos haciendo
//Función que nos devolvera el archivo y en caso de q no se encuntre saldrá.
FILE
*
abrir_archivo
(
FILE
*
F_archivo
,
char
*
p_nombre_archivo
,
char
*
modo
)
{
F_archivo
=
fopen
(
p_nombre_archivo
,
modo
)
;
if
(
F_archivo
==
NULL
)
{
printf
(
"No se encuentran el fichero %s!"
,
p_nombre_archivo
)
;
exit
(
-
1
)
;
}
return
(
F_archivo
)
;
}
int
n_palabras
(
)
{
char
buffer
[
200
]
;
int
contador
=
0
;
F_palabras
=
abrir_archivo
(
F_palabras
,
archivo_ahorcado
,
"rt"
)
;
while
(
fgets
(
buffer
,
200
,
F_palabras
)
)
{
contador
++;
}
fclose
(
F_palabras
)
;
return
(
contador
)
;
}
void
obten_palabra
(
)
{
char
buffer
[
200
]
;
int
total_palabras
;
total_palabras
=
n_palabras
(
)
;
int
i
=
(
rand
(
)
%
(
total_palabras
-
numero_palabras
)
)
+
1
;
int
j
,
x
;
F_palabras
=
abrir_archivo
(
F_palabras
,
archivo_ahorcado
,
"rt"
)
;
for
(
j
=
0
;
j
<
i
;
j
++
)
{
fgets
(
buffer
,
200
,
F_palabras
)
;
for
(
x
=
0
;
x
<
numero_palabras
;
x
++
)
{
if
(
palabras_dichas
[
x
]
==
j
+
1
)
{
i
++;
}
}
}
printf
(
"%s"
,
buffer
)
;
*
p_dichas
=
i
;
p_dichas
++;
numero_palabras
++;
// Sumamos 1 al número de preguntas que hemos hecho
fclose
(
F_palabras
)
;
}
void
jugar
(
)
{
}
void
introduce
(
)
{
char
nueva_palabra
[
30
]
;
char
buffer
[
30
]
;
int
opcion
,
encontrado
=
0
,
salir
;
F_palabras
=
abrir_archivo
(
F_palabras
,
archivo_ahorcado
,
"at"
)
;
do
{
do
{
encontrado
=
0
;
printf
(
" Escriba "
salir
" para dejar de introducir elementos.nn"
)
;
scanf
(
"%s"
,
nueva_palabra
)
;
printf
(
"La palabra que quieres introducir es:%sn"
,
nueva_palabra
)
;
printf
(
"Pulsa 1 si es correcto.n"
)
;
scanf
(
"%d"
,&
opcion
)
;
if
(
opcion
==
1
)
{
F_palabras
=
abrir_archivo
(
F_palabras
,
archivo_ahorcado
,
"rt"
)
;
while
(
fgets
(
buffer
,
80
,
F_palabras
)
!=
NULL
)
{
if
(
strncmp
(
buffer
,
nueva_palabra
,
strlen
(
nueva_palabra
)
)
==
0
)
{
printf
(
"Esta palabra esta en el registro.n"
)
;
encontrado
=
1
;
}
}
fclose
(
F_palabras
)
;
}
}
while
(
encontrado
==
1
)
;
F_palabras
=
abrir_archivo
(
F_palabras
,
archivo_ahorcado
,
"at"
)
;
fprintf
(
F_palabras
,
"n%s"
,
nueva_palabra
)
;
printf
(
"La palabra que has introducido ha sido guardada en el registro correctamenten"
)
;
}
while
(
strncmp
(
nueva_palabra
,
"salir"
,
5
)
!=
0
)
;
fclose
(
F_palabras
)
;
}
void
instrucciones
(
)
{
char
buffer
[
100
]
;
char
archivo_instrucciones
[
100
]
=
"/cygdrive/c/Ahorcado/instrucciones.txt"
;
FILE
*
f_instrucciones
;
f_instrucciones
=
abrir_archivo
(
f_instrucciones
,
archivo_instrucciones
,
"rt"
)
;
while
(
fgets
(
buffer
,
60
,
f_instrucciones
)
)
{
printf
(
"%s"
,
buffer
)
;
}
fclose
(
f_instrucciones
)
;
}
int
main
(
)
{
int
opcion
;
printf
(
"|||||||||||||||||||||||||||||||||||||||||||||||"
)
;
printf
(
"||||||||||||Juego del ahorcado|||||||||||||||||"
)
;
printf
(
"|||||||||||||||||||||||||||||||||||||||||||||||"
)
;
printf
(
"n1. Jugarn"
)
;
printf
(
"2. Introducir nuevas palabrasn"
)
;
printf
(
"3. Instruccionesn"
)
;
scanf
(
"%d"
,&
opcion
)
;
if
(
opcion
==
1
)
{
obten_palabra
(
)
;
}
else
if
(
opcion
==
2
)
{
introduce
(
)
;
}
else
if
(
opcion
==
3
)
{
instrucciones
(
)
;
}
else
{
printf
(
"Adiosn"
)
;
}
}
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Juego del ahorcado en C++