问题标签 [pong]

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.

0 投票
7 回答
21553 浏览

algorithm - Pong:桨怎么知道球会打到哪里?

在实现 Pacman 和 Snake 之后,我正在实现下一个非常经典的游戏:Pong。

实现非常简单,但我只剩下一个小问题。当其中一个桨(我不确定它是否称为桨)由计算机控制时,我很难将它定位在正确的位置。

球有一个当前位置、一个速度(现在是恒定的)和一个方向角。所以我可以计算出它会碰到电脑控制的桨的位置。所以我可以把桨放在那里。但是在真正的比赛中,电脑的球拍有可能会错过球。我怎样才能实现这个概率?

如果我只使用计算机的球拍击球的概率假设为 0.5,那么问题就解决了,但我认为并不是那么简单。

从最初的游戏来看,我认为概率取决于当前桨位置与球击中边界的位置之间的距离。

有人知道这是如何计算的吗?

0 投票
3 回答
7714 浏览

ios - Objective-C 随机数

我正在制作一个简单的乒乓球游戏。为了让球在新一轮开始时移动,我正在使用

然而,重要的部分是这样的:

但是,这样做有一些问题:首先,它并没有真正生成随机数。只有在我退出模拟器后,然后重新打开它才会生成新的数字。其次,我只希望它生成介于 -4 和 -2 或 2 和 4 之间的数字。

0 投票
2 回答
1200 浏览

math - 如何推断乒乓球的位置?

好的,我还有另一个与乒乓球相关的问题。现在我正在努力改进“AI”。我在互联网上读到我应该预测球的 x 和 y 并在那里移动桨。

这是我的方程式。 在此处输入图像描述

然后我使用 pos 0 0 和屏幕高度、宽度等常量计算了桨移动线的坐标。

为了计算交叉点,我做了等式:a1x4+b1=a2x4+b2a1 b1 b2 a2是我之前计算过的东西。它不起作用:P 怎么了?

0 投票
3 回答
2432 浏览

javascript - 如何清除画布中圆圈的先前位置?

我正在尝试使用带有 JavaScript 的画布制作 Pong。

自从我制作任何游戏以来已经有很多年了,因此我还是个初学者。

我有一个问题,我试图移动球(现在只是它的 x 位置)并试图移除它以前的位置。我使用的代码适用于桨(向上和向下键移动它)。

但是,它似乎不想和球一起工作。

我究竟做错了什么?

js小提琴

我知道我正在使用clearRect(),但我的印象是它只是删除了画布的一个矩形部分。

clearRect(x,y,width,height):清除指定区域并使其完全透明

来源

也请随时给我任何其他提示,因为我几乎是这方面的初学者。

0 投票
6 回答
967 浏览

pong - 打乒乓球怎么让电脑输?

所以我和我的搭档正在尝试制作一个玩家对电脑的乒乓游戏,但我们就是不知道如何让电脑输。

我们已经完成了基本的工作,它工作正常,但计算机永远不会丢失。我们还尝试使用睡眠来减慢计算机的速度,但是当桨移动缓慢时,球也移动缓慢。

任何建议都会有所帮助!谢谢

0 投票
3 回答
940 浏览

c++ - 构建乒乓球

我正在使用 C++ 和 OpenGL 使用 Visual Express 2010 制作 Pong。这是我制作的第一款游戏之一,我想知道如何最好地构建它。难倒我的主要部分是游戏菜单。我应该把不同的游戏模式放在不同的功能中,并在我的主要功能中进行切换吗?例如,在 Main.cpp 中,我将包含该行

在另一个文件中,我将 maincode 定义为类似的东西(再次,伪代码):

然后,我会在每个文件中检查单人游戏、多人游戏和菜单的值,以确定我处于哪种模式,然后相应地显示代码。

但是,我觉得随着游戏变得越来越复杂,这种方法会变得越来越复杂,所以我认为这不是正确的方法。

我应该如何构建游戏和菜单?

PS我是一个以C++为生的程序员,但我只是没有编程游戏的经验。

0 投票
4 回答
483 浏览

javascript - 上下文存在于 OOP Javascript Pong 游戏中的什么位置?

为了练习我的 OOP 知识,我正在用 javascript 制作 Pong 游戏(我知道,我知道,这就像在吉他店玩 Stairway to Heaven)。通过实现几种不同的技术,包括基于原型的 OOP 和函数式风格,我已经拥有了游戏的多个功能版本。但是,我这样做并不是为了获得功能性游戏,而是为了学习。

我正在使用 html5 画布和纯 ol' javascript,没有框架(好的,用于键盘捕获的一点 jQuery)。我有代表我的游戏的 Pong 对象。Pong 有一个ctx包含对canvas.getContext("2d")上下文的引用的属性。它还有一个player1,player2ball属性,用于保存你知道什么。当球和两名球员被实例化时,上下文被传递给他们的构造函数,以便他们也可以持有对上下文的引用以在他们的draw(ctx)方法中使用。Pong 有一个draw()方法可以使用setInterval(this.draw, 10). Pong 的 draw 方法会调用两个玩家和球的 draw 方法。

两名球员和球都具有上下文作为属性,这对我来说并不合适。他们不拥有上下文,因此它不应该是一个属性。然而,使用 javascript 和画布的本质似乎是这是最好的方法。在这种情况下,谁或什么应该拥有上下文?理想情况下,我根本不希望球员和球对象有平局对象。我觉得它们应该具有描述其几何形状和位置的属性,并且应该指定一个专门的对象将它们渲染到屏幕上。这样,如果将来我决定使用 <div> 而不是画布,我可以只更改渲染对象,而其他一切都将被遗忘。

我知道我正在制作一个比它需要的更复杂的 javascript Pong 游戏,但我想练习这些技术并真正了解 OOP 的概念,但每次我认为我已经破解了一个由我的“解决方案”创建的全新问题'呈现自己。

编辑:如果你对我的代码有一个八卦会有帮助,这里是一个(几乎)完全工作的版本:

library.js - http://mikemccabe.me/tests/pong.archive.14.06.11/library.js

pong.js - http://mikemccabe.me/tests/pong.archive.14.06.11/pong.js

试试看 - 出http://mikemccabe.me/tests/pong.archive.14.06.11/

0 投票
2 回答
1569 浏览

python - 用 Python 调试乒乓球游戏

我累了,我试着跑了一整天。这是一种乒乓球游戏,球从墙上弹回并与用户的“板”或桨接触。我已经调试了一段时间,结果发现我的 iCollide 和 iGet_Velocity 部件引起了很多问题。

0 投票
4 回答
2286 浏览

c++ - C++ 中的乒乓球游戏

现在我正在用 C++ 制作一个乒乓球游戏,现在我已经制作了一个paddleball它都继承自entity它的实体的coordinatesbounding box(可以是圆形或多边形),我还实现了一个entity.isColliding(entity)很容易告诉的函数如果实体对任何两个实体发生碰撞。

现在我想让 Ball 移动,当它与实体碰撞时,它会反转正确的速度坐标(x 或 y)。我想制作一个函数canMove()来移动并检查碰撞以及是否有向后移动,但我不知道如何检查是否需要反转 x 或 y 速度坐标,我所知道的是存在或将会存在碰撞。

有什么建议吗?

0 投票
1 回答
468 浏览

java - Android - 暂停几秒钟

为了让游戏暂停几秒钟,我一直在尝试理解 Handlers 的东西。到目前为止还没有运气。

我希望有人可以指导我或向我展示一种可以适应我需要的完整方法。分别是:我有一个类似乒乓球的游戏,当球击中屏幕两侧时,我想暂停几秒钟以显示比分,然后重新开始比赛。

谢谢!