Programación General > Pascal

 Juego verdugo

(1/1)

C++ BorlFJ:
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

Enko:
¿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.

JPVM:
Tu debes estar refiriendo al ahorcado por cualquier cosa aqui te dejo uno que yo hice


--- Código: Text ---Program Ahorcado;Uses crt;Const   MaxPalabra = 14;Type   t_palabras = record       palabra:string[MaxPalabra];   end;Var   v_palabras : array[0..9] of t_palabras;   v_letras   : array[1..100] of char;   v_anterior, i:integer;    Procedure Marco;   {Dibuja el marco en la pantalla}   Var      i, j :integer;   Begin      Clrscr;      For i := 1 to 79 do begin          gotoxy(i, 1);          write('Í');          gotoxy(i,24);          write('Í');      end;      For j := 1 to 24 do begin         gotoxy(1,j);         write('º');         gotoxy(80,j);         write('º');      end;         gotoxy(80,1);         write('»');         gotoxy(1,24);         write('È');         gotoxy(80,24);         write('¼');         gotoxy(1,1);         write('É');    End; {Marco}    Function Menu(var p_opcion:integer):integer;    {Dibuja el men£}    Var        v_opcion:integer;     Begin       clrscr;       marco;       gotoxy(25,6);       Writeln('Bienvenido aljuego del AHORCADO');       gotoxy(25,8);       writeln('Si tiene m s de 7 fallos pierde');       gotoxy(25, 14);       Writeln('1. Jugar');       Gotoxy(25, 15);       Writeln('2. Salir');       Gotoxy(25, 16);       Write('Opci¢n :');       Readln(v_opcion);       p_opcion := v_opcion;       menu := v_opcion;    End; {Menu}    Procedure Dibujo(p_fallo:integer);    Var      v_parte:String[7];      v_fila, v_columna:Integer;    begin      v_parte:='O/I\I/\';      Case p_fallo of          1 :  begin                v_fila:=1;  v_columna:=2;               end;          2 :  begin                v_fila:=2;  v_columna:=1;               end;          3 :  begin                v_fila:=2;  v_columna:=2;               end;          4 :  begin                v_fila:=2;  v_columna:=3;               end;          5 :  begin                v_fila:=3;  v_columna:=2;               end;          6 :  begin                v_fila:=4;  v_columna:=1;               end;          7 :  begin                v_fila:=4;  v_columna:=3;               end;       end;         gotoxy(7+v_columna,18+v_fila);         write(v_parte[p_fallo]);   end;   Procedure Verifica(p_palabraescogida: string;var p_posicion:integer; p_letra:char);   var     n:integer;   begin     delete(p_palabraescogida,1,p_posicion);     n:=p_posicion;     p_posicion :=pos(p_letra,p_palabraescogida);     if p_posicion<>0 then        p_posicion:= p_posicion+n;   end;   Procedure Jugar;   Var       v_palabraformada, v_palabraescogida :String[MaxPalabra];       v_posicion, v_fallos, j, i, v_indice, v_indiceletras:integer;       v_letra :char;       v_evaluada : boolean;   Begin       Clrscr;       Marco;       v_palabraformada := '';       v_indiceletras   := 0;       v_posicion       := 0;       v_fallos         := 0;       v_evaluada       := false;       j := 0;       randomize;       repeat          v_indice := random(9);       until v_anterior <> v_indice;       v_anterior := v_indice;       v_palabraescogida := v_palabras[v_indice].palabra;       for i:= 1 to length(v_palabraescogida) do begin          v_palabraformada := v_palabraformada + '_';       end;       repeat          gotoxy(25,16);          writeln(v_palabraformada);          gotoxy(2, 2);          write('Digite una letra: ');          readln(v_letra);          v_letra := upcase(v_letra);          i := 1;          v_evaluada := false;          Repeat             if  v_letras[i] = v_letra then begin               v_evaluada := true;             end;             i := i + 1;          until (i >= v_indiceletras) or (v_evaluada);          v_indiceletras := v_indiceletras + 1;          v_letras[v_indiceletras] := v_letra;          if (not v_evaluada) then begin             verifica(v_palabraescogida, v_posicion, v_letra);             if v_posicion <> 0 then begin                repeat                   v_palabraformada[v_posicion]:= v_letra;                   gotoxy(25,16);                   write(v_palabraformada);                   verifica(v_palabraescogida, v_posicion, v_letra);                   writeln;                until (v_posicion=0);             end             else begin                 v_fallos := v_fallos + 1;                 dibujo(v_fallos);            end;          end else begin             v_fallos := v_fallos + 1;             dibujo(v_fallos);          end;          gotoxy(20,12);          writeln('Intentos :', v_indiceletras, ' Fallos :', v_fallos);          gotoxy(3,5);          writeln('Letras evaluadas: ');          for j := 1 to v_indiceletras do begin             gotoxy(5+(j*2),6);             write(v_letras[j]);          end;       until (v_fallos = 8) or (v_palabraformada = v_palabraescogida);       if v_palabraformada = v_palabraescogida then begin          gotoxy(25, 17);          textcolor(Green);          writeln('FELICIDADES HAS GANADO!!!!!!');       end       else begin          gotoxy(25, 17);          textcolor(red);          writeln('LO SIENTO HAS PERDIDO!!!!!!!!');      end;      Normvideo;      READKEY;    End;{Jugar}    Procedure LlenaArreglo;    {Llena la lista de palabras}    Begin        v_palabras[0].palabra:= 'AHORCADO';        v_palabras[1].palabra:= 'EXTRAORDINARIO';        v_palabras[2].palabra:= 'USUARIO';        v_palabras[3].palabra:= 'TELEVISOR';        v_palabras[4].palabra:= 'TELEFONO';        v_palabras[5].palabra:= 'EXCELENTE';        v_palabras[6].palabra:= 'JARDINERO';        v_palabras[7].palabra:= 'INFORMACION';        v_palabras[8].palabra:= 'DICCIONARIO';        v_palabras[9].palabra:= 'PARTIDO';    End;{LlenaArreglo}  BEGIN  v_anterior := 0;  Marco;  LlenaArreglo;  repeat     Case  i of       1: begin             Jugar;          end;    end;  until menu(i) = 2;END. 

Enko:
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 --- repeat    v_palabraformada[v_posicion]:= v_letra;    gotoxy(25,16);    write(v_palabraformada);    verifica(v_palabraescogida, v_posicion, v_letra);    writeln;until (v_posicion=0);  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.

C++ BorlFJ:
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:

Navegación

[0] Índice de Mensajes

Ir a la versión completa