Ejemplo n.º 1
0
        // フラッグ獲得解決のチェック
        private bool ProveFlag(Flag f)
        {
            if (f.IsProved)
            {
                return(false);
            }
            if (f.GetLength(Turn) < f.MaxNumber)
            {
                return(false);
            }
            ArrayList   used = new ArrayList();
            ICollection pl   = f.GetCard(Turn);
            ICollection opp  = f.GetCard(NextTurn);

            // 見えているカードのリストを作成
            foreach (Flag it in flag)
            {
                used.AddRange(it.GetCard(0));
                used.AddRange(it.GetCard(1));
            }
            used.AddRange(graveyardStack);
            int winner = WinnerChecker.FlagWinner(pl, opp, used, f.MaxNumber, f.IsFog);

            if (winner == 0)
            {
                f.Prove(Turn);
                if (WinnerChecker.GameWinner(flag, Turn))
                {
                    phase = Defines.Phase.FinishGame;
                }
                return(true);
            }
            return(false);
        }
Ejemplo n.º 2
0
        public GameMainForm()
        {
            //
            // Windows フォーム デザイナ サポートに必要です。
            //
            InitializeComponent();

            // TODO: InitializeComponent 呼び出しの後に、コンストラクタ コードを追加してください。
            LoadResources();
            SetPoint();
            WinnerChecker.Initialize();
        }