PDF de programación - Juego de la oración

Imágen de pdf Juego de la oración

Juego de la oracióngráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 4 de Enero del 2018)
831 visualizaciones desde el 4 de Enero del 2018
15,2 KB
6 paginas
Creado hace 10a (11/06/2013)
Solución acordada con observaciones
Observaciones al código hechas por los alumnos:

JUEGO DE LA ORACION

• Mantener un orden con espaciados entre las frases y las respuestas para que uno
cuando lee no se pierda o se confunda, más que nada organización. También
tendría que encontrar la forma de manejar una estructura que controle el juego de
manera que se pueda llevar a cabo más de un solo juego sin tener que reiniciar el
juego o los jugadores.

• Al finalizar el juego no se alcanza a ver quien es el ganador y sale sin ningún aviso
un consejo imprimir una condición de finalización del juego como Writeln(‘presione
enter para finalizar’);

• Luego el código Readln; hace que el operador tenga que presionar enter o cualquier

tecla de modo que se finaliza la ejecución del programa.

• Me gusta la forma como enuncia la pregunta, las afirmaciones y todo lo referido a la

impresión del programa, es llamativo y le da un buen aspecto al programa.



esp = ' '; {QUE FUNCION CUMPLE??}

nombre: texto;
sig: jug;
end;

longText = string;
texto = string[20];
jug = ^nodo1; {lista circular de jugadores}
nodo1 = record




program entrega1;

const


type















procedure cargarJugadores(VAR pri: jug; resp: string; VAR cant: integer);






fra = ^nodo2;
nodo2 = record




palabra: texto;
sig: fra;
end;

var


begin






{lista simple de palabras}

nuevo: jug;


while (resp = 's') do begin









{agrego el primer nodo a la lista}







{si responde que no, sale}























nuevo^.sig:= pri^.sig;

pri:= nuevo;
pri^.sig:= nuevo








end;

writeln('## Carga de jugadores finalizada.');










end;
writeln('>>>> Desea agregar otro jugador? [s/n]:');
readln(resp);




end;
if (resp = 'n') then



cant:= cant +1;
new(nuevo);
writeln('>> Nombre del jugador:');
readln(nuevo^.nombre);
if (pri = nil) then begin


end
else begin












pri:^.sig = nuevo;









{OBSERVAR QUE ES UNA CREACION DE LISTA CIRCULAR PURA}

procedure eliminarjugador (var pri:jug; var ant:jug; VAR cant: integer);












procedure cargarPalabra(palabra: texto; VAR pri: fra);









writeln ('>> Jugador/a ',pri^.nombre, ' eliminado. ');
cant:= cant-1;
act:=pri;
pri:=pri^.sig;
ant^.sig:=pri;
dispose (act);

new(nuevo);
nuevo^.palabra:= palabra;
if (pri = nil) then

else begin

pri:= nuevo

var

begin






end;

var

begin






nuevo: fra;

act:jug;





{agrego el nuevo nodo a la lista}








end;

pal: texto;
increm: integer;

pri^.sig:= nuevo;
nuevo^.sig:= nil;
end;

increm:= increm +1;
if (cantpal > 1) then begin
frase:= frase^.sig;


readln(pal);
end;

var


begin
















end;


readln(pal);
increm:=1;
while (pal = frase^.palabra) and (increm < cantPal) do begin





end;
if (frase^.palabra <> pal) then begin



else









procedure comparar(cantPal: integer; frase:fra; VAR error: boolean);

























procedure comenzarjuego (VAR pri:jug;respuesta: string; VAR cant: integer; VAR frase: fra);












writeln(pri^.nombre,' es tu turno!');
writeln('>>>> Ingrese una palabra para comenzar a jugar: ');

writeln('>> FRASE ERRONEA!');
error:= true;
end

var




begin






palabraNue: texto;
jugAnt:jug;
cantPal: integer;
error: boolean;

cantPal:= 0;
error:= false;
if (cant > 1) then begin



if (cantPal = increm) then


error:= false;





















writeln('>>>> Ingrese la palabra/frase anterior:');
writeln('Tip: En caso de ser una frase, por favor, ingrese palabra

writeln('Ingrese la nueva palabra que desea anadir a la

comparar(cantPal,frase,error);
if (error = false) then begin {SE PODRÍA REALIZAR UNA

if (respuesta = 's') then begin











while (cant > 1) do begin








readln(palabraNue);
cantPal:= cantPal +1;
cargarPalabra(palabraNue, frase);
jugAnt:=pri;
pri:= pri^.sig;
writeln('>>>> Deseas continuar jugando, ',pri^.nombre,'? [s/n]:');
readln(respuesta);
end;













por palabra, presionando [Enter] para cada una.');


FUNCTION QUE DEVUELVA EL VALOR TRUE O FALSE EN EL CASO QUE
CORRESPONDA}


frase:');






























frase:');






















end;
write('>>>> Deseas continuar jugando, ',pri^.nombre,'? [s/n]: ');
readln(respuesta);
if (respuesta = 'n') then

while (respuesta = 's') and (cant > 1) do begin





readln(palabraNue);

cantpal:=cantpal +1;

cargarPalabra(palabraNue,frase);

jugAnt:= pri;

pri:= pri^.sig;

writeln(pri^.nombre,', es tu turno!');

end

else begin

readln(palabraNue);
cargarPalabra(palabraNue,frase);
jugAnt:=pri;
pri:=pri^.sig;
end;

writeln('>>>> Ingrese la frase anterior para continuar: ');
comparar(cantPal,frase,error);
if (error = false) then begin


writeln('Ingrese la nueva palabra que desea anadir a la

eliminarJugador(pri,jugAnt,cant);























































































write('>>>> ¿Deseas continuar jugando, ',pri^.nombre,'?



end;



{ya me lo




end;





end;

eliminarJugador(pri,jugAnt,cant);






end;

readln(respuesta);
end;

writeln('---> ',pri^.nombre,' se confundio! Ha sido

end;


if (cant > 1) then begin


readln(respuesta);
while (respuesta = 'n') and (cant > 1) do begin



eliminarJugador(pri,jugAnt,cant);
write('>>>> ¿Deseas continuar jugando,


eliminado/a');

devuelve en la sig posicion}






[s/n]: ');












',pri^.nombre,'? [s/n]: ');













var





begin



ESTRUCTURA DE CONTROL POR SI UNA VEZ FINALIZADA UNA PARTIDA VOLVER A
JUGAR SIN NECESIDAD DE ABRIR NUEVAMENTE EL .EXE}











writeln('>>>> Desea cargar un jugador? [s/n]'); {MODULARIZAR}
readln(respuesta);
cantidad:=0;
if (respuesta = 's') then

if (respuesta = 'n') then

if (cantidad = 1) then

if (players <> nil) and (cantidad > 1) then begin

players:=nil;
frase:= nil;
writeln('- - JUEGO DE LA ORACION v2.0.0 - -');{PODRIA UTILIZAR UNA

writeln('NO SE CARGARON JUGADORES, IMPOSIBLE JUGAR!');






players:jug;
frase: fra;
respuesta: char;
cantidad: integer;

writeln('NO SE PUEDE JUGAR CON UNA SOLA PERSONA!');

cargarjugadores (players,respuesta,cantidad);

{SERIA MAS EFICIENTE MODULARIZAR}





{programa principal}


















comenzarjuego(players,respuesta,cantidad,frase);
if (cantidad = 1) then


writeln ('----------EL GANADOR ES ', players^.nombre,

writeln('---> ¿Desea comenzar a jugar? [s/n]: ');
readln(respuesta);
if (respuesta = 's') then begin










'.FELICITACIONES ----------');



writeln('JUEGO FINALIZADO.'); {UNA VEZ QUE FINALIZA EL JUEGO,
SALE SIN SIQUIERA PODER ALCANZAR A VER QUIEN GANO, DEBERIA COLOCAR UNA
ESTRUCTURA QUE HAGA UN PAUSA ANTES DE CERRAR EL PROGRAMA}



end.


if (respuesta = 'n') then begin



end;

end;

end;
  • Links de descarga
http://lwp-l.com/pdf8183

Comentarios de: Juego de la oración (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad