所以我一直遇到麻烦.我需要使用numpy以便我可以使用OpenCV,因此我安装了Miniconda(不是Miniconda3,因为我们在Python 2.7中工作)并且我安装了numpy conda install numpy并且它工作,因为当我运行时conda list我看到它在那里:
Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.
C:\Users\joe30_000>conda list
# packages in environment at C:\Users\joe30_000\Miniconda:
#
conda 3.17.0 py27_0
conda-env 2.4.2 py27_0
menuinst 1.0.4 py27_0
numpy 1.9.3 py27_0
pip 7.1.2 py27_0
pycosat 0.6.1 py27_0
pycrypto 2.6.1 py27_3
python 2.7.10 0
pyyaml 3.11 py27_2
requests 2.7.0 py27_0
setuptools 18.3.2 py27_0
wheel 0.26.0 py27_1
C:\Users\joe30_000>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它是为Python 2.7安装的.但是,当我转到python命令行并尝试import numpy我得到没有模块存在的错误时:
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 …Run Code Online (Sandbox Code Playgroud) (((difference - previousStep)/1000)^2)
//difference and previousStep are both doubles
Run Code Online (Sandbox Code Playgroud)
为什么我不能将^运算符与双精度运算符一起使用?我只想知道原因.对我来说幸运的是,我可以只有多个区别 - previousStep本身因为我只是将它平方,但如果我需要将它带到N次幂,那么这将是一个问题.那么为什么你不能双打并且有办法解决这个问题呢?
我正在互联网上的某个地方阅读一些代码,我看到这个有趣的部分引起了我的兴趣,我很好奇它是如何工作的.
有一个名为ResourceManager的类,如下所示:
public class ResourceManager {
private static final ResourceManager INSTANCE = new ResourceManager();
public static ResourceManager getInstance() {
return INSTANCE;
}
}
Run Code Online (Sandbox Code Playgroud)
(它有很多其他的东西,但我不认为有必要包括).但是,我觉得有趣的是,作者没有包含构造函数.事实上,在他的主要方法中,他只对这个类进行了一次引用,而不是创建一个他刚写的新对象:
ResourceManager.getInstance().etc();
Run Code Online (Sandbox Code Playgroud)
我以前从未见过这样的编码.我不得不修改它,因为我需要一个ResourceManager对象来工作,所以我做的是:
ResourceManager res = ResourceManager.getInstance();
Run Code Online (Sandbox Code Playgroud)
哪个工作得很好.但是,我仍然不完全理解这里发生了什么.如果没有构造函数,这个类是如何创建的?
我在线查看一些代码以帮助我解决问题,我找到了这个有趣的方法(这解决了我的问题)但是它有这些参数
public void showScene(Class<? extends AbstractScene> sceneClazz) {
Run Code Online (Sandbox Code Playgroud)
在做了一些研究和使用逻辑后,我发现它只是将一个类作为参数来扩展AbstractScene ....但是,我想知道如何再次调用这个方法
我尝试了多种方法来调用它
showScene(new GameActivity());
showScene(GameActivity<? extends AbstractScene>());
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用......我怎么称呼这种方法?
这是我在main.cpp中的代码
std::list<AbstractBlock*>::iterator i;
for (i = universe.getLoadedBlocks().begin(); i != universe.getLoadedBlocks().end(); i++){
window.draw((*i)->draw());
}
Run Code Online (Sandbox Code Playgroud)
Universe.cpp:
std::list<AbstractBlock*> Universe::getLoadedBlocks(){
return chunkManager->getLoadedBlocks();
}
Run Code Online (Sandbox Code Playgroud)
CunkManager.cpp:
std::list<AbstractBlock*> ChunkManager::getLoadedBlocks(){
return loadedBlocks;
}
Run Code Online (Sandbox Code Playgroud)
而loadedBlocks是一个 std::list<AbstractBlock*>
我正在试验列表并第一次尝试它们......我不知道为什么我会收到这个错误
所以我发现这个有用的网站有很多代码和解释perlin和单纯形噪声.但是,代码是用不同的语言编写的.我能够为java重写大部分内容,但是有一个函数1.我不明白,而且2.我不知道如何在java中编写它.代码是:
function IntNoise(32-bit integer: x)
x = (x<<13) ^ x;
return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);
end IntNoise function
Run Code Online (Sandbox Code Playgroud)
同样,我不知道它是用什么语言编写的.但是,作者声明该函数返回-1到1之间的随机数.有人可以解释&符号的确切含义吗?为什么有一堆看似随机的数字呢?有没有一种简单的方法将其转换为java?