program Juego;
uses crt,dos;
var
a: array of array of integer; (* a 2 dimensional array *)
x,o,i,j,sum,dado1,dado2,op:integer;
salir:integer;
begin
Randomize;
writeln('Ingrese cantidad de usuario');
readln(o);
setlength(a,10,o);
For j:=0 to o-1 do
begin
For i:=0 to 9 do
begin
a[i,j]:=i+1
end; //Asigna los valores correspondientes al arreglo
end;
For j:=0 to o-1 do
begin
For i:=0 to 9 do
begin
If a[i,j]=10 then
begin
a[i,j]:=45;
write(' ');
write(a[i,j]:2);
a[i,j]:=10;
writeln()
end;
If a[i,j]<>10 then
begin
write(a[i,j]:2);
end;
end;
end;
salir:=0;
i:=0;
while salir=0 do
begin
write('turno del jugador',i+1);
sum:= a[i,6] + a[i,7]+ a[i,8];
if sum=0 then
begin
writeln('¿Desea tirar 1 o 2 dados?');
readln(x);
if x=1 then
begin
dado1:= 1+random(5);
sum:=dado1;
Write('Valor de dado 1',sum);
If Sum=1 then
begin
If a[i,0]=1 then
begin
Writeln('Opcion 1: 1');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,0]:=0;
end;
end;
If Sum=2 then
begin
If a[i,1]=2 then
begin
Writeln('Opcion 1: 2');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,1]:=0;
end;
end;
If Sum=3 then
begin
If a[i,0] + a[i,1]=3 then
begin
Writeln('Opcion 1: 1 y 2');
end;
If a[i,2]=3 then
begin
Writeln('Opcion 2: 3');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,0]:=0;
a[i,1]:=0;
end;
If op=2 then
begin
a[i,2]:=0
end;
end;
If Sum=4 then
begin
If a[i,2] + a[i,0]=4 then
begin
Writeln('Opcion 1: 1 y 3');
end;
If a[i,3]=4 then
begin
Writeln('Opcion 2: 4');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,2]:=0;
a[i,0]:=0;
end;
If op=2 then
begin
a[i,3]:=0
end;
end;
If Sum=5 then
begin
If a[i,1] + a[i,2]=5 then
begin
Writeln('Opcion 1: 3 y 2 ');
end;
If a[i,0] + a[i,3]=5 then
begin
Writeln('Opcion 2: 4 y 1 ');
end;
If a[i,4]=5 then
begin
Writeln('Opcion 3: 5');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,1]:=0;
a[i,2]:=0;
end;
If op=2 then
begin
a[i,0]:=0;
a[i,3]:=0;
end;
If op=3 then
begin
a[i,4]:=0;
end;
end;
If Sum=6 then
begin
If a[i,0] + a[i,1] + a[i,2 ]=6 then
begin
Writeln('Opcion 1: 1,2 y 3 ');
end;
If a[i,0] + a[i,4]=5 then
begin
Writeln('Opcion 2: 5 y 1 ');
end;
If a[i,5]=6 then
begin
Writeln('Opcion 3: 6');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,0]:=0;
a[i,1]:=0;
a[i,2]:=0;
end;
If op=2 then
begin
a[i,0]:=0;
a[i,4]:=0;
end;
If op=3 then
begin
a[i,5]:=0;
end;
end;
If Sum=7 then
begin
If a[i,3] + a[i,1] + a[i,0 ]=7 then
begin
Writeln('Opcion 1: 4,2,1 ');
end;
If a[i,3] + a[i,2]=7 then
begin
Writeln('Opcion 2: 4 y 3 ');
end;
If a[i,4] + a[i,1] =7 then
begin
Writeln('Opcion 3: 5 y 2');
end;
If a[i,0] + a[i,5] =7 then
begin
Writeln('Opcion 4: 1 y 6');
end;
If a[i,6]=7 then
begin
Writeln('Opcion 5: 7');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,3]:=0;
a[i,1]:=0;
a[i,0]:=0;
end;
If op=2 then
begin
a[i,2]:=0;
a[i,3]:=0;
end;
If op=3 then
begin
a[i,4]:=0;
a[i,1]:=0;
end;
If op=4 then
begin
a[i,0]:=0;
a[i,5]:=0;
end;
If op=5 then
begin
a[i,6]:=0
end;
end;
If Sum=8 then
begin
If a[i,3] + a[i,2] + a[i,0 ]=8 then
begin
Writeln('Opcion 1: 4,3,1 ');
end;
If a[i,4] + a[i,2]=8 then
begin
Writeln('Opcion 2: 5 y 3 ');
end;
If a[i,5] + a[i,1] =8 then
begin
Writeln('Opcion 3: 6 y 2');
end;
If a[i,0] + a[i,6] =8 then
begin
Writeln('Opcion 4: 7 y 1');
end;
If a[i,7]=8 then
begin
Writeln('Opcion 5: 8');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,3]:=0;
a[i,2]:=0;
a[i,0]:=0;
end;
If op=2 then
begin
a[i,4]:=0;
a[i,2]:=0;
end;
If op=3 then
begin
a[i,5]:=0;
a[i,1]:=0;
end;
If op=4 then
begin
a[i,0]:=0;
a[i,6]:=0;
end;
If op=5 then
begin
a[i,7]:=0
end;
end;
If Sum=9 then
begin
If a[i,1] + a[i,2] + a[i,3]=9 then
begin
Writeln('Opcion 1: 2,3 y 4 ');
end;
If a[i,5] + a[i,0] + a[i,1] =9 then
begin
Writeln('Opcion 2: 6,1 y 2 ');
end;
If a[i,4] + a[i,2] + a[i,0] =9 then
begin
Writeln('Opcion 3: 5,3 y 1');
end;
If a[i,4] + a[i,3] =9 then
begin
Writeln('Opcion 4: 5 y 4');
end;
If a[i,5] + a[i,2] =9 then
begin
Writeln('Opcion 5: 6 y 3 ');
end;
If a[i,6] + a[i,1] =9 then
begin
Writeln('Opcion 6: 7 y 2');
end;
If a[i,0] + a[i,7] =9 then
begin
Writeln('Opcion 7: 8 y 1');
end;
If a[i,8]=9 then
begin
Writeln('Opcion 8: 9');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,1]:=0;
a[i,2]:=0;
a[i,3]:=0;
end;
If op=2 then
begin
a[i,5]:=0;
a[i,0]:=0;
a[i,1]:=0;
end;
If op=3 then
begin
a[i,4]:=0;
a[i,2]:=0;
a[i,0]:=0;
end;
If op=4 then
begin
a[i,4]:=0;
a[i,3]:=0;
end;
If op=5 then
begin
a[i,5]:=0;
a[i,2]:=0
end;
If op=6 then
begin
a[i,6]:=0;
a[i,1]:=0;
end;
If op=7 then
begin
a[i,7]:=0;
a[i,0]:=0
end;
If op=8 then
begin
a[i,8]:=0;
end;
end;
If Sum=10 then
begin
If a[i,4] + a[i,1] + a[i,2]=10 then
begin
Writeln('Opcion 1: 5,2 y 3 ');
end;
If a[i,3] + a[i,2] + a[i,1] + a[i,0] =10 then
begin
Writeln('Opcion 2: 4,3,2 y 1 ');
end;
If a[i,4] + a[i,3] + a[i,0] =10 then
begin
Writeln('Opcion 3: 5,4 y 1');
end;
If a[i,4] + a[i,3] =10 then
begin
Writeln('Opcion 4: 6 y 4');
end;
If a[i,6] + a[i,2] =10 then
begin
Writeln('Opcion 5: 7 y 3 ');
end;
If a[i,7] + a[i,1] =10 then
begin
Writeln('Opcion 6: 8 y 2');
end;
If a[i,0] + a[i,8] =10 then
begin
Writeln('Opcion 7: 9 y 1');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,4]:=0;
a[i,1]:=0;
a[i,2]:=0;
end;
If op=2 then
begin
a[i,3]:=0;
a[i,2]:=0;
a[i,1]:=0;
a[i,0]:=0;
end;
If op=3 then
begin
a[i,4]:=0;
a[i,3]:=0;
a[i,0]:=0;
end;
If op=4 then
begin
a[i,4]:=0;
a[i,3]:=0;
end;
If op=5 then
begin
a[i,6]:=0;
a[i,2]:=0
end;
If op=6 then
begin
a[i,7]:=0;
a[i,1]:=0;
end;
If op=7 then
begin
a[i,8]:=0;
a[i,0]:=0
end;
end;
If Sum=11 then
begin
If a[i,3] + a[i,0] + a[i,5]=11 then
begin
Writeln('Opcion 1: 4,1 y 6 ');
end;
If a[i,4] + a[i,3] + a[i,1] =11 then
begin
Writeln('Opcion 2: 5,4 y 2 ');
end;
If a[i,5] + a[i,2] + a[i,1] =11 then
begin
Writeln('Opcion 3: 6,3 y 2');
end;
If a[i,4] + a[i,2]+a[i,0] + a[i,1] =11 then
begin
Writeln('Opcion 4: 5,3,1 y 2');
end;
If a[i,4] + a[i,3]+a[i,1]=11 then
begin
Writeln('Opcion 5: 5,4 y 2 ');
end;
If a[i,5] + a[i,4] =11 then
begin
Writeln('Opcion 6: 6 y 5');
end;
If a[i,6] + a[i,3] =11 then
begin
Writeln('Opcion 7: 7 y 4');
end;
If a[i,7] + a[i,2] =11 then
begin
Writeln('Opcion 8: 8 y 3');
end;
If a[i,8] + a[i,1] =11 then
begin
Writeln('Opcion 7: 9 y 2');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,3]:=0;
a[i,0]:=0;
a[i,5]:=0;
end;
If op=2 then
begin
a[i,4]:=0;
a[i,3]:=0;
a[i,1]:=0;
end;
If op=3 then
begin
a[i,5]:=0;
a[i,2]:=0;
a[i,1]:=0;
end;
If op=4 then
begin
a[i,4]:=0;
a[i,2]:=0;
a[i,1]:=0;
a[i,0]:=0;
end;
If op=5 then
begin
a[i,4]:=0;
a[i,3]:=0;
a[i,1]:=0;
end;
If op=6 then
begin
a[i,5]:=0;
a[i,4]:=0;
end;
If op=7 then
begin
a[i,6]:=0;
a[i,3]:=0;
end;
if op=8 then
begin
a[i,7]:=0;
a[i,2]:=0;
end;
if op=9 then
begin
a[i,8]:=0;
a[i,1]:=0;
end;
end;
If Sum=12 then
begin
If a[i,5] + a[i,0] + a[i,4]=12 then
begin
Writeln('Opcion 1: 6,1 y 5 ');
end;
If a[i,6] + a[i,3] + a[i,0] =12 then
begin
Writeln('Opcion 2: 7,4 y 1 ');
end;
If a[i,8] + a[i,0] + a[i,1] =12 then
begin
Writeln('Opcion 3: 9,1 y 2');
end;
If a[i,4] + a[i,3]+a[i,0] + a[i,1] =12 then
begin
Writeln('Opcion 4: 5,4,1 y 2');
end;
If a[i,7] + a[i,2]+a[i,0]=12 then
begin
Writeln('Opcion 5: 8,3 y 1 ');
end;
If a[i,5] + a[i,1]+a[i,2] + a[i,0] =12 then
begin
Writeln('Opcion 6: 6,2,3 y 1');
end;
If a[i,5] + a[i,3] + a[i,1] =12 then
begin
Writeln('Opcion 7: 6,2 y 4');
end;
If a[i,6] + a[i,4] =12 then
begin
Writeln('Opcion 8: 7 y 5');
end;
If a[i,7] + a[i,3] =12 then
begin
Writeln('Opcion 9: 8 y 4');
end;
If a[i,8] + a[i,2] =12 then
begin
Writeln('Opcion 8: 9 y 3');
end;
Writeln('Elija una opcion');
Read(op);
If op=1 then
begin
a[i,5]:=0;
a[i,0]:=0;
a[i,4]:=0;
end;
If op=2 then
begin
a[i,6]:=0;
a[i,3]:=0;
a[i,0]:=0;
end;
If op=3 then
begin
a[i,8]:=0;
a[i,0]:=0;
a[i,1]:=0;
end;
If op=4 then
begin
a[i,4]:=0;
a[i,3]:=0;
a[i,1]:=0;
a[i,0]:=0;
end;
If op=5 then
begin
a[i,7]:=0;
a[i,2]:=0;
a[i,0]:=0;
end;
If op=6 then
begin
a[i,5]:=0;
a[i,1]:=0;
a[i,2]:=0;
a[i,0]:=0;
end;
If op=7 then
begin
a[i,1]:=0;
a[i,3]:=0;
a[i,5]:=0;
end;
if op=8 then
begin
a[i,6]:=0;
a[i,4]:=0;
end;
if op=9 then
begin
a[i,7]:=0;
a[i,3]:=0;
end;
if op=10 then
begin
a[i,8]:=0;
a[i,2]:=0;
end;
end;
end;
if x=2 then
begin
dado1:= 1+random(5);
dado2:= 1+random(5);
sum:=dado1+dado2;
writeln('Valor Dado 1: ',dado1 );
writeln('Valor Dado 2: ',dado2 );
writeln('Suma dados: ',sum)
end;
end;
If sum<>0 then //Contrario si ALGUNO de 7,8,9 no son 0
begin
dado1:= 1+random(5);
dado2:= 1+random(5);
sum:=dado1+dado2;
write('Valor Dado 1: ',dado1);
write('Valor Dado 2: ',dado1);
write('Suma dados: ',sum);
end;
i:=i+1;
Writeln('Desea salir?');Read(salir);
end;
end.