elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¡¡¡SI ALGUIEN LE PUEDE ECHAR UN VISTAZO A ESTE CODIGO!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¡¡¡SI ALGUIEN LE PUEDE ECHAR UN VISTAZO A ESTE CODIGO!!!  (Leído 1,663 veces)
savag

Desconectado Desconectado

Mensajes: 8



Ver Perfil
¡¡¡SI ALGUIEN LE PUEDE ECHAR UN VISTAZO A ESTE CODIGO!!!
« en: 8 Octubre 2011, 20:34 pm »

TENGO QUE ENTREGARLO MAÑANA,SI PODEIS VER SI TIENE ALGUN FALLO ES IMPORTANTISIMO PARA MI,ESTE ES EL ENUNCIADO.

Este es ,¿que tal esta  ?son dos jugadores cada uno tiene que dar una palabra y gana el primero que hacierte,la partida se debe poder guardar y cargar,en modo texto no en binario.Si hacierta con la letras sigues tirando si no pierdes turno.



 
Código:
  program ahorcado;
  uses crt;
  type
    cadena=string[9];
  var
    fich:text;

    palabra1,adivinar1:cadena;
    palabra2,adivinar2:cadena;
    letra:char;
    posicion1,posicion2,longuitud1,longuitud2:integer;
    {en el procedimiento las cadenas palabra,aux,adivinar las pasamos por referencia
    porque las modificaciones que vamos a efectuar en el parametro formal las realizaremos sobre
    el parametro real lo mismo sucede con la longuitud porque varia segun sea la palabra}
  procedure inicializarvector (var palabra,adivinar:cadena;var longuitud:integer);
  var
   i:integer;
   begin
   writeln('Escribe la palabra que quiere que adivinen: ');
   readln(palabra);
   {Calculamos la loguitud de la palabra introducida}
   longuitud:=lenght(palabra);

   for i:=1 to longuitud do
   {Inicializamos la palabra con guiones}
      adivinar:='_';
      end;
  {Pasamos todo los argumentos por referencia salvo "palabra" que la pasamos por valor porque no la vamos a modificar}
   procedure comprobarletra (var letra:char;var posicion:integer;var adivinar:cadena;palabra:cadena);
      var
      i:integer;

      begin
      repeat
      writeln('¿Que letra crees que esta en la palabra?');
      readln(letra);
      {Vemos en que posicion se encuentra la letra dada en la palabra que tenemos que adivinar}
      posicion:=pos(letra,palabra);
      if posicion<>0 then
      begin
      writeln('La posición es:',posicion);
      {Cambiamos en la palabra que tenemos que adivinar el guion por la letra dada}
          adivinar[posicion]:=letra;
      {Y mostramos por pantalla los cambios efectuados}
          writeln(adivinar);
          end
       {si no se encuentra la letra en la palabra}
        else
         begin
         writeln('La letra dada no se encuentra en la palabra.');
         writeln('¡¡¡PIERDES TURNO!!!');
         writeln('Lista de letras que no estan en la palabra que tienes que adivinar:');
         writeln(letra);
         end;
         until (posicion=0) ;
         end;

         {----------------------CUERPO DEL PROGRAMA-------------------------}
         begin
         clrscr;
         writeln('=================================JUEGO DEL AHORCADO============================');
         {$I-}{Desactivamos el control automático de errores de E/S.}
          assign(fich,'C:\juego.txt');
          append(fich);
          {$I+}{Activamos el control automático de errores de E/S.}
          if IOResult<>0 then {Comprobamos si ha habido errores}
          writeln('Error:',IOResult,'al abrir el fichero.')
          else
          begin
         writeln('Comencemos el juego del ahorcado,con el jugador 1.');
         inicializarvector(palabra1,adivinar1,longuitud1);
         clrscr;
         writeln('jugador 2 es su turno');
         clrscr;
         inicializarvector(palabra2,adivinar2,longuitud2);
         repeat
            writeln('Jugador 1');
            comprobarletra(letra,posicion2,adivinar2,palabra2);
            clrscr;
            writeln('Su turno,jugador 2');
            comprobarletra(letra,posicion1,adivinar1,palabra1);
            clrscr;
            until
             (adivinar1=palabra1) or (adivinar2=palabra2);
             if(adivinar2=palabra2)then
               writeln('¡¡¡¡GANASTE JUGADOR 1!!!')
               else
                writeln('¡¡¡GANASTE JUGADOR 2!!!');
          close(fich);
          end;
          end.
                     


En línea

savag

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: ¡¡¡SI ALGUIEN LE PUEDE ECHAR UN VISTAZO A ESTE CODIGO!!!
« Respuesta #1 en: 9 Octubre 2011, 06:12 am »

Por favor si alguien puede decir algo hoy,lo tengo que entregar esta noche,que os parece?


En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.668


www.killtrojan.net


Ver Perfil WWW
Re: ¡¡¡SI ALGUIEN LE PUEDE ECHAR UN VISTAZO A ESTE CODIGO!!!
« Respuesta #2 en: 10 Octubre 2011, 00:13 am »

No se que nivel de programación debes estar pero no te han enseñado programación modular? Es lo típico que se enseña en pascal y podrías haber dividido tu programa con algúnos "procedure".

Si el programa funciona pues bien...pero dentro 3 semanas no entenderas el codigo ya que no está bien ordenado, espero que el profesor que te lo corrija tenga ojo de cubero. Por otro lado ya que utilizas ficheros, podrías cargar las palabras del juego desde un archivo de txt donde puedes ponerle unas decenas de palabras y cargue una por azar, así queda mas realista.
En línea

Killtrojan Syslog v1.44: ENTRAR
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
alguien puede ayudarmecon este codigo
Programación Visual Basic
pedraosone 7 1,439 Último mensaje 5 Octubre 2007, 01:57 am
por Spider-Net
Le podeis echar un ojo a este codigo??. Es un codigo pequeño y facil. « 1 2 »
PHP
70N1 10 4,900 Último mensaje 19 Febrero 2010, 18:14 pm
por 70N1
Por favor alguien me puede ayudar con este codigo
Java
MrC4RL4NG4S 6 5,753 Último mensaje 20 Mayo 2013, 02:14 am
por lemsangel
Alguien me puede probar este codigo.
Programación Visual Basic
LeandroA 3 1,361 Último mensaje 29 Agosto 2010, 04:46 am
por LeandroA
alguien me puede ayudar con este codigo porfavor.
Programación C/C++
MrC4RL4NG4S 7 4,627 Último mensaje 4 Octubre 2010, 11:35 am
por cbug
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines