Algoritmia - Ayuda con un algoritmo usando Mientras que

 
Vista:

Ayuda con un algoritmo usando Mientras que

Publicado por Edgardo Castaño (1 intervención) el 06/09/2012 03:03:16
Bueno amigos, es un algoritmo que necesito hacerlo en pseudocodigo y se trata del siguiente:

1. Se desea implementar un JUEGO DE DADOS de la siguiente manera:
• El juego de dados se hará entre dos personas, para las cuales se deberán pedir sus respectivos códigos.
• Se utilizarán tres dados.
• Cada jugador arrojará los tres dados en cada jugada.
• Quien mayor puntaje alcance (sumando los puntos de los dados de cada uno) aumenta en su acumulado la diferencia entre lo que el sacó y lo que sacó su contrincante. Si hay empate la diferencia entre ellos será cero y ninguno sumaria por este concepto.
• Para los dos jugadores, sin importar quien gane, si en el lance saca doble aumenta su puntaje acumulado en 5 puntos, y si saca triple aumentará en 10 puntos.
• El partido lo gana quien alcance una ventaja de 70 puntos por encima del puntaje acumulado del contrincante.

Importante:
• El algoritmo deberá mostrar en cada jugada: código de los jugadores con sus respectivos acumulados y cuantos puntos obtuvo por cada jugada.
• El algoritmo deberá mostrar cuántos lances necesitó el jugador vencedor para ganar.



Hasta ahora lo he desarrollado todo (excepto la ultima parte de que el algoritmo deberá mostrar cuantos lances necesitó el jugador vencedor para ganar) pero no me funciona el algoritmo, mirad como lo he hecho:

Proceso sin_titulo
Escribir "Digite su codigo, jugador 1";
Leer cod1;
Escribir "Digite su codigo, jugador 2";
leer cod2;
vent<-0;
acumas<-0;
acumbs<-0;
acumat<-0;
acumbt<-0;
acum1t<-0;
acum2t<-0
Mientras vent<70 Hacer
Escribir "Digite el puntaje del primer lanzamiento del jugador 1";
Leer punt1a;
Escribir "Digite el puntaje del segundo lanzamiento del jugador 1";
Leer punt1b;
Escribir "Digite el puntaje del tercer lanzamiento del jugador 1";
Leer punt1c;
Escribir "Digite el puntaje del primer lanzamiento del jugador 2";
Leer punt2a;
Escribir "Digite el puntaje del segundo lanzamiento del jugador 2";
Leer punt2b;
Escribir "Digite el puntaje del tercer lanzamiento del jugador 3";
Leer punt2c;
suma<-(punt1a+punt1b+punt1c);
sumb<-(punt1b+punt2b+punt2c);
Si suma>sumb Entonces
dif<-suma-sumb;
acumas<-suma+dif;
acumbs<-sumb;
Sino
si sumb>suma Entonces
dif<-(sumb-suma);
acumbs<-sumb+dif;
acumas<-suma;
FinSi
FinSi
Si punt1a=punt1b o punt1a=punt1c o punt1b=punt1c Entonces
acumat<-acumas+5;
Sino
Si punt1a=punt1b y punt1b=punt1c Entonces
acumat<-acumas+10;
Sino
acumat<-acumas;
FinSi
FinSi
Si punt2a=punt2b o punt2a=punt2c o punt2b=punt2c entonces
acumbt<-acumbs+5;
Sino
Si punt2a=punt2b y punt2b=punt2c Entonces
acumbt<-acumbs+10;
Sino
acumbt<-acumbs;
FinSi
FinSi
acum1t<-acum1t+acumat
acum2t<-acum2t+acumbt
Si acum1t>acum2t Entonces
vent<-acum1t-acum2t;
Sino
si acum2t>acum1t Entonces
vent<-acum2t-acum1t;
FinSi
FinSi
Escribir "Codigo",cod1;
Escribir "Su Puntaje es de:",acumat;
Escribir "Su puntaje acumulado es de:",acum1t;
Escribir "Codigo",cod2;
Escribir "Su puntaje es de:",acumbt;
Escribir "Su puntaje acumulado es de:",acum2t;
FinMientras
FinProceso

He digitado unos datos, los lanzamientos del jugador 1 son 2,4 y 3 y los del jugador 2 son 1,5 y 8, con lo cual el puntaje total de 1 deberia ser 9 y el acumulado por supuesto 9 tambien por ahora, pero el del jugador 2 deberia ser 14+(14-9) = 14+5 = 19; SIN EMBARGO probandolo en PSINT aparece que el puntaje del jugador 2 es 25 y su acumulado es 25, por lo que no me explico que puede andar mal en el algoritmo. DE ANTEMANO MUCHAS GRACIAS POR LEER EL MENSAJE se los agradeceria muchisimo si pudieran ayudarme por favor

NOTA: si me pueden ayudar con la ultima parte que no he hecho, tambien seria de mucha ayuda, MUCHAS GRACIAS
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