回答編集履歴
1
追加
test
CHANGED
@@ -53,3 +53,51 @@
|
|
53
53
|
|
54
54
|
|
55
55
|
[sum(winner_records==1)/n , sum(winner_records==2)/n]
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
追加:
|
60
|
+
|
61
|
+
引き分けも勝負回数に含める場合はfor を使います。
|
62
|
+
|
63
|
+
n=1000;%勝負回数
|
64
|
+
|
65
|
+
n_sai_1 = 4;%player1のサイコロ数
|
66
|
+
|
67
|
+
n_sai_2 = 1;
|
68
|
+
|
69
|
+
player_1_records =[];%player1の出目記録用
|
70
|
+
|
71
|
+
player_2_records =[];
|
72
|
+
|
73
|
+
winner_records = [];%勝敗:1ならplayer1の勝利、2ならplayer2の勝利
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
for i=1:n
|
78
|
+
|
79
|
+
player_1_result=randi(6,1,n_sai_1);%1から6までの自然するからランダムにn_sai_1個選ぶ
|
80
|
+
|
81
|
+
player_2_result=randi(6,1,n_sai_2);
|
82
|
+
|
83
|
+
if max(player_1_result) == max(player_2_result) %引き分けなら再勝負
|
84
|
+
|
85
|
+
result = 0
|
86
|
+
|
87
|
+
else
|
88
|
+
|
89
|
+
result = 1+ (max(player_1_result) < max(player_2_result));
|
90
|
+
|
91
|
+
end
|
92
|
+
|
93
|
+
player_1_records=[player_1_records;player_1_result];
|
94
|
+
|
95
|
+
player_2_records=[player_2_records;player_2_result];
|
96
|
+
|
97
|
+
winner_records = [winner_records; result];
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
[sum(winner_records==1)/n , sum(winner_records==2)/n, sum(winner_records==0)/n]
|