/// <summary> /// リーチのシナリオを新規作成 /// </summary> /// <param name="reachedRoleSet">リーチになっているセット</param> /// <param name="finally">リーチ再抽選後にキーとなるリールが示すRole</param> private Scenario(RoleSet reachedRoleSet, RoleValue @finally) { if (!reachedRoleSet.IsReach) { throw new InvalidOperationException("入力されたセットはリーチではありません"); } this.First = reachedRoleSet; switch (First.ReachStatus.Value.ReachReelPos) { case ReelPos.Left: Left = ReelScenario.ReachKey(reachedRoleSet.Left, @finally); Middle = ReelScenario.Normal(reachedRoleSet.Middle); Right = ReelScenario.Normal(reachedRoleSet.Right); Finally = new RoleSet(@finally, reachedRoleSet.Middle, reachedRoleSet.Right); break; case ReelPos.Middle: Left = ReelScenario.Normal(reachedRoleSet.Left); Middle = ReelScenario.ReachKey(reachedRoleSet.Middle, @finally); Right = ReelScenario.Normal(reachedRoleSet.Right); Finally = new RoleSet(reachedRoleSet.Left, @finally, reachedRoleSet.Right); break; case ReelPos.Right: Left = ReelScenario.Normal(reachedRoleSet.Left); Middle = ReelScenario.Normal(reachedRoleSet.Middle); Right = ReelScenario.ReachKey(reachedRoleSet.Right, @finally); Finally = new RoleSet(reachedRoleSet.Left, reachedRoleSet.Middle, @finally); break; default: throw new InvalidEnumArgumentException(); } }
/// <summary> /// ノーマルのシナリオを新規作成 /// </summary> /// <param name="roleset"></param> private Scenario(RoleSet roleset) { this.First = roleset; this.Finally = roleset; this.Left = ReelScenario.Normal(roleset.Left); this.Middle = ReelScenario.Normal(roleset.Middle); this.Right = ReelScenario.Normal(roleset.Right); }
/// <summary> /// リーチのシナリオを作成 /// </summary> /// <param name="reachedRoleSet">リーチのRoleset</param> /// <param name="afterReachRole">リーチ再抽選後にキーとなるリールが示すRole</param> /// <returns></returns> public static Scenario Reach(RoleSet reachedRoleSet, RoleValue afterReachRole) { return(new Scenario(reachedRoleSet, afterReachRole)); }
/// <summary> /// ハズレのシナリオを作成 /// </summary> /// <param name="roleSet"></param> /// <returns></returns> public static Scenario Lose(RoleSet roleSet) { return(new Scenario(roleSet)); }
public SlotResult(RoleSet finalRoleSet) { this.roleSet = finalRoleSet; }