前田稔(Maeda Minoru)の超初心者のプログラム入門
short m_Ishi = 0; // 出題図の黒&白 private void OnMyMouseDown(object sender, MouseEventArgs e) { Point pos = new Point(e.X, e.Y); DialogResult rc; ClickPos(ref pos); if (e.Button == MouseButtons.Right) { rc = MessageBox.Show("入力モードを終了しますか", "選択", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rc == DialogResult.Yes) return; } Append(pos, m_Ishi); m_Ishi = (short)(0 - m_Ishi); } |
CELL m_PT; // 棋譜 Tree // m_PT に一手追加 private void Append(Point pos, short teban) { CELL wp; short ishi; if (m_PT == null) return; ishi = teban; if (ishi==0) ishi = 1; if (pos.X<0 || Check(pos, ishi)>1) { MessageBox.Show("不正な石です"); return; } wp = new CELL(m_Num++); // 基本セルを生成 m_PT.car = wp; m_PT.next = wp; wp.level = m_PT.level; wp.pos = pos; wp.teban = ishi; m_PT = wp; upd = true; Play(m_Top); // 出題図から現在までの手順を再現 } |