Hola, tengo que hacer el juego del ahorcado en C# i en pseudocodigo, pero no sé como hacer-lo.
Me podéis ayudar?
Gracias!!
Aquí no es el lugar correcto para C#.
Citarun jugador escribe una palabra(si que el otro vea)y el otro jugador trata de adivinar introduciendo letras individuales:
�COMO deberia FUNCIONAR EL ALGORITMO EN LA PC?
El programa tendra dos cadenas de caracteres,una con la palabra introducida por le primer jugador y la otra cadena en la que se introducira tantos guiones�_� como letras tenga la palabra a adivinar.
Tras leer la palabra, se borrara la pantalla, se creara y se mostrara el la pantalla de la cadena con los guiones.Entonces el ordenador leera una letra introducida por el segundo jugador y comprobara si dicha letra existe en la palabra original:
*SI EXISTE:pondra dicha letra en su pocion correspondiente en la cadena de guiones y escribir� el resultado.Se debera comprobar:
� si existe mas letras que coincidan:
Se deben poner todas la coincidencias para cada letra leida.
� si ya no existen guiones en la segunda cadena,entonces indicar que se ha acertado la palabra, Montrar el numero de fallos cometidos y terminar.
ALTERNATIVAS
aL INICIAR EL PROGRAMA deben existir dos alternativas de juego:
� La primera en la que hay como maximo 6 posivilidades para adivinar la palabra y en al que a medida en al que se va fallando se va dibujando por la pantalla al "clasico hombresito ahorcado" . Relacionando con cada fallo con una parte del cuerpo del ahorcado (cabeza,cuerpo, brazo der, brazo izquierdo, pierna derecha y pierna izquierda)
� La segunda en la que se define la contidad de errores maxima que se puede cometer la persona que adivina la palabra en un inicio y en la que no hay que dibujar nada.
FINALIZACION
EL programa debe terminar en los siguentes casos:
� Si se acierta a la palabra.
� Si se cometen un cierto numeros de fallos que debe visualizarse previamente dependiendo de la opcion que se escoja a un inicio
El programa permitira "rendirse" por parte del segundo jugador,es decir, que permitira terminar el programa en cualquier momento.
DATOS QUE PUEDE AYUDAR: Puede ser uan funcion que acepte 3 argumentos.
La cadena original,la cadena con guiones y la letra introducida
Me podeis decir como oculto la palabra que estoy escribiendo?
Gracias
*SI EXISTE:pondra dicha letra en su pocion correspondiente en la cadena de guiones y escribir� el resultado.Se debera comprobar:
� si existe mas letras que coincidan:
Se deben poner todas la coincidencias para cada letra leida.
� si ya no existen guiones en la segunda cadena,entonces indicar que se ha acertado la palabra, Montrar el numero de fallos cometidos y terminar.
Como lo hago?
Ayuda!
Gracias
Todo se basa en "Busqueda secuencial", investiga sobre eso, es algo como:
void busqueda_secuencial(char palabra[], char guiones[], char caracter)
{
unsigned int i;
for(i = 0; palabra[i]; i++) /* Busqueda secuencial */
if(palabra[i] == caracter)
guiones[i] = caracter;
}
Hola de nuevo!
Os dejo mi código, esta en catalán porque me obligan a ello.
Decidme donde estan los fallos porfavor
Gracias
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PENJAT
{
class Program
{
static void Main(string[] args)
{
const int MAX = 25;
int i;
string cad1, cad2, cadfinal, paraula, continuar, lletra;
//FI DECLARACIÓ VARIABLES I CONSTANTS
continuar = "si";
do
{
Console.WriteLine("La paraula només pot tenir 25 lletres");
do
{
Console.WriteLine("Atenció la paraula és oculta");
paraula = Console.ReadLine();
Console.Clear();
if (paraula.Length > MAX)
{
Console.WriteLine("La paraula és massa llarga!");
}
}
while (paraula.Length > MAX || paraula.IndexOf("") == -1);
Console.WriteLine("Atenció! Comença el Joc!");
Console.WriteLine("La paraula té: " + " " + paraula.Length + "lletres");
cad1 = "_";
cad2 = "_";
cadfinal = "_";
while (cadfinal.Length < paraula.Length)
{
cadfinal = cad1 + cad2;
cad2 = cadfinal;
}
Console.WriteLine(cadfinal);
i = 11;
do
{
Console.WriteLine("Tens" + " " + i + " " + "intents");
Console.WriteLine("Introdueix lletres, prem <intro> per confirmar-la");
lletra = Console.ReadLine();
if (paraula.IndexOf(lletra) == -1)
{
i = i - 1;
}
else
{
cadfinal = paraula.Insert('_',lletra);
}
}
while (i >= 0);
if (i == 0)
{
Console.WriteLine("Has perdut, no et desanimis!");
}
else if (i > 0 && i < 6)
{
Console.WriteLine("Molt bé ets un/a crack!!");
}
else
{
Console.WriteLine("Has jugat bé, però t'has de concentrar més");
}
Console.WriteLine("Vols tornar a jugar?");
Console.WriteLine("Prem s, si és que si o prem n si és que no");
continuar = Console.ReadLine();
switch (continuar)
{
case "s": continuar = "si"; break;
case "n": continuar = "no"; break;
}
}
while (continuar == "si");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PENJAT
{
class Program
{
static void Main(string[] args)
{
const int MAX = 25;
int i;
string cad1, cad2, cadfinal, paraula, continuar, lletra;
//FI DECLARACIÓ VARIABLES I CONSTANTS
continuar = "si";
do
{
Console.WriteLine("La paraula només pot tenir 25 lletres");
do
{
Console.WriteLine("Atenció la paraula és oculta");
paraula = Console.ReadLine();
Console.Clear();
if (paraula.Length > MAX)
{
Console.WriteLine("La paraula és massa llarga!");
}
}
while (paraula.Length > MAX || paraula.IndexOf("") == -1);
Console.WriteLine("Atenció! Comença el Joc!");
Console.WriteLine("La paraula té: " + " " + paraula.Length + "lletres");
cad1 = "_";
cad2 = "_";
cadfinal = "_";
while (cadfinal.Length < paraula.Length)
{
cadfinal = cad1 + cad2;
cad2 = cadfinal;
}
Console.WriteLine(cadfinal);
i = 11;
do
{
Console.WriteLine("Tens" + " " + i + " " + "intents");
Console.WriteLine("Introdueix lletres, prem <intro> per confirmar-la");
lletra = Console.ReadLine();
if (paraula.IndexOf(lletra) == -1)
{
i = i - 1;
}
else
{
cadfinal = paraula.Insert('_',lletra);
}
}
while (i >= 0);
if (i == 0)
{
Console.WriteLine("Has perdut, no et desanimis!");
}
else if (i > 0 && i < 6)
{
Console.WriteLine("Molt bé ets un/a crack!!");
}
else
{
Console.WriteLine("Has jugat bé, però t'has de concentrar més");
}
Console.WriteLine("Vols tornar a jugar?");
Console.WriteLine("Prem s, si és que si o prem n si és que no");
continuar = Console.ReadLine();
switch (continuar)
{
case "s": continuar = "si"; break;
case "n": continuar = "no"; break;
}
}
while (continuar == "si");
}
}
}
http://foro.elhacker.net/programacion_cc/c_el_ahorcado-t316311.0.html#ixzz1AdqkGtk8
Utiliza las etiquetas GeSHi, ayudan a leer el code, luego lo miro, ahora voy a comer ^^
Tuve que hacer el juego del ahorcado en un examen de C# con interfaz gráfica. Te dejo mi juego.
(http://img524.imageshack.us/img524/2577/sinttulohzu.png)
http://www.megaupload.com/?d=PJ5OSA2N
PD: Saqué un 10 :D
Saludos.