問題タブ [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 を実装しています。

実装は非常に簡単ですが、1 つだけ小さな問題が残っています。パドル(パドルと呼んでいるかどうかはわかりません)の1つがコンピューターによって制御されている場合、正しい位置に配置するのに苦労します。

ボールには、現在の位置、速度 (現時点では一定)、および方向角があります。それで、コンピューター制御のパドルの側面に当たる位置を計算できました。そして、パドルをそこに配置することができました。しかし、実際のゲームでは、コンピューターのパドルがボールを逃す可能性があります。この確率をどのように実装できますか?

コンピューターのパドルがボールに当たる確率を 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位置だけ)、前の位置を削除しようとしているという問題があります。私が使用しているコードは、パドル(パドルを移動するための上下のキー)で機能しました。

しかし、それはボールで働きたくないようです。

私は何が間違っているのですか?

jsFiddle

使用していることは知っていますclearRect()が、キャンバスの長方形の部分が削除されているだけだという印象を受けました。

clearRect(x,y,width,height):指定した領域をクリアして完全に透明にします

ソース

私はこれについてはほとんど初心者なので、他のヒントもお気軽に教えてください。

0 投票する
6 に答える
967 参照

pong - 卓球ゲームでコンピューターを負けさせるにはどうすればよいですか?

それで、私と私のパートナーは、プレイヤー対コンピューターの卓球ゲームを作ろうとしていますが、コンピューターを負けさせる方法がわかりませんでした。

すでに基本的な作業は完了しており、正常に動作しますが、コンピューターが負けることはありません。また、スリープを使用してコンピューターのペドルを遅くしようとしましたが、パドルの動きが遅くなると、ボールの動きも遅くなります。

どんなアドバイスも役に立ちます!ありがとう

0 投票する
3 に答える
940 参照

c++ - 構造化ポン

Visual Express 2010 を使用して、C++ と OpenGL を使用して Pong を作成しています。これは、私が最初に作成したゲームの 1 つであり、どのように構築するのが最適かを考えています。私を悩ませている主な部分はゲームメニューです. さまざまなゲーム モードをさまざまな機能に配置し、メイン機能にスイッチを配置する必要がありますか? たとえば、Main.cpp には次の行を含めます。

別のファイルでは、メインコードを次のように定義します (ここでも疑似コード)。

次に、各ファイルで、singleplayer、multiplayer、menu の値をチェックして現在のモードを判断し、それに応じてコードを表示します。

ただ、ゲームが複雑になればなるほどこの方法も複雑になる気がするので、これは適切な方法ではないと思います。

ゲームとメニューをどのように構成すればよいですか?

PS 私は生計を立てる C++ プログラマーですが、ゲームのプログラミング経験がありません。

0 投票する
4 に答える
483 参照

javascript - OOP Javascript Pong ゲームのコンテキストはどこにありますか?

OOP の知識を実践するために、JavaScript で Pong ゲームを作成しています (ギター ショップで Stairway to Heaven をプレイするようなものです)。プロトタイプ ベースの OOP や関数型スタイルなど、いくつかの異なる手法を実装することで、ゲームのいくつかの機能するバージョンを作成しました。ただし、機能的なゲームを取得するためにこれを行っているのではなく、学習するために行っています。

私は html5 キャンバスとプレーンな古い JavaScript を使用しています。ゲームを表す Pong オブジェクトがありました。Pongには、コンテキストctxへの参照を含む属性がありました。canvas.getContext("2d")また、何を知っているかを保持するためplayer1player2and属性もありました。ボールと 2 人のプレーヤーがインスタンス化されると、メソッドballで使用するコンテキストへの参照を保持できるように、コンテキストがコンストラクターに渡されました。draw(ctx)Pong には、draw()を使用して呼び出されるメソッドがありましたsetInterval(this.draw, 10)。Pong の draw メソッドは、2 人のプレーヤーとボールの draw メソッドを呼び出します。

2 人の選手とボールが属性としてコンテキストを持っているというのは、私には合いません。それらはコンテキストを所有していないため、属性であってはなりません。ただし、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を継承すると を作成しました。また、簡単に伝える関数を実装しました。エンティティが 2 つのエンティティに対して衝突している場合。entitycoordinatesbounding boxentity.isColliding(entity)

ここで、ボールを動かしたいと思います。ボールがエンティティと衝突すると、正しい速度座標 (x または y) が反転します。canMove()移動して衝突をチェックし、戻る場合は関数を作成することを考えましたが、x または y の速度座標を逆にする必要があるかどうかを確認する方法がわかりません。衝突。

なにか提案を?

0 投票する
1 に答える
468 参照

java - Android-数秒間一時停止

私はしばらくの間、ゲームを数秒間一時停止するためにハンドラーのことを理解しようとしてきました。これまでのところ運がありません。

誰かが私を案内してくれるか、私のニーズに適応できる完全な方法を教えてくれるかどうかを望んでいました。つまり、私はポンのようなゲームを持っています。ボールが画面のいずれかの側に当たったときに、スコアを表示するために数秒間一時停止してから、ゲームを再開したいと思います。

ありがとう!