public void UsiNewGame() { //------------------------------------------------------------ // 対局時計が ポチッ とされました //------------------------------------------------------------ // // 図. // // log.txt // ┌──────────────────────────────────────── // ~ // │2014/08/02 2:03:33> usinewgame // │ // // // 対局が始まったときに送られてくる文字が usinewgame です。 this.Game = new Game(); Debug.Assert(!Util_MasuNum.OnKomabukuro( Util_Masu.AsMasuNumber(((RO_Star_Koma)this.Game.Kifu.CurNode.Value.ToKyokumenConst.StarlightIndexOf((Finger)0).Now).Masu) ), "駒が駒袋にあった。"); this.shogisasi.OnTaikyokuKaisi();//対局開始時の処理。 }
/// <summary> /// v(^▽^)v超能力『メナス』だぜ☆ 未来の脅威を予測し、可視化するぜ☆www /// </summary> public static void Menace(NarabeRoomViewModel shogiGui) { if (0 < shogiGui.GameViewModel.GuiTesumi) { // 処理の順序が悪く、初回はうまく判定できない。 SkyConst src_Sky = shogiGui.GameViewModel.GuiSkyConst; //---------- // 将棋盤上の駒 //---------- shogiGui.ResponseData.ToRedraw(); // [クリアー] shogiGui.Shape_PnlTaikyoku.Shogiban.ClearHMasu_KikiKomaList(); // 全駒 foreach (Finger figKoma in Finger_Honshogi.Items_KomaOnly) { RO_Star_Koma koma = Util_Koma.AsKoma(src_Sky.StarlightIndexOf(figKoma).Now); if ( Okiba.ShogiBan == Util_Masu.Masu_ToOkiba(koma.Masu) && shogiGui.GameViewModel.GuiPside != koma.Pside ) { // 駒の利き SySet <SyElement> kikiZukei = Util_Sky.KomaKidou_Potential(figKoma, src_Sky); IEnumerable <SyElement> kikiMasuList = kikiZukei.Elements; foreach (SyElement masu in kikiMasuList) { // その枡に利いている駒のハンドルを追加 if (Masu_Honshogi.Error != masu) { shogiGui.Shape_PnlTaikyoku.Shogiban.HMasu_KikiKomaList[Util_Masu.AsMasuNumber(masu)].Add((int)figKoma); } } } } } }
/// <summary> /// ************************************************************************************************************************ /// 升ボタンの描画はここに書きます。 /// ************************************************************************************************************************ /// </summary> /// <param name="g1"></param> public void Paint(Graphics g1)//, bool kiki, int kikiSu { if (!this.Visible) { goto gt_EndMethod; } //---------- // 背景 //---------- if (this.Select) { g1.FillRectangle(Brushes.Brown, this.Bounds); } else if (this.Kiki) { g1.FillRectangle(Brushes.YellowGreen, this.Bounds); } else if (0 < this.KikiSu) { int level = (this.KikiSu - 1) * 40; if (120 < level) { level = 120; } //g1.FillRectangle(new SolidBrush(Color.FromArgb(255, 255 - 30 - level, 255 - 10 - level, 255 - 10 - level)), this.Bounds); g1.FillRectangle(new SolidBrush(Color.FromArgb(64, 255 - 30 - level, 255 - 10 - level, 255 - 10 - level)), this.Bounds); } else if (this.Light) { } //---------- // 升番号 //---------- { string text = Util_Masu.AsMasuNumber(this.Zahyo).ToString(); float fontHeight = 13.0f; Font font = new Font("MS ゴシック", fontHeight, FontStyle.Regular); SizeF sizeF = g1.MeasureString(text, font); //int x = this.Bounds.X + this.Bounds.Width / 2; int x = this.Bounds.X + this.Bounds.Width / 2 - (int)(sizeF.Width / 2); //int y = this.Bounds.Y + this.Bounds.Height / 2 - (int)(fontHeight/2); int y = this.Bounds.Y + this.Bounds.Height / 2 - (int)(sizeF.Height / 2); g1.DrawString(text, font, Brushes.BurlyWood, x + 1, y + 1); //影 g1.DrawString(text, font, Brushes.Beige, x, y); //色 } //---------- // 枠線 //---------- { if (this.Light) { g1.DrawRectangle(Pens.Yellow, this.Bounds); } } gt_EndMethod: ; }