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
Ir a la versión completa