Пример #1
0
        /// <summary>
        /// 次のターンの処理を行う
        /// </summary>
        /// <returns>まだ続く場合 true, それ以外の場合 false</returns>
        private bool NextTurn()
        {
            // 次の処理を行う
            var hasNext = _game.NextTurn();

            // 終了の場合
            if (!hasNext)
            {
                // ステータスを停止に変更
                Status = EFormStatus.STOPPED;
            }

            // Infoテキストを更新する
            UpdateInfoText();

            // 結果を返す
            return(hasNext);
        }
Пример #2
0
        /// <summary>
        /// スタートボタン押下
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void toolStripButtonStart_Click(object sender, EventArgs e)
        {
            // 設定フォームを生成
            var formConfig = new FormConfig(_botMetaList);

            // ダイアログ表示して OK 以外の場合
            if (formConfig.ShowDialog() != DialogResult.OK)
            {
                // 何もしない
                return;
            }

            // プレイヤー情報を取得
            var players = formConfig.PlayerList;
            // マップ
            var map = _mapSet.First().Value;

            // セルイメージの初期化
            InitCellImages(players);
            // キャンバスの初期化
            InitCanvas();

            // ロジックを生成
            _game = new Game();

            // ロジックを初期化
            _game.Init(_botMetaList, players, map);
            _game.StartGame(100000);

            // 再描画
            DrawToBackScreen();
            Redraw();

            // 時間計測リセット
            _stopwatch.Reset();
            // 時間計測スタート(ステータス変更より前)
            _stopwatch.Start();
            // ステータスをプレイ中に変更
            Status = EFormStatus.PLAYING;
        }