Matlab - ayuda con juego de dados en un script

 
Vista:

ayuda con juego de dados en un script

Publicado por Euler (2 intervenciones) el 29/10/2016 17:16:35
Buenos dias! Estoy teniendo dificultad con un script acerca de un juego de 3 dados. Primero, debo generar un valor random integer para cada uno de los dados, luego estos deben cumplir con la condicion de ser triple(cuando los 3 valores son iguales), ascendente(cuando los valores estan ordenados de forma ascendente), par(cuando 2 valores son iguales y ademas son mayores o iguales q 7, sino pierdes la ronda) y finalmente los "junkers" (que es cuando no se cumple ninguna de la condiciones dadas) Entonces yo lo q tengo hecho es esto.
d1 = randi([1,12],1);
d2 = randi([1,12],1);
d3 = randi([1,12],1);

vec = [d1,d2,d3];
s = sort(vec);
cw=0;
cl=0;

if s(1) == s(2) && s(1) == s(3)
fprintf('%d %d %d\n',s(1),s(2),s(3) )
fprintf('you won the round\n')
cw= cw+1;
else
fprintf('%d %d %d\n',s(1),s(2),s(3))
fprintf('Sorry, you lost!\n')
end

y asi, tengo otros 4 if para las demas condiciones, pero cuando compilo el codigo me aparece el resultado 5 veces. Que estoy haciendo mal? o q deberia agregarle para q no pase esto. Ademas, como haria para que al final de cada ronda me pregunte si deseo continuar dependiendo si el usuario tipea 'y" o "n" ?
Gracias de antemano!
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

ayuda con juego de dados en un script

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 30/10/2016 15:37:37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
clear;
while 1
    d1 = randi([1,12],1);
    d2 = randi([1,12],1);
    d3 = randi([1,12],1);
    s=sort([d1 d2 d3]);
    if s(1) == s(2) && s(1) == s(3)
    fprintf('%d %d %d\n',s(1),s(2),s(3) )
    fprintf(' triple\n')
    break;
    elseif s(1)~=s(2) && s(2)~=s(3) && s(1)~=s(3)
    fprintf('%d %d %d\n',s(1),s(2),s(3))
    fprintf('ascendente\n')
    break;
    elseif s(1)==s(2) && s(2)==s(3) && s(1)==s(3) && min(s)>=7
    fprintf('%d %d %d\n',s(1),s(2),s(3))
    fprintf('par\n')
    break;
    elseif s(1)==s(2) && s(2)==s(3) && s(1)==s(3) && min(s)<7
    fprintf('%d %d %d\n',s(1),s(2),s(3))
    fprintf('pierde\n')
    break;
    else
    fprintf('junker\n')
    break;
    end
end

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
>> juego
4 7 9
ascendente
 
 
>> juego
1 10 12
ascendente
>> juego
6 6 6
 triple
>> juego
junker
>> juego
junker
>> juego
5 7 10
ascendente
>> juego
5 11 12
ascendente
>> juego
junker
>> juego
3 4 6
ascendente
>> juego
junker
>> juego
3 3 3
 triple
>> juego
4 6 12
ascendente

Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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