小编xXl*_*uXx的帖子

国际象棋静止搜索太广泛了

我在上个月用c#创建了一个简单的国际象棋引擎,并取得了一些不错的进展.它使用简单的Alpha-Beta算法.

为了纠正Horizo​​n-Effect,我试图实现静态搜索(并在它工作之前多次失败).发动机的强度似乎有点改善了安静,但速度非常慢!

在此之前,我可以在大约160秒(在游戏中期的某个地方)搜索6层深度,通过静态搜索,计算机需要大约80秒才能在搜索深度3上移动!

蛮力节点计数器在深度3处大约20000个节点,而静态节点计数器高达2000万!

由于这是我的第一个国际象棋引擎,我真的不知道这些数字是否正常,或者我是否在我的静止算法中犯了错误.如果有经验的人能告诉我BF节点/静态节点的通常比例是多少,我将不胜感激.

顺便说一句,看看:(每当searchdepth为0时,此方法由BF树调用)

public static int QuiescentValue(chessBoard Board, int Alpha, int Beta)
    {
        QuiescentNodes++;

        int MinMax = Board.WhoseMove; // 1 = maximierend, -1 = minimierend
        int Counter = 0;
        int maxCount;


        int tempValue = 0;
        int currentAlpha = Alpha;
        int currentBeta = Beta;
        int QuietWorth = chEvaluation.Evaluate(Board);

        if(MinMax == 1) //Max
        {
            if (QuietWorth >= currentBeta)
                return currentBeta;
            if (QuietWorth > currentAlpha)
                currentAlpha = QuietWorth;
        }

        else            //Min
        {
            if (QuietWorth <= currentAlpha)
                return currentAlpha;
            if (QuietWorth …
Run Code Online (Sandbox Code Playgroud)

c# algorithm chess alpha-beta-pruning

8
推荐指数
1
解决办法
536
查看次数

MODERN OPENGL无法改变glDrawArrays调用之间的统一值

编辑:我刚刚通过pip重新安装PyOpenGL来解决这个问题.现在,同一程序按预期工作.谢谢你的努力.

整个问题被重写和澄清.

问题不在于(虽然很奇怪)纹理创建和绑定方法,如评论中所述.

我的实际问题是着色器中的统一变量在调用glDrawArrays()之间更改(是的,从着色器外部更改)时不会更新它们的值.我通过使用不同类型的制服,不同的值并通过渲染到纹理来检查它们的值来验证.

一旦调用glDrawArrays(),看起来制服的值就会被锁定.之后,我只能在清除颜色缓冲区时再次更改它们.

我愿意为任何有效的解决方案提供奖励.在我看来,发布任何源代码都没有帮助,因为问题似乎并不在于代码.

任何建议都是适用的.

python opengl pyopengl

5
推荐指数
1
解决办法
348
查看次数

Pygame.movi​​e 丢失

我目前正在一个小项目中使用 RPi 3B(最新的 Raspbian Jessie),该项目涉及播放一个简短的 .mp4 文件。由于 Pygame 似乎支持播放 .mpg 文件,因此我将视频转换为该格式。

但是,当我尝试导入电影模块时,出现常见的 Python 导入错误:

Traceback (most recent call last):
    File "film_app.py", line 3, in <module>
       import pygame.movie
ImportError: No module named movie
Run Code Online (Sandbox Code Playgroud)

经过一些研究,我认为其他人也遇到了与此处所述相同的问题。我真的不明白是否有解决方案,或者我在 RPi 上有什么替代方案。

Pygame、python 和 Raspbian 是最新的。

python pygame movie raspberry-pi raspbian

4
推荐指数
1
解决办法
8494
查看次数

PyOpenGL非常慢

我是OpenGL的新手,想学习将其用于一些我想用3d图形重写的2d游戏。因此,我开始阅读有关如何与Pythhon一起使用的教程,并安装了PyOpenGL。

我的问题是,我的程序显示一个具有120 fps限制的简单多维数据集仅以25 fps的速度运行。我发现所有性能损失都在OpenGL部分,但是我无法弄清楚确切的位置。

我的问题是:-OpenGL在Python上运行这么慢是否正常?-我的旧笔记本是问题的一部分吗?

这是我用于显示多维数据集的代码:

def draw(self):
    glBegin(GL_QUADS)#info for OGL: treat following code as surface drawing code
    for surface in self.surfaces:
        x = 0
        for vertex in surface:
            x+=1
            glColor3fv(self.colors[x])
            glVertex3fv(self.verticles[vertex])
    glEnd()

    glBegin(GL_LINES) #info for OGL: treat following code as line drawing code
    for edge in self.edges:
        for vertex in edge:
            glVertex3fv(self.verticles[vertex]) #pass each verticle in the verticles list to glVertex3fv, which creates edges
    glEnd() #info for OGL:no more code incoming
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏。

python opengl performance

2
推荐指数
1
解决办法
780
查看次数