// Constructor
public MyForm()
{
BackColor = SystemColors.AppWorkspace;
Width = 560;
Height = 600;
Paint += new PaintEventHandler(MyHandler);
MouseDown += new MouseEventHandler(OnMyMouseDown);
m_teban = 0;
m_t = (int[,])m_tt.Clone();
while(m_teban!=9)
{
m_teban = Chenge(m_teban);
if (m_teban==9) break;
Think(0, m_teban, m_t);
y= m_pos/10;
x= m_pos%10;
if (Reverse(m_teban, x, y, m_t)==false)
{ string str = "Think Play Error C:" + m_teban + "[" + y + "," + x + "]";
MessageBox.Show(str);
return;
}
m_dat[m_num] = y*10+x;
m_num++;
}
Invalidate();
}
// 終局判定と手番の切り替え
int Chenge(int c)
{ ArrayList array;
int nc;
if (c == 0)
{ m_num = 0;
m_my = 1;
m_you = -1;
return 1; // 黒番で Start
}
if (c==9) return 9; // ゲーム終了
nc= 0-c; // 手番の切替
array = Search(nc, m_t);
if (array.Count>0)
{ nc = Set_Teban(m_num);
return nc;
}
array = Search(c, m_t);
if (array.Count>0)
{ m_dat[m_num] = 99;
m_num++;
return c;
}
return 9; // 終局
}
|