110,534
社区成员
发帖
与我相关
我的任务
分享
private int lowY = 19; //初始化的时候为到最下面。然后随着lowY的减少,循环范围会原来越大
private void CheckSore()
{
for (int y = 19; y > -1; y--)
{
bool isFull = true;
for (int x = 13; x > -1; x--)
{
if (bgGraoud[y, x] == 0)
{
isFull = false;
break;
}
}
if (isFull)
{
//增加积分
Sorce = Sorce + 100;
for (int yy = y; yy > 0; yy--)
{
for (int xx = 0; xx < 14; xx++)
{
int temp = bgGraoud[yy - 1, xx];
bgGraoud[yy, xx] = temp;
}
}
y++;
label1.Text = Sorce.ToString(); ;
Draw();
}
}
}
private void CheckSore()
{
for (int y = 19; y > lowY; y--)
{
bool isFull = true;
for (int x = 13; x > -1; x--)
{
if (bgGraoud[y, x] == 0)
{
isFull = false;
break;
}
}
if (isFull)
{
//增加积分
lowY++; //减少了一行,循环就可以减少一行
Sorce = Sorce + 100;
for (int yy = y; yy > 0; yy--)
{
for (int xx = 0; xx < 14; xx++)
{
int temp = bgGraoud[yy - 1, xx];
bgGraoud[yy, xx] = temp;
}
}
y++;
label1.Text = Sorce.ToString(); ;
Draw();
}
}
}
private void Draw()
{
Graphics g = Graphics.FromImage(myImage);
g.Clear(this.BackColor);
for (int bgy = 0; bgy < 20; bgy++)
{
for (int bgx = 0; bgx < 14; bgx++)
{
if (bgGraoud[bgy, bgx] == 1)
{
g.FillRectangle(new SolidBrush(Color.Blue), bgx * 20, bgy * 20, 20, 20);
}
}
}
//绘制当前的图片
for (int y = 0; y < 4; y++)
{
for (int x = 0; x < 4; x++)
{
if (CurrentTrick[y, x] == 1)
{
g.FillRectangle(new SolidBrush(Color.Blue), (x + CurrentX) * 20, (y + CurrentY) * 20, 20, 20);
}
}
}
Graphics gg = panel1.CreateGraphics();
gg.DrawImage(myImage, 0, 0);
}
private void Draw()
{
Graphics g = Graphics.FromImage(myImage);
g.Clear(this.BackColor);
for (int bgy = lowY; bgy < 20; bgy++)
{
for (int bgx = 0; bgx < 14; bgx++)
{
if (bgGraoud[bgy, bgx] == 1)
{
g.FillRectangle(new SolidBrush(Color.Blue), bgx * 20, bgy * 20, 20, 20);
}
}
}
//绘制当前的图片
for (int y = 0; y < 4; y++)
{
for (int x = 0; x < 4; x++)
{
if (CurrentTrick[y, x] == 1)
{
g.FillRectangle(new SolidBrush(Color.Blue), (x + CurrentX) * 20, (y + CurrentY) * 20, 20, 20);
}
}
}
Graphics gg = panel1.CreateGraphics();
gg.DrawImage(myImage, 0, 0);
}