Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Err... en 10 Enero 2011, 09:50 am



Título: C# el ahorcado
Publicado por: Err... en 10 Enero 2011, 09:50 am
Hola, tengo que hacer el juego del ahorcado en C# i en pseudocodigo, pero no sé como hacer-lo.
Me podéis ayudar?
Gracias!!


Título: Re: C# el ahorcado
Publicado por: leogtz en 10 Enero 2011, 10:02 am
Aquí no es el lugar correcto para C#.

Citar
un 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


Título: Re: C# el ahorcado
Publicado por: Err... en 10 Enero 2011, 10:15 am
Me podeis decir como oculto la palabra que estoy escribiendo?
Gracias


Título: Re: C# el ahorcado
Publicado por: Err... en 10 Enero 2011, 10:25 am
*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


Título: Re: C# el ahorcado
Publicado por: leogtz en 10 Enero 2011, 10:41 am
Todo se basa en "Busqueda secuencial", investiga sobre eso, es algo como:

Código
  1. void busqueda_secuencial(char palabra[], char guiones[], char caracter)
  2. {
  3.    unsigned int i;
  4.    for(i = 0; palabra[i]; i++)       /* Busqueda secuencial */
  5.        if(palabra[i] == caracter)
  6.            guiones[i] = caracter;
  7. }


Título: Re: C# el ahorcado
Publicado por: Err... en 10 Enero 2011, 11:26 am
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");
       
               
                       

        }
    }
}
 


Título: Re: C# el ahorcado
Publicado por: Oblivi0n en 10 Enero 2011, 15:14 pm
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace PENJAT
  7. {
  8.    class Program
  9.    {
  10.        static void Main(string[] args)
  11.        {
  12.            const int MAX = 25;
  13.            int i;
  14.            string cad1, cad2, cadfinal, paraula, continuar, lletra;
  15.            //FI DECLARACIÓ VARIABLES I CONSTANTS
  16.            continuar = "si";
  17.            do
  18.            {
  19.                Console.WriteLine("La paraula només pot tenir 25 lletres");
  20.                do
  21.                {
  22.                    Console.WriteLine("Atenció la paraula és oculta");
  23.                    paraula = Console.ReadLine();
  24.                    Console.Clear();
  25.                    if (paraula.Length > MAX)
  26.                    {
  27.                        Console.WriteLine("La paraula és massa llarga!");
  28.                    }
  29.                }
  30.                while (paraula.Length > MAX || paraula.IndexOf("") == -1);
  31.                Console.WriteLine("Atenció! Comença el Joc!");
  32.                Console.WriteLine("La paraula té: " + " " + paraula.Length + "lletres");
  33.                cad1 = "_";
  34.                cad2 = "_";
  35.                cadfinal = "_";
  36.                while (cadfinal.Length < paraula.Length)
  37.                {
  38.                    cadfinal = cad1 + cad2;
  39.                    cad2 = cadfinal;
  40.                }
  41.                Console.WriteLine(cadfinal);
  42.                i = 11;
  43.                do
  44.                {
  45.                    Console.WriteLine("Tens" + " " + i + " " + "intents");
  46.                    Console.WriteLine("Introdueix lletres, prem <intro> per confirmar-la");
  47.                    lletra = Console.ReadLine();
  48.                    if (paraula.IndexOf(lletra) == -1)
  49.                    {
  50.                        i = i - 1;
  51.                    }
  52.                    else
  53.                    {
  54.                        cadfinal = paraula.Insert('_',lletra);
  55.                    }
  56.                }
  57.                while (i >= 0);
  58.                if (i == 0)
  59.                {
  60.                    Console.WriteLine("Has perdut, no et desanimis!");
  61.                }
  62.                else if (i > 0 && i < 6)
  63.                {
  64.                    Console.WriteLine("Molt bé ets un/a crack!!");
  65.                }
  66.                else
  67.                {
  68.                    Console.WriteLine("Has jugat bé, però t'has de concentrar més");
  69.                }
  70.                Console.WriteLine("Vols tornar a jugar?");
  71.                Console.WriteLine("Prem s, si és que si o prem n si és que no");
  72.                continuar = Console.ReadLine();
  73.                switch (continuar)
  74.                {
  75.                    case "s": continuar = "si"; break;
  76.                    case "n": continuar = "no"; break;
  77.                }
  78.            }
  79.            while (continuar == "si");
  80.  
  81.  
  82.  
  83.  
  84.        }
  85.    }
  86. }
  87.  
  88. 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 ^^


Título: Re: C# el ahorcado
Publicado por: Khronos14 en 10 Enero 2011, 15:24 pm
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.