elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:50  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  ¡¡¡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 866 veces)
savag

Desconectado Desconectado

Mensajes: 8



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

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 »

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


En línea
skapunky
Electronik Engineer &
CoAdmin
***
Conectado Conectado

Mensajes: 3.440



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

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Alguien me puede echar un cable
Hacking Wireless
sematove 0 225 Último mensaje 17 Agosto 2007, 11:17
por sematove
alguien puede ayudarmecon este codigo
Programación Visual Basic
pedraosone 7 582 Último mensaje 5 Octubre 2007, 01:57
por Spider-Net
Le podeis echar un ojo a este codigo??. Es un codigo pequeño y facil.
PHP
70N1 10 2,051 Último mensaje 19 Febrero 2010, 18:14
por 70N1
Alguien me puede probar este codigo.
Programación Visual Basic
LeandroA 3 672 Último mensaje 29 Agosto 2010, 04:46
por LeandroA
alguien me puede ayudar con este codigo porfavor.
Programación C/C++
MrC4RL4NG4S 7 1,327 Último mensaje 4 Octubre 2010, 11:35
por cbug
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines