📄 llkform.cs
字号:
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
break;
case 3 :
//向上
for(i=0;i<NumTmp;i++)
{
if((PanelTmp.Controls[i].Left == Left1)&&(PanelTmp.Controls[i].Top >= Top1))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
if((PanelTmp.Controls[i].Left == Left2)&&(PanelTmp.Controls[i].Top >= Top2))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
break;
case 4 :
//向左
for(i=0;i<NumTmp;i++)
{
if((PanelTmp.Controls[i].Left >= Left1)&&(PanelTmp.Controls[i].Top == Top1))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]--;
}
if((PanelTmp.Controls[i].Left >= Left2)&&(PanelTmp.Controls[i].Top == Top2))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
break;
case 5 :
//向右
for(i=0;i<NumTmp;i++)
{
if((PanelTmp.Controls[i].Left <= Left1)&&(PanelTmp.Controls[i].Top == Top1))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
if((PanelTmp.Controls[i].Left <= Left2)&&(PanelTmp.Controls[i].Top == Top2))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
break;
case 6 :
//左右
for(i=0;i<NumTmp;i++)
{
if((PanelTmp.Controls[i].Top == Top1))
{
if((PanelTmp.Controls[i].Left < NumColLin))
{
if(PanelTmp.Controls[i].Left >= Left1)
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
else
{
if(PanelTmp.Controls[i].Left <= Left1)
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
}
if((PanelTmp.Controls[i].Top == Top2))
{
if((PanelTmp.Controls[i].Left < NumColLin))
{
if(PanelTmp.Controls[i].Left >= Left2)
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
else
{
if(PanelTmp.Controls[i].Left <= Left2)
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
}
}
break;
case 7 :
//上下
for(i=0;i<NumTmp;i++)
{
if((PanelTmp.Controls[i].Left == Left1))
{
if((PanelTmp.Controls[i].Top < NumRowLine))
{
if(PanelTmp.Controls[i].Top >= Top1)
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
else
{
if(PanelTmp.Controls[i].Top <= Top1)
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
}
if((PanelTmp.Controls[i].Left == Left2))
{
if((PanelTmp.Controls[i].Top < NumRowLine))
{
if(PanelTmp.Controls[i].Top >= Top2)
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
else
{
if(PanelTmp.Controls[i].Top <= Top2)
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
}
}
break;
case 8 :
//左右集中
for(i=0;i<NumTmp;i++)
{
if((PanelTmp.Controls[i].Top == Top1))
{
if((PanelTmp.Controls[i].Left < NumColLin))
{
if((PanelTmp.Controls[i].Left <= Left1)&&(Left1<NumColLin))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
else
{
if((PanelTmp.Controls[i].Left >= Left1)&&(Left1>=NumColLin))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
}
if((PanelTmp.Controls[i].Top == Top2))
{
if((PanelTmp.Controls[i].Left < NumColLin))
{
if((PanelTmp.Controls[i].Left <= Left2)&&(Left2<NumColLin))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
else
{
if((PanelTmp.Controls[i].Left >= Left2)&&(Left2>=NumColLin))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Left = PanelTmp.Controls[i].Left - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
}
}
break;
case 9 :
//上下集中
for(i=0;i<NumTmp;i++)
{
if((PanelTmp.Controls[i].Left == Left1))
{
if((PanelTmp.Controls[i].Top < NumRowLine))
{
if((PanelTmp.Controls[i].Top <= Top1)&&(Top1 < NumRowLine))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
else
{
if((PanelTmp.Controls[i].Top >= Top1)&&(Top1 > NumRowLine))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
}
if((PanelTmp.Controls[i].Left == Left2))
{
if((PanelTmp.Controls[i].Top < NumRowLine))
{
if((PanelTmp.Controls[i].Top <= Top2)&&(Top2 < NumRowLine))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top + 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
else
{
if((PanelTmp.Controls[i].Top >= Top2)&&(Top2 > NumRowLine))
{
//保存空闲坐标信息
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]++ ;
//移位
PanelTmp.Controls[i].Top = PanelTmp.Controls[i].Top - 40 ;
DeleData[(PanelTmp.Controls[i].Top-20)/40+1,(PanelTmp.Controls[i].Left-20)/40+1]-- ;
}
}
}
}
break;
}
int TmpCount = PanelTmp.Controls.Count ;
if(TmpCount == 0 )
{ //已过关,进入下一级
MessageBox.Show("恭喜过关!");
NumLev++;
if(NumLev > 9)
{
if(NumDif < 3)
{
MessageBox.Show("您已成功能过此难度的全部级别,请选择下一个难度吧!");
}
else
{
MessageBox.Show("佩服!佩服!请和我联系一下吧,我一定加大难度,保证让你绝对过不了,哈哈!");
}
}
else
{
switch (NumDif)
{
case 1 :
NumTime = NumTimeMax ;
break;
case 2 :
NumTime = NumTimeMax ;
break;
case 3 :
NumTime = NumTimeMax ;
break;
}
NumTime = NumTimeMax ;
labelSchedule.Left = panelSchedule.Width ;
Status = 1 ;
MouseNum = 0 ;
Status = 1 ;
StatusShow() ;
GameShow(PanelTmp) ;
}
}
else
{
int result = 0 ;
for(int x=0;x<TmpCount-1;x++)
for(int y=x+1;y<TmpCount;y++)
{
if(Connexity((PictureBox)PanelTmp.Controls[x],(PictureBox)PanelTmp.Controls[y]))
{
x = TmpCount ;
y = TmpCount ;
result = 1 ;
}
}
if(result == 0)
{
NumRedo++;
menuOptRedo_Click(Pic1,new System.EventArgs()) ;
}
}
}
private void PathShow(PictureBox Pic1,PictureBox Pic2)
{
//显示连接路由
switch (NumDif)
{
case 1 :
Palette = panelDif1.CreateGraphics();
break;
case 2 :
Palette = panelDif2.CreateGraphics();
break;
case 3 :
Palette = panelDif3.CreateGraphics();
break;
}
Graphics PalettePic1 = Pic1.CreateGraphics() ;
Graphics PalettePic2 = Pic2.CreateGraphics() ;
Pen myPen = new Pen(Color.Red);
myPen.Width = 5;
//在图像Pic1上画线
if(Path[0,0] == Path[1,0])
{
//画垂直线
if(Path[0,1] == Path[1,1])
{ //与第二跳重合
if(Path[0,1] > Path[2,1])
{ //上垂直线
PalettePic1.DrawLine(myPen,20,20,20,0);
}
if(Path[0,1] < Path[2,1])
{ //下垂直线
PalettePic1.DrawLine(myPen,20,20,20,40);
}
}
if(Path[0,1] > Path[1,1])
{ //上垂直线
PalettePic1.DrawLine(myPen,20,20,20,0);
}
if(Path[0,1] < Path[1,1])
{ //下垂直线
PalettePic1.DrawLine(myPen,20,20,20,40);
}
}
if(Path[0,1] == Path[1,1])
{
//画水平线
if(Path[0,0] == Path[1,0])
{ //与第二跳重合
if(Path[0,0] < Path[2,0])
{ //右水平线
PalettePic1.DrawLine(myPen,20,20,40,20);
}
if(Path[0,0] > Path[2,0])
{ //左水平线
PalettePic1.DrawLine(myPen,20,20,0,20);
}
}
if(Path[0,0] < Path[1,0])
{ //右水平线
PalettePic1.DrawLine(myPen,20,20,40,20);
}
if(Path[0,0] > Path[1,0])
{ //左水平线
PalettePic1.DrawLine(myPen,20,20,0,20);
}
}
//在图像Pic2上画线
if(Path[3,0] == Path[2,0])
{
//画垂直线
if(Path[3,1] == Path[2,1])
{ //与第二跳重合
if(Path[3,1] > Path[1,1])
{ //上垂直线
PalettePic2.DrawLine(myPen,20,20,20,0);
}
if(Path[3,1] < Path[1,1])
{ //下垂直线
PalettePic2.DrawLine(myPen,20,20,20,40);
}
}
if(Path[3,1] > Path[2,1])
{ //上垂直线
PalettePic2.DrawLine(myPen,20,20,20,0);
}
if(Path[3,1] < Path[2,1])
{ //下垂直线
PalettePic2.DrawLine(myPen,20,20,20,40);
}
}
if(Path[3,1] == Path[2,1])
{
//画水平线
if(Path[3,0] == Path[2,0])
{ //与第二跳重合
if(Path[3,0] < Path[1,0])
{ //右水平线
PalettePic2.DrawLine(myPen,20,20,40,20);
}
if(Path[3,0] > Path[1,0])
{ //左水平线
PalettePic2.DrawLine(myPen,20,20,0,20);
}
}
if(Path[3,0] < Path[2,0])
{ //右水平线
PalettePic2.DrawLine(myPen,20,20,40,20);
}
if(Path[3,0] > Path[2,0])
{ //左水平线
PalettePic2.DrawLine(myPen,20,20,0,20);
}
}
//在面板上画线
for(int i = 0;i<PathCount-1;i++)
{
Palette.DrawLine(myPen, Path[i,0], Path[i,1], Path[i+1,0], Path[i+1,1]);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -