Need help to create a function for a roulette simulation?

6 Ansichten (letzte 30 Tage)
Steven Thies
Steven Thies am 12 Feb. 2021
Kommentiert: Jan am 13 Feb. 2021
My function does not work and i don't know how to link my input number n with the simulation of the roulette.
There are 18 red, 18 black and 1 green fields. If the ball lands on the field which the user choose then he gets the money back and gets the same amount of money which he used. if the ball lands not on the field which the user choose then he loose his money.
function [red, black] = n_montecarlo(n)
red = [3 12 7 18 9 14 1 16 5 23 30 36 27 34 25 21 19 32];
black = [26 35 28 29 22 31 20 33 24 10 8 11 13 6 17 2 4 15];
roulette = randi(37);
for n = red
if roulette == n
disp('win')
else
disp('lose')
for n = black
if roulette == n
disp('win')
else
disp('lose')
end
end
end
end
end

Akzeptierte Antwort

Jan
Jan am 13 Feb. 2021
"If the ball lands on the field which the user choose"
How does thze user choose a field? By the input n? This input is overwritten by
for n = red
Perhaps you want:
function n_montecarlo(n)
red = [3 12 7 18 9 14 1 16 5 23 30 36 27 34 25 21 19 32];
black = [26 35 28 29 22 31 20 33 24 10 8 11 13 6 17 2 4 15];
roulette = randi(37);
if n == roulette
disp('win')
else
disp('lose')
end
if any(n == red)
disp('red')
elseif any(n == black)
disp('black')
else
disp('green')
end
end
  6 Kommentare
Steven Thies
Steven Thies am 13 Feb. 2021
Bearbeitet: Jan am 13 Feb. 2021
This is my Script. The function is n_montecarloreal(n) which i have already.
n = input('please choose a number.For red(3,12,7,18,9,14,1,16,5,23,30,36,27,34,25,21,19,32),black(26,35,28,29,22,31,20,33,24,10,8,11,13,6,17,2,4,15): ','s');
while isnan(str2double(n)) == true
n = input('Error.Please again ','s');
end
n = str2double(n);
m = n_montecarloreal(n);
output = (num2str(m));
disp(output)
function n_montecarloreal(n)
red = [3 12 7 18 9 14 1 16 5 23 30 36 27 34 25 21 19 32];
black = [26 35 28 29 22 31 20 33 24 10 8 11 13 6 17 2 4 15];
roulette = randi(37);
if n == roulette
disp('win')
else
disp('lose')
end
if any(n == red)
disp('red')
elseif any(n == black)
disp('black')
else
disp('green')
end
end
Jan
Jan am 13 Feb. 2021
Your function n_montecarloreal(n) does not have an output yet. Maybe all you need is:
function Won = n_montecarloreal(n)
roulette = randi(37);
Won = (roulette == n);
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Board games finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by