假设我们正在制作一个双人纸牌游戏,我们有一些名为Game,Player和Card的课程.游戏包含指向两个玩家的指针并为玩家提供界面.玩家包括玩家的健康状况和他们的魔法以及他们手中的牌矢量.卡是一个抽象类.每张卡都需要玩魔法,并且可以玩.
问题是每张卡在玩时都可以通过多种方式改变游戏状态.例如,我们可以拥有一张能够让玩家健康成倍增加的牌,一张能够让敌方玩家中毒两次的牌,一张可以摧毁棋盘上所有爪子的牌,一张可以在棋盘上创建每个小兵副本的牌等等.可能性真是无穷无尽.我能看到的唯一解决方案是在每张卡片中都有一个指向游戏的指针,但这似乎相当不优雅.
还有其他解决方案吗?
我对 OpenCV 很陌生,最近我试图比较两张铁轨图像,一张有火车,一张没有。比较后,我应用了阈值,白色区域中有一些我不想要的“洞”。目前,我正在使用 4 次迭代的膨胀,并将内核设置为“无”,根据我的理解,默认为 3x3。
我如何决定使用哪种内核,以便膨胀可以更好地使白色区域连续?如果我能去掉背景中的白色小斑点那就太好了。这是代码:
resized = imutils.resize(img2, width=1050)
resized2 = imutils.resize(img3, width=1050)
grayA = cv2.cvtColor(resized, cv2.COLOR_BGR2GRAY)
grayB = cv2.cvtColor(resized2, cv2.COLOR_BGR2GRAY)
grayA = cv2.GaussianBlur(grayA,(7,7),0)
grayB = cv2.GaussianBlur(grayB,(7,7),0)
frameDelta = cv2.absdiff(grayA, grayB)
thresh = cv2.threshold(frameDelta, 20, 255, cv2.THRESH_BINARY)[1]
thresh = cv2.dilate(thresh, None, iterations=4)
Run Code Online (Sandbox Code Playgroud)
完全是初学者,因此即使是改进这些比较的一般提示/建议也将不胜感激!