📄 form2.cs
字号:
{
return;
}
if (bd.State != BlockState.Open)
{
BlockGraphics.DrawBlock(CurrentX, CurrentY, BlockGraphics.BlankOpenMap);
}
LeftMouseDown = true;
}
//left-button and right-button were both pressed
else
{
LeftMouseDown = true;
foreach (BlockData bd1 in bd.BlockList)
{
if (bd1.State == BlockState.Closed)
{
BlockGraphics.DrawBlock(bd1.x, bd1.y, BlockGraphics.BlankOpenMap);
}
}
}
}
else
{
//only the right-button was pressed
if (!LeftMouseDown)
{
RightMouseDown = true;
if (bd.State == BlockState.Open)
{
return;
}
if (bd.State == BlockState.Closed)
{
bd.State = BlockState.UserMine;
BlockGraphics.DrawBlock(CurrentX, CurrentY, BlockGraphics.UserMineMap);
Map.UserMineCount--;
textBox1.Text = Math.Max(Map.UserMineCount, 0).ToString();
}
else if (bd.State == BlockState.UserMine)
{
bd.State = BlockState.Closed;
BlockGraphics.DrawBlock(CurrentX, CurrentY, BlockGraphics.ClosedMap);
Map.UserMineCount++;
textBox1.Text = Math.Max(Map.UserMineCount, 0).ToString();
}
}
//left-button and right-button were both pressed
else
{
RightMouseDown = true;
foreach (BlockData bd1 in bd.BlockList)
{
if (bd1.State == BlockState.Closed)
{
BlockGraphics.DrawBlock(bd1.x, bd1.y, BlockGraphics.BlankOpenMap);
}
}
}
}
}
private void WinMine_MouseUp(object sender, MouseEventArgs e)
{
int x = e.X;
int y = e.Y;
x = x / Map.BlockWidth * Map.BlockWidth;
y = y / Map.BlockWidth * Map.BlockWidth;
BlockData bd = Map.GetBlock(CurrentX, CurrentY);
//only left-button was pressed
if (!RightMouseDown && LeftMouseDown)
{
if (x == CurrentX && y == CurrentY)
{
Map.SingleClick(CurrentX, CurrentY);
}
else if (bd.State != BlockState.Open)
{
BlockGraphics.DrawBlock(CurrentX, CurrentY, BlockGraphics.ClosedMap);
}
LeftMouseDown = false;
}
//left-button and right-button were both pressed
else if (LeftMouseDown && RightMouseDown)
{
if (bd.State == BlockState.Closed)
{
BlockGraphics.DrawBlock(bd.x, bd.y, BlockGraphics.ClosedMap);
}
else
{
int sum = 0;
foreach (BlockData bd1 in bd.BlockList)
{
if (bd1.State == BlockState.UserMine)
{
sum++;
}
}
if (sum == bd.MineCount)
{
foreach (BlockData bd1 in bd.BlockList)
{
if (bd1.State != BlockState.UserMine)
{
Map.SingleClick(bd1.x, bd1.y);
}
}
}
}
foreach (BlockData bd1 in bd.BlockList)
{
if (bd1.State == BlockState.Closed)
{
BlockGraphics.DrawBlock(bd1.x, bd1.y, BlockGraphics.ClosedMap);
}
}
//LeftMouseDown = false;
}
if (e.Button == MouseButtons.Right)
{
RightMouseDown = false;
}
else
{
LeftMouseDown = false;
}
if (Map.IsSuccessful())
{
Map.IsSuccess = true;
}
}
private void 初级ToolStripMenuItem_Click(object sender, EventArgs e)
{
Map.RowCount = 9;
Map.ColumnCount = 9;
Map.MineNumber = 10;
Map.Init();
Restart();
}
private void 中级ToolStripMenuItem_Click(object sender, EventArgs e)
{
Map.RowCount = 16;
Map.ColumnCount = 16;
Map.MineNumber = 40;
Map.Init();
Restart();
}
private void 高级ToolStripMenuItem_Click(object sender, EventArgs e)
{
Map.RowCount = 16;
Map.ColumnCount = 30;
Map.MineNumber = 99;
Map.Init();
Restart();
}
private void 超高级ToolStripMenuItem_Click(object sender, EventArgs e)
{
Map.RowCount = 16;
Map.ColumnCount = 30;
Map.MineNumber = 120;
Map.Init();
Restart();
}
private void splitContainer1_Panel2_Paint(object sender, PaintEventArgs e)
{
}
private void button2_Click_1(object sender, EventArgs e)
{
}
private void Form2_SizeChanged(object sender, EventArgs e)
{
//BlockGraphics.MemImage = new Bitmap(pictureBox1.Width, pictureBox1.Height);
}
private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
Map.Time++;
textBox2.Text = Map.Time.ToString();
if (Map.GameOver)
{
timer1.Enabled = false;
//MessageBox.Show("Game Over");
}
if (Map.IsSuccess)
{
timer1.Enabled = false;
MessageBox.Show("You Win");
}
}
private void button2_Click_2(object sender, EventArgs e)
{
Map.GameOver = true;
Map.Showall();
Map.DrawBlocks();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("QWKing版扫雷,Designed by qwking\r\nqq:83639234");
}
private void 开始ToolStripMenuItem_Click(object sender, EventArgs e)
{
Restart();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -