SoloCodigo

Programación General => Pascal => Mensaje iniciado por: C++ BorlFJ en Jueves 22 de Julio de 2004, 22:35

Título: Juego verdugo
Publicado por: C++ BorlFJ en Jueves 22 de Julio de 2004, 22:35
Nadie sabrà por acà en que consiste el juego del "Verdugo"
si algien sabe porfavor le agradecerìa que me lo explicara
gracias de antemano...


 :comp:  :hola:
 :unsure:
C++ BorlFJ
Título: Re: Juego verdugo
Publicado por: Enko en Viernes 23 de Julio de 2004, 01:13
¿No sería el ahorcado?
El que tenés que decir las letras de una palabra hasta que la adivines y si fallas se va dibujando un hombrecito para ahorcarlo.
Título: Re: Juego verdugo
Publicado por: JPVM en Domingo 25 de Julio de 2004, 08:43
Tu debes estar refiriendo al ahorcado por cualquier cosa aqui te dejo uno que yo hice

Código: Text
  1. Program Ahorcado;
  2. Uses crt;
  3. Const
  4.    MaxPalabra = 14;
  5. Type
  6.    t_palabras = record
  7.        palabra:string[MaxPalabra];
  8.    end;
  9. Var
  10.    v_palabras : array[0..9] of t_palabras;
  11.    v_letras   : array[1..100] of char;
  12.    v_anterior, i:integer;
  13.  
  14.    Procedure Marco;
  15.    {Dibuja el marco en la pantalla}
  16.    Var
  17.       i, j :integer;
  18.    Begin
  19.       Clrscr;
  20.       For i := 1 to 79 do begin
  21.           gotoxy(i, 1);
  22.           write('Í');
  23.           gotoxy(i,24);
  24.           write('Í');
  25.       end;
  26.       For j := 1 to 24 do begin
  27.          gotoxy(1,j);
  28.          write('º');
  29.          gotoxy(80,j);
  30.          write('º');
  31.       end;
  32.          gotoxy(80,1);
  33.          write('»');
  34.          gotoxy(1,24);
  35.          write('È');
  36.          gotoxy(80,24);
  37.          write('¼');
  38.          gotoxy(1,1);
  39.          write('É');
  40.     End; {Marco}
  41.     Function Menu(var p_opcion:integer):integer;
  42.     {Dibuja el men£}
  43.     Var
  44.         v_opcion:integer;
  45.  
  46.     Begin
  47.        clrscr;
  48.        marco;
  49.        gotoxy(25,6);
  50.        Writeln('Bienvenido aljuego del AHORCADO');
  51.        gotoxy(25,8);
  52.        writeln('Si tiene m s de 7 fallos pierde');
  53.        gotoxy(25, 14);
  54.        Writeln('1. Jugar');
  55.        Gotoxy(25, 15);
  56.        Writeln('2. Salir');
  57.        Gotoxy(25, 16);
  58.        Write('Opci¢n :');
  59.        Readln(v_opcion);
  60.        p_opcion := v_opcion;
  61.        menu := v_opcion;
  62.     End; {Menu}
  63.     Procedure Dibujo(p_fallo:integer);
  64.     Var
  65.       v_parte:String[7];
  66.       v_fila, v_columna:Integer;
  67.     begin
  68.       v_parte:='O/I\I/\';
  69.       Case p_fallo of
  70.           1 :  begin
  71.                 v_fila:=1;  v_columna:=2;
  72.                end;
  73.           2 :  begin
  74.                 v_fila:=2;  v_columna:=1;
  75.                end;
  76.           3 :  begin
  77.                 v_fila:=2;  v_columna:=2;
  78.                end;
  79.           4 :  begin
  80.                 v_fila:=2;  v_columna:=3;
  81.                end;
  82.           5 :  begin
  83.                 v_fila:=3;  v_columna:=2;
  84.                end;
  85.           6 :  begin
  86.                 v_fila:=4;  v_columna:=1;
  87.                end;
  88.           7 :  begin
  89.                 v_fila:=4;  v_columna:=3;
  90.                end;
  91.        end;
  92.          gotoxy(7+v_columna,18+v_fila);
  93.          write(v_parte[p_fallo]);
  94.    end;
  95.    Procedure Verifica(p_palabraescogida: string;var p_posicion:integer; p_letra:char);
  96.    var
  97.      n:integer;
  98.    begin
  99.      delete(p_palabraescogida,1,p_posicion);
  100.      n:=p_posicion;
  101.      p_posicion :=pos(p_letra,p_palabraescogida);
  102.      if p_posicion<>0 then
  103.         p_posicion:= p_posicion+n;
  104.    end;
  105.    Procedure Jugar;
  106.    Var
  107.        v_palabraformada, v_palabraescogida :String[MaxPalabra];
  108.        v_posicion, v_fallos, j, i, v_indice, v_indiceletras:integer;
  109.        v_letra :char;
  110.        v_evaluada : boolean;
  111.    Begin
  112.        Clrscr;
  113.        Marco;
  114.        v_palabraformada := '';
  115.        v_indiceletras   := 0;
  116.        v_posicion       := 0;
  117.        v_fallos         := 0;
  118.        v_evaluada       := false;
  119.        j := 0;
  120.        randomize;
  121.        repeat
  122.           v_indice := random(9);
  123.        until v_anterior <> v_indice;
  124.        v_anterior := v_indice;
  125.        v_palabraescogida := v_palabras[v_indice].palabra;
  126.        for i:= 1 to length(v_palabraescogida) do begin
  127.           v_palabraformada := v_palabraformada + '_';
  128.        end;
  129.        repeat
  130.           gotoxy(25,16);
  131.           writeln(v_palabraformada);
  132.           gotoxy(2, 2);
  133.           write('Digite una letra: ');
  134.           readln(v_letra);
  135.           v_letra := upcase(v_letra);
  136.           i := 1;
  137.           v_evaluada := false;
  138.           Repeat
  139.              if  v_letras[i] = v_letra then begin
  140.                v_evaluada := true;
  141.              end;
  142.              i := i + 1;
  143.           until (i >= v_indiceletras) or (v_evaluada);
  144.           v_indiceletras := v_indiceletras + 1;
  145.           v_letras[v_indiceletras] := v_letra;
  146.           if (not v_evaluada) then begin
  147.              verifica(v_palabraescogida, v_posicion, v_letra);
  148.              if v_posicion <> 0 then begin
  149.                 repeat
  150.                    v_palabraformada[v_posicion]:= v_letra;
  151.                    gotoxy(25,16);
  152.                    write(v_palabraformada);
  153.                    verifica(v_palabraescogida, v_posicion, v_letra);
  154.                    writeln;
  155.                 until (v_posicion=0);
  156.              end
  157.              else begin
  158.                  v_fallos := v_fallos + 1;
  159.                  dibujo(v_fallos);
  160.             end;
  161.           end else begin
  162.              v_fallos := v_fallos + 1;
  163.              dibujo(v_fallos);
  164.           end;
  165.           gotoxy(20,12);
  166.           writeln('Intentos :', v_indiceletras, ' Fallos :', v_fallos);
  167.           gotoxy(3,5);
  168.           writeln('Letras evaluadas: ');
  169.           for j := 1 to v_indiceletras do begin
  170.              gotoxy(5+(j*2),6);
  171.              write(v_letras[j]);
  172.           end;
  173.        until (v_fallos = 8) or (v_palabraformada = v_palabraescogida);
  174.        if v_palabraformada = v_palabraescogida then begin
  175.           gotoxy(25, 17);
  176.           textcolor(Green);
  177.           writeln('FELICIDADES HAS GANADO!!!!!!');
  178.        end
  179.        else begin
  180.           gotoxy(25, 17);
  181.           textcolor(red);
  182.           writeln('LO SIENTO HAS PERDIDO!!!!!!!!');
  183.       end;
  184.       Normvideo;
  185.       READKEY;
  186.     End;{Jugar}
  187.     Procedure LlenaArreglo;
  188.     {Llena la lista de palabras}
  189.     Begin
  190.         v_palabras[0].palabra:= 'AHORCADO';
  191.         v_palabras[1].palabra:= 'EXTRAORDINARIO';
  192.         v_palabras[2].palabra:= 'USUARIO';
  193.         v_palabras[3].palabra:= 'TELEVISOR';
  194.         v_palabras[4].palabra:= 'TELEFONO';
  195.         v_palabras[5].palabra:= 'EXCELENTE';
  196.         v_palabras[6].palabra:= 'JARDINERO';
  197.         v_palabras[7].palabra:= 'INFORMACION';
  198.         v_palabras[8].palabra:= 'DICCIONARIO';
  199.         v_palabras[9].palabra:= 'PARTIDO';
  200.     End;{LlenaArreglo}
  201.  
  202.  
  203. BEGIN
  204.   v_anterior := 0;
  205.   Marco;
  206.   LlenaArreglo;
  207.   repeat
  208.      Case  i of
  209.        1: begin
  210.              Jugar;
  211.           end;
  212.     end;
  213.   until menu(i) = 2;
  214. END.
  215.  
Título: Re: Juego verdugo
Publicado por: Enko en Domingo 25 de Julio de 2004, 18:04
JPVM :
         cuando pegues tu código te recomiendo que antes de hacerlo hagas click en el "boton CODE " para lograr este efecto(es parte de tu programa)
Código: Text
  1.  
  2. repeat
  3.     v_palabraformada[v_posicion]:= v_letra;
  4.     gotoxy(25,16);
  5.     write(v_palabraformada);
  6.     verifica(v_palabraescogida, v_posicion, v_letra);
  7.     writeln;
  8. until (v_posicion=0);
  9.  
  10.  
Despues de pegar tu codigo hacé de vuelñta click en el mismo botón.

o sino encerá tu codigo entre los tags [CODE,]  [/CODE,] Nota que se escriben sin la coma, la tuve que colocar para "engañar" a la lógica de este foro.
Título: Re: Juego verdugo
Publicado por: C++ BorlFJ en Lunes 26 de Julio de 2004, 17:56
Gracias amigos. gracias a ambos. me ayudaron mucho en la soluciòn a mi problema. en realidad no era el ahorcado pero se basa en casi lo mismo de todas formas su còdigo me sirviò para hacerle algfunas correcciones al mìo. lamentablemente lo tengo en Borland C. si pudiera mandarselos por este post se los mandarìa pero...
mil gracias compañeros se les agradece mucho..






C++ BorlFJ
 :rolleyes:  :comp:  :hola: