好的,这一切都发生在一个漂亮而简单的2D世界...... :)
假设我在位置Apos处有一个静态物体A,在Bpos处有一个带有bVelocity的线性移动物体B,以及一个带有速度Avelocity的弹药轮......
考虑到B的线速度和A弹药的速度,我如何找出A必须射击的角度,击中B?
现在目标是在物体的当前位置,这意味着当我的射弹到达那里时,该单位已经转移到更安全的位置:)
我正在创建一个使用NZB文件下载二进制文件的(C#)程序,我的应用程序可能只有一个实例在运行.
因此,当用户双击.nzb文件并且我的程序未运行时,它应该启动并处理它(简单,文件注册).现在,如果我的程序已经运行,我不想启动第二个实例 - 我希望已经运行的实例获取指定的文件.
使用带有.IsSingleInstance技巧的Visual Basic DLL可以完成我的应用程序单实例,但我不想去那里.
正确的方法似乎是使用互斥锁来确保我的应用程序是单实例,但现在我仍然坚持如何将指定的参数(.nzb文件)传递给已经运行的实例.
帮助将不胜感激!:-)
我的输入包含用户发布的字符串.
我想要做的是创建一个包含单词的字典,以及它们被使用的频率.这意味着我想解析一个字符串,删除所有垃圾,并获得一个单词列表作为输出.
例如,输入是
"#@!@LOLOLOL YOU'VE BEEN \***PWN3D*** ! :') !!!1einszwei drei !"
我需要的输出是列表:
"LOLOLOL"
"YOU'VE"
"BEEN"
"PWN3D"
"einszwei"
"drei"
我不是正常表达的英雄,而且一直在谷歌搜索,但我的谷歌功夫接缝很弱......
我如何从输入转到想要的输出?
2D中的XNA是什么,矢量角度的标准方式有效?
向右0度,向上90度,向左180度,向下270度?
什么是'标准'实施
float VectortoAngle(Vector2 vec)
Run Code Online (Sandbox Code Playgroud)
和
Vector2 AngleToVector(float angle)
Run Code Online (Sandbox Code Playgroud)
那么VectortoAngle(AngleToVector(PI))== PI?
我正在编写一个C#应用程序,需要能够使用par2奇偶校验文件修复一组文件.对于C++,有很多东西可以做到,但是对于C#我找不到本机实现.
一种选择是使用来自C#的C++ DLL,但我宁愿不这样做,因为它不可能在x64应用程序中使用32位dll,所以我将我的应用程序限制为32位模式.
另一种选择是在后台使用par2cmdline,但我宁愿对进程有更多控制权(进度,取消等).
有没有人知道使用par2集修复文件的本地C#实现?
我在我的应用程序中嵌入了一个字体作为EmbeddedResource,并希望在文本框中使用它.AddMemoryFont帮助说我必须将兼容的文本渲染设置为true才能使用GDI +,这样我的字体就可以使用,但不知怎的,它只是不会显示正确的字体.
在Program.cs中我明确说明:Application.SetCompatibleTextRenderingDefault(true);
那么为什么它不起作用?有人知道吗?
在C#应用程序中,假设我有一个包含一些配置项的全局类,如下所示:
public class Options
{
int myConfigInt;
string myConfigString;
..etc.
}
static Options GlobalOptions;
Run Code Online (Sandbox Code Playgroud)
这个类的成员将用于不同的线程:
Thread1: GlobalOptions.myConfigString = blah;
Run Code Online (Sandbox Code Playgroud)
而
Thread2: string thingie = GlobalOptions.myConfigString;
Run Code Online (Sandbox Code Playgroud)
当2个线程访问不同的成员时,使用锁来访问GlobalOptions对象也会不必要阻塞,但另一方面,为每个成员创建一个sync-object似乎也有点过头了.
此外,使用全局选项上的锁定会使我的代码不那么好看; 如果我要写
string stringiwanttouse;
lock(GlobalOptions)
{
stringiwanttouse = GlobalOptions.myConfigString;
}
Run Code Online (Sandbox Code Playgroud)
到处都是(这是线程安全的还是stringiwanttouse现在只是一个指向myConfigString的指针?是的,我是C#的新手......)而不是
string stringiwanttouse = GlobalOptions.myConfigString;
Run Code Online (Sandbox Code Playgroud)
它使代码看起来很糟糕.
那么......确保线程安全的最佳(也是最简单!)方法是什么?
假设我有一堂课
XYNode
{
protected int mX;
protected int mY;
}
Run Code Online (Sandbox Code Playgroud)
和一个队列
Queue<XyNode> testQueue = new Queue<XYNode>();
Run Code Online (Sandbox Code Playgroud)
我想检查具有该特定x和y坐标的节点是否已在队列中.以下显然不起作用:
testQueue.Contains(new XYNode(testX, testY))
Run Code Online (Sandbox Code Playgroud)
因为即使具有这些坐标的节点在队列中,我们也会针对不同的XYNode对象进行测试,因此它总是返回false.
什么是正确的解决方案?
我有一个字典,我想在表单中显示.最简单的方法是什么?
我想要显示一个控件,我可以使用int值进行排序.我已经尝试过DataGridView,但没有任何显示,我一定是做错了...
码:
mDataGridView.DataSource = mWordCount;
/*Where mWordCount is the Dictionary<string, int> but nothing shows up. (It's a forms-app, not a web-app)*/
Run Code Online (Sandbox Code Playgroud) 我正试图在文本框中显示ascii-art.如果我使用字体"Lucida Console",9pt,常规,在记事本中打开一个特定的.nfo文件,它看起来像这样:
http://i48.tinypic.com/24zvvnr.png
在我的应用程序中,我将文本框的字体设置为"Lucida Console",9 pt,常规,它看起来像这样:
http://i49.tinypic.com/2ihq8h0.png
我究竟做错了什么 ?(或者 - 我应该怎么做才能让它看起来像在记事本中?)