我有一个我已经子类化并且设置为DoubleBufferedtrue 的面板,我经常需要刷新绘图但是它闪烁并且不知道为什么.
private delegate void MyDelegate();
public void heartBeat()
{
while (true)
{
if (map.processNubots(rules))
{
if (this.InvokeRequired)
{
this.Invoke((MyDelegate)delegate
{
//drawPanel.SuspendLayout();
drawPanel.Refresh();
displayGrid();
//drawPanel.ResumeLayout();
});
}
Thread.Sleep(500);
}
else
{
break;
}
}
}
public void displayGrid()
{
int i = 0;
foreach (DictionaryEntry pair in map)
{
Monomer current = (Monomer)pair.Value;
drawMonomers(current.getLocation(), current.getState());
i++;
}
}
public void drawMonomers(Point location, string state)
{
...
SolidBrush sb = new SolidBrush(mycolor);
SolidBrush sbt = new SolidBrush(Color.Black);
Graphics g …Run Code Online (Sandbox Code Playgroud) 对于Data Structures项目,我必须找到两个单词之间的最短路径,如"cat"和"dog,但我只允许一次更改一个字母.我正在尝试通过实现trie来实现它,并且可以似乎能够实现最短路径搜索.
猫 - >小孩 - > cog - >狗
所有单词的长度都相同,我从字典文件中填充它们.我们必须一个接一个地移动.所以中间的词必须是一个有效的词.
我认为使用trie不太可能,但任何人都有任何知识吗?