Bueno aquí te envió el código ke hice haber si lo pules un poco, según lo ke leí de generala se juega con 5 dados los cuales al tirar deberás sumarlos y obtener el mayor resultado de todos los jugadores pero solo tienes 3 oportunidades de tiro por jugador. te lo envie al correo ; ) exitos.
program generala;
uses crt;
var
play_num,i,dado,resultado,buffer : byte;
database : array[1..5] of byte;
jugador : array[1..6] of byte;
res : char;
procedure centra(texto : string; posy : byte);
var
posx,tam : byte;
begin
tam:=length(texto);
posx:=40-trunc(tam/2);
gotoxy(posx,posy);
writeln(texto);
end;
begin
clrscr;
randomize;
buffer:=0;
centra('LA GENERALA V 1.1',1);
window(1,2,80,15);
write('Numero de jugadores(max 6) : ');readln(play_num);
for i:=1 to play_num do
begin
clrscr;
gotoxy(1,3);
writeln('Jugador No',i,' Presiona Enter');
readln;
repeat
clrscr;
for dado:=1 to 5 do
begin
database[dado]:=random(5)+1;
writeln('Dado No',dado,' :',database[dado]);
end;
resultado:=database[1]+database[2]+database[3]+database[4]+database[5];
write('Total = ',resultado,' Guardar este resultado...[S/N] : ');
readln(res);
until (res='s');
jugador[i]:=resultado;
if (jugador[i]>buffer) then buffer:=jugador[i];
end;
for i:=1 to play_num do
if (buffer = jugador[i]) then
begin
writeln('El ganador es el jugador No',i,' con un puntaje de ',jugador[i]);
break;
end;
write('Presiona enter para salir');
readln;
end.