Pascal/Turbo Pascal - Function de un dado

 
Vista:

Function de un dado

Publicado por David (9 intervenciones) el 17/07/2008 18:09:27
Tengo un problemilla con esta funcion que en un principio parece facil pero no se porque siempre se mete por ELSE macado abajo. No veo cual es mi fallo Gracias si alguien me puede ayudar.

FUNCTION elegirjugador:byte;
(***************************************************************************
DADO de 6 lados para ver quien es el jugador 1
***************************************************************************)
CONST
salir='salir';

VAR
cifra,rand:integer;
numero:STRING[6];

BEGIN
CLRSCR;
elegirjugador:=1;
WRITELN;
WRITELN('Escribe `salir´ si quiere salir del juego');
WRITELN;
WRITELN(' Para ver quien es el jugador que empieza a jugar primero voy a pensar un numero al azar entre 1 y 6. El jugador que lo acierte sera el jugador 1 y el otro sera el jugador 2.');
WRITELN;
WRITELN;
RANDOMIZE;
rand:= RANDOM(5)+1;

REPEAT
WRITELN;
WRITELN('Escribe un numero de 1 al 6 y pulsa intro');
READLN(numero);

((((((((((((((((((((((((nose xk siempre se mete por el else)))))))))))))))))))))))))))))))))))
IF (numero=salir) OR (numero=upcase(salir)) THEN elegirjugador:=0
ElSE
cifra := ORD(numero[1]) - ord('0');
IF (numero[1]<'1') OR (numero[1]>'6') OR (LENGTH(numero)<>1) THEN
BEGIN
WRITELN;
WRITELN('El numero es erroneo!!!!');
END;
IF (rand=cifra) THEN
BEGIN
WRITELN( '=> Tu eres el jugador 1 <=');
WRITE('Pulsa intro para continuar');
READLN;
END;
UNTIL ((cifra=rand) AND (LENGTH(numero)=1)) OR (numero=salir) OR (numero=upcase(salir));
END;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Function de un dado

Publicado por Miguel (159 intervenciones) el 17/07/2008 21:52:39
Amigo, no veo cual es el problema. Lo acabo de implementar y anda perfecto.
Si pones salir, cierra el programa. Si pones 1..6 funciona correctamente, y si pones un numero fuera de ese rango, te pide que ingreses uno del 1 al 6.
Salvo que lo tengas mal implementado con todo el codigo. Pero asi tal cual anda...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Function de un dado

Publicado por david (9 intervenciones) el 18/07/2008 04:34:11
Gracias sera de la implementacion pork la funcion la igualo y nose si es correcto es uso:

sal:=1;
introduccion;
IF sal=1 THEN sal:=elegirjugador;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Function de un dado

Publicado por Miguel (159 intervenciones) el 18/07/2008 06:29:46
Perdon david, lei medio rapido, y no me percate que estabas haciendo una funcion. Si podrias poner un poco mas de codigo, y un poco mejor comentado, o que es lo que queres hacer, a lo mejor te puedo ayudar con el problema.
Honestamente no vi la funcion, he implemento todo menos eso, asi que seguro tenes algun problema con la implementacion.
Te diria que te fijes bien en el perfil de la Funcion...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar