Exemplo n.º 1
0
        public void Setumei(bool isSfen, StringBuilder syuturyoku)
        {
            // 初期局面を作成
            Kyokumen ky2   = new Kyokumen();
            int      caret = 0;

            ky2.ParsePositionvalue(isSfen, SyokiKyokumenFen, ref caret, false, false, out string moves, syuturyoku);

            // 初期局面を出力
            syuturyoku.AppendLine("初期局面");
            Util_Information.Setumei_NingenGameYo(ky2, syuturyoku);

            int temeMade = 1;

            foreach (Move ss in this.SsList)
            {
                syuturyoku.Append("(");
                syuturyoku.Append(temeMade.ToString());
                syuturyoku.Append(")");
                ConvMove.AppendFenTo(isSfen, ss, syuturyoku);
                syuturyoku.Append(" ");
                temeMade++;
            }
            syuturyoku.AppendLine();
        }
Exemplo n.º 2
0
        /// <summary>
        /// 次の入力を促す表示をしてるだけだぜ☆(^~^)
        /// </summary>
        public static void ShowPrompt(IPlaying playing, bool isSfen, Kyokumen ky, StringBuilder syuturyoku)
        {
            if (0 < Util_Commandline.CommandBuffer.Count)
            {
                // コマンド・バッファーの実行中だぜ☆(^▽^)
                syuturyoku.Append($"{Util_Commandline.CommandBufferName }> ");
                Logger.Flush(syuturyoku.ToString());
                syuturyoku.Clear();
            }
            else if (GameMode.Game == Util_Application.GameMode)
            {
                // 表示(コンソール・ゲーム用) 局面、あれば勝敗☆(^~^)
                {
                    if (Util_Commandline.IsKyokumenEcho)
                    {
                        Util_Information.Setumei_NingenGameYo(ky, syuturyoku);

#if DEBUG
                        //Util_Commands.Ky(isSfen, "ky fen", ky, syuturyoku);// 参考:改造FEN表示
                        //Util_Commands.MoveCmd(isSfen, "move", ky, syuturyoku);// 参考:指し手表示
                        //if (false){
                        //    Util_Information.HyojiKomanoIbasho(ky.Shogiban, syuturyoku);// 参考:駒の表示
                        //    Util_Information.HyojiKomanoKikiSu(ky.Shogiban, syuturyoku);// 参考:利きの数
                        //}
                        //Util_Commands.MoveCmd(isSfen, "move seisei", ky, syuturyoku);// 参考:指し手表示 詳細
                        //Logger.Flush(syuturyoku);
#endif

                        playing.Result(ky, syuturyoku, CommandMode.NingenYoConsoleGame);
                    }
                    Logger.Flush(syuturyoku.ToString());
                    syuturyoku.Clear();
                }

                var(exists, phase) = ky.CurrentOptionalPhase.Match;
                if (exists)
                {
                    if ((phase == Phase.Black && !Option_Application.Optionlist.P1Com)
                        ||
                        (phase == Phase.White && !Option_Application.Optionlist.P2Com)
                        )
                    {
                        // 人間の手番が始まるところで☆
                        syuturyoku.Append(
                            @"指し手を入力してください。一例 do B3B2 ※ do b3b2 も同じ
> ");
                        Logger.Flush(syuturyoku.ToString());
                        syuturyoku.Clear();
                    }
                }
            }
            else
            {
                // 表示(コンソール・ゲーム用)
                syuturyoku.Append("> ");
                Logger.Flush(syuturyoku.ToString());
                syuturyoku.Clear();
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 決着時のメッセージ表示☆
        /// </summary>
        public static void ShowMessage_KettyakuJi(Kyokumen ky, StringBuilder syuturyoku)
        {
            if (TaikyokuKekka.Karappo != Util_Application.Result(ky))
            {
                // 表示(コンソール・ゲーム用) 勝敗☆(^~^)”””
                syuturyoku.AppendLine("決着図");
                Util_Information.Setumei_NingenGameYo(ky, syuturyoku);

                // 表示(コンソール・ゲーム用) 勝敗☆(^~^)”””
                switch (Util_Application.Result(ky))
                {
                case TaikyokuKekka.Taikyokusya1NoKati:
                    if (Option_Application.Optionlist.P2Com)
                    {
                        syuturyoku.AppendLine("まいったぜ☆(>_<)");
                        Logger.Flush(syuturyoku.ToString());
                        syuturyoku.Clear();
                    }
                    break;

                case TaikyokuKekka.Taikyokusya2NoKati:
                    if (Option_Application.Optionlist.P2Com)
                    {
                        syuturyoku.AppendLine("やったぜ☆(^▽^)!");
                        Logger.Flush(syuturyoku.ToString());
                        syuturyoku.Clear();
                    }
                    break;

                case TaikyokuKekka.Hikiwake:
                {
                    syuturyoku.AppendLine("決着を付けたかったぜ☆(^~^)");
                    Logger.Flush(syuturyoku.ToString());
                    syuturyoku.Clear();
                }
                break;

                case TaikyokuKekka.Sennitite:
                {
                    syuturyoku.AppendLine("まあ、良しとするかだぜ☆(^_^)");
                    Logger.Flush(syuturyoku.ToString());
                    syuturyoku.Clear();
                }
                break;

                case TaikyokuKekka.Karappo:    //thru
                default:
                    break;
                }
            }
        }