📄 form1.cs
字号:
for(j=0;j<192;j++)
{
if(win[i,j] == 5)
if(i==0)
{
pwin = true;
over = true;
break;
}
else
{
cwin = true;
over = true;
break;
}
if(over)
break;
}
g.DrawString("该您下了",new Font("宋体",9),new SolidBrush(Color.Red),85,400);
}
for(i=0;i<=9;i++)
for(j=0;j<=9;j++)
{
if(board[i,j] == 0)
{
g.DrawImage(green,i*40+2,j*40+2,36,36);
}
if(board[i,j] == 1)
{
g.DrawImage(purple,i*40+2,j*40+2,36,36);
}
}
if(pwin)
g.DrawString("您赢了!按下 F1 可重新进行游戏..",new Font("宋体",9),new SolidBrush(Color.Red),85,400);
if(cwin)
g.DrawString("电脑赢了!按下 F1 可重新进行游戏..",new Font("宋体",9),new SolidBrush(Color.Red),85,400);
if(tie)
g.DrawString("不分胜负!按下 F1 可重新进行游戏..",new Font("宋体",9),new SolidBrush(Color.Red),85,400);
g.Dispose();
}
private void ComTurn()
{
for(i=0;i<=9;i++)
for(j=0;j<=9;j++)
{
pgrades[i,j]=0;
if(board[i,j] == 2)
for(k=0;k<192;k++)
if(ptable[i,j,k])
{
switch(win[0,k])
{
case 1:
pgrades[i,j]+=5;
break;
case 2:
pgrades[i,j]+=50;
break;
case 3:
pgrades[i,j]+=100;
break;
case 4:
pgrades[i,j]+=400;
break;
}
}
}
for(i=0;i<=9;i++)
for(j=0;j<=9;j++)
{
cgrades[i,j]=0;
if(board[i,j] == 2)
for(k=0;k<192;k++)
if(ctable[i,j,k])
{
switch(win[1,k])
{
case 1:
cgrades[i,j]+=5;
break;
case 2:
cgrades[i,j]+=50;
break;
case 3:
cgrades[i,j]+=100;
break;
case 4:
cgrades[i,j]+=400;
break;
}
}
}
if(start)
{
if(board[4,4]==2)
{
m = 4;
n = 4;
}
else
{
m = 5;
n = 5;
}
start = false;
}
else
{
for(i=0;i<10;i++)
for(j=0;j<10;j++)
if(board[i,j] == 2)
{
if(cgrades[i,j]>=cgrade)
{
cgrade = cgrades[i,j];
mat = i;
nat = j;
}
if(pgrades[i,j]>=pgrade)
{
pgrade = pgrades[i,j];
mde = i;
nde = j;
}
}
if(cgrade>=pgrade)
{
m = mat;
n = nat;
}
else
{
m = mde;
n = nde;
}
}
cgrade = 0;
pgrade = 0;
board[m,n] = 1;
ccount++;
if((ccount == 50) && (pcount == 50))
{
tie = true;
over = true;
}
for(i=0;i<192;i++)
{
if(ctable[m,n,i] && win[1,i] != 7)
win[1,i]++;
if(ptable[m,n,i])
{
ptable[m,n,i] = false;
win[0,i]=7;
}
}
player = true;
computer = false;
}
private void Form1_Load(object sender, System.EventArgs e)
{
start = true;
this.Width = 410;
this.Height = 470;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
board[i,j] = 2;
for(i=0;i<10;i++)
for(j=0;j<6;j++)
{
for(k=0;k<5;k++)
{
ptable[j+k,i,icount] = true;
ctable[j+k,i,icount] = true;
}
icount++;
}
for(i=0;i<10;i++)
for(j=0;j<6;j++)
{
for(k=0;k<5;k++)
{
ptable[i,j+k,icount] = true;
ctable[i,j+k,icount] = true;
}
icount++;
}
for(i=0;i<6;i++)
for(j=0;j<6;j++)
{
for(k=0;k<5;k++)
{
ptable[j+k,i+k,icount] = true;
ctable[j+k,i+k,icount] = true;
}
icount++;
}
for(i=0;i<6;i++)
for(j=9;j>=4;j--)
{
for(k=0;k<5;k++)
{
ptable[j-k,i+k,icount] = true;
ctable[j-k,i+k,icount] = true;
}
icount++;
}
Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
if(rdm1.Next()%2==0)
computer = true;
else
player = true;
icount = 0;
}
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(!over)
if(player)
{
if(oldx<400 && oldy<400)
{
m = (int)Math.Floor(oldx/40);
n = (int)Math.Floor(oldy/40);
if(board[m,n] == 2)
{
board[m,n] = 0;
pcount++;
if((ccount == 50) && (pcount == 50))
{
tie = true;
over = true;
}
for(i=0;i<192;i++)
{
if(ptable[m,n,i] && win[0,i] != 7)
win[0,i]++;
if(ctable[m,n,i])
{
ctable[m,n,i] = false;
win[1,i]=7;
}
}
player = false;
computer = true;
}
}
}
updatePaint();
}
private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyCode==Keys.Escape)
this.Close();
if(e.KeyCode==Keys.F1)
startGame();
updatePaint();
}
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
oldx = e.X;
oldy = e.Y;
}
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
updatePaint();
}
private void menuItem2_Click(object sender, System.EventArgs e)
{
startGame();
}
private void menuItem4_Click(object sender, System.EventArgs e)
{
this.Close();
}
private void menuItem6_Click(object sender, System.EventArgs e)
{
MessageBox.Show(this,"[五子棋 C#] version 1.0\r\n作者:萧寒(QQ:410000)\r\nEMAIL:Chinasf@hotmail.com","关于五子棋",MessageBoxButtons.OK ,System.Windows.Forms.MessageBoxIcon.Information);
}
private void menuItem7_Click(object sender, System.EventArgs e)
{
MessageBox.Show(this,"下载地址:http://www.bssoft.com.cn/WZQ.rar\r\n按[确定]后下载地址将保存在剪贴板内!","获取delphi 版本五子棋源码",MessageBoxButtons.OK ,System.Windows.Forms.MessageBoxIcon.Information);
Clipboard.SetDataObject("http://www.bssoft.com.cn/WZQ.rar", true);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -