问题标签 [tetris]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 为什么我会收到此 Stack Overflow 异常?
我正在编写俄罗斯方块克隆,这是我真正做过的最大的项目。在实现行删除代码时,我已经开始收到堆栈溢出异常。我认为这可能与我的大量收藏或对 Linq 的低效使用有关。以下是导致问题的具体方法:
如果我能弄清楚如何(如果必须的话,甚至使用单独的站点),我会附上整个源代码。
如果您愿意,我真的不介意有人查看整个代码库并告诉我我写了什么和错误(例如命名约定、算法等)。显然,这不是该网站的用途,但我想我会把它扔进去,因为无论如何我都在攻击代码库。
编辑:这是主游戏文件:
http: //pastebin.com/PqVAS56U
这是其余代码:
http: //pastebin.com/JjBKZgwN
Edit2:我相信这是一个堆栈跟踪:
machine-learning - 构建实时游戏玩家模拟器的首选机器学习技术是什么?
我已经着手构建一个学习玩俄罗斯方块的人工智能引擎,即一个可以提高它的性能的引擎,也许通过调整它的启发式等等。假设我已经把 GUI 排除在外——我将从哪里开始构建引擎?作为初学者,我将使用哪些资源来理解其中涉及的机器学习概念?
特别是,我正在寻找基于代码和实际示例的解释性材料,而不是对该主题的数学处理。
android - android俄罗斯方块中的错误 - getEntry
当时我和一个朋友正在为一个学校项目编写经典游戏俄罗斯方块。我已经编程了一段时间,并且已经实现了旋转和移动块,以及 newBlock、draw 等方法,所以我认为现在可能是第一次运行它的最佳时机。但后来我收到错误消息:
我正在使用一个使用自建视图(surfaceHolder/surfaceView)的线程运行它,使用方法,基本上我正在学习老师的课程,她在那里编写了一个蛇游戏。因此,随着方法的更新,它们对俄罗斯方块来说是正确的,它应该可以工作,但现在我看不到错误。任何人都知道错误消息的含义,如果需要更多信息,只需粘贴问题。
我已经添加了很多 LOG 命令,我只是从 TetrisView (surfaceView) 构造函数和 Thread 中的构造函数中获得了 LOG,所以它永远不会在任何方法中。
java - 检查俄罗斯方块、Android/Java 的 int 数组中的左/右
我正在尝试为 android 制作俄罗斯方块游戏,以帮助学习 android 的游戏编程。按下按钮时,我的 goLeft/Rights 向右中断,向左移动的代码位于字段 int 数组和列表部分数组分开的类中。字段数组由引用变量 (TetrisWorld tetrisworld;) 访问。虽然零件列表数组是公共的,但可以通过 goLeft() 代码中的变量(零件)代码访问。它在以下位置中断: if(tetrisworld.fields[x][part.y] != 0) 左侧代码:
字段 int 数组的代码:
WORLD_WIDTH 和 WORLD_HEIGHT 都是静态最终整数,宽度为 9,高度为 19
我试过把 if(tetrisworld.fields[0][0] == 0) 和它仍然崩溃,所以我认为它与变量无关。即使我还没有添加代码来检查它也不会超出界限,因为我在 x = 5 附近产生了 teroid 并且因为一旦没有机会我就不能向左/向右走正在发生
我尝试将 goLeft/Right 方法移动到具有“world = TetrisWorld();”的游戏屏幕类 它仍然在同一个地方出错
更新:
好的,只需添加:
对于第一个 if 语句修复它,我现在的问题是,它为什么修复它?为什么没有这张支票我不能搬家?据我所知,这显然不是无效的原因;它现在完全响应。
但是解决这个问题的一种更简单的方法是改变fields
为静态......然后像这样访问它:TetrisWorld.fields
所以我更新的代码是:
python - 随机俄罗斯方块形状
我正在尝试编写一个 python 程序,它将随机俄罗斯方块形状绘制到板上。这是我的代码:
我的问题在于“self.current_shape = Board.draw_shape(the_shape)。它说 the_shape 没有定义,但我认为我在 create_new_shape 中定义了它。
javascript - 试图创建俄罗斯方块,但不能
出于某种原因,我的代码拒绝让我为每个块分配 x 和 y 位置。每个块的宽度和高度为 30 像素,并将根据它所在的部分进行着色。重力和清除功能尚未实现,左移和右移功能如此不同,因为它无法正常工作,然后重新创建它,就像现在在左功能中看到的那样,它的工作量更少......
请帮忙!
编辑:对不起,我通常不发布任何内容。我现在无法通过的部分是功能块/添加块/typeSet/分配类型。它很好地分配了一个随机值,但是当该类型(例如正方形)分配 x 和 y 值时,它会给出错误。
java - 俄罗斯方块 midlet 属性
上面是我的俄罗斯方块 midlet/J2ME 代码块。但我不知道如何解释这些参数。谁能给我建议?让我知道您是否需要完整的代码才能工作。
这是我的完整代码:
}
c# - 俄罗斯方块清除线问题
我正在为一个项目制作俄罗斯方块克隆。我几乎完成了,但我的清晰线条课程有一个我无法摆脱的错误。我制作了一个 10*20 的网格,将精灵绘制到其中。当我在地板上找到一条线时,它可以正常工作,但在此之上它只会删除该线并将其下方的所有内容也向下移动。这是我的明线类的代码:
如果有人能阐明该怎么做,我将不胜感激。我已经尝试了很多,但没有任何效果:(
java - JFrame中的JPanel
我刚刚开始学习 Java,现在我正在为俄罗斯方块制作 GUI。我想要这样的东西: 1 http://desmond.imageshack.us/Himg846/scaled.php?server=846&filename=tetrisf.png&res=landing
编辑:有人可以告诉我如何解决这个问题吗?
它是 TetrisFrame(扩展 JFrame)构造函数的一部分:
它是我的 TetrisPanel 课程的一部分:
python - “之后”无限循环:从不进入主循环
这是我的第一篇文章。两个月前,我在考虑转行时开始编码,并且正在研究俄罗斯方块的克隆。我已经实现了大部分核心功能,但无法通过 after 循环让游戏不断刷新。
我正在使用 Tkinter 来制作我的 Gui,并正在尝试面向事件的编程。
我的理解是after(Time, Event)
fromTkinter
应该安排Event
在指定的延迟之后发生的任何回调函数Time
。我认为代码应该在此之后继续执行后续项目。
我的帧刷新函数 ( game.updateBoard()
) 完成了俄罗斯方块工作所需的大部分事件,然后使用 after 调用自身。我在初始化游戏实例时调用它一次。
mainloop()
该函数没有继续执行,而是通过无限期地game.updateboard()
调用自身。after
我怀疑它没有表现出我认为after
的工作方式,即继续执行脚本直到发生指定的延迟。我认为它正在等待回调终止以继续。
我试图找到这方面的资源,但找不到。
如果您有解决此问题、附加代码或一般编码的建议,我很高兴听到这些建议!这是一个学习过程,我很乐意尝试您提出的任何建议。
这是代码的相关部分: