これは、PythonでJetpack Joyrideクローンゲームのクローンを作成する試みです。最終結果は非常にうまく機能します。コード全体は、最小限のPythonライブラリを備えたオブジェクト指向設計で設計されています。
W:上に移動:左左d:右D:右f:撮影v:speedboost(ゲームで一度だけ使用できます)
重力が実装されます(一定の加速)障害物を撃つことができます。コインを集めることができます。
ゲームを実行するには、リポジトリをクローン化した後、Main.pyファイルを実行するだけです。 Python3コンパイラを使用します。
エンティティクラス:ボード継承エンティティクラスに表示されるすべてのオブジェクトに属するクラス。このクラスは、ゲームのエンティティリストに添付されており、Co-ordiantesの概念があります。基本的に、それはキャンバスにオブジェクトをピンまたはアンカーテザリングするものとして想像することができます。注:エンティティ自体は使用されていません。子供だけが使用されます。
人クラス:これは、特定のサイズの正方形の形状オブジェクトを作成するために使用されます。エンティティから継承します。このクラスは、マンダロリアン、コイン、シールド、弾丸、ドラゴンなどのクラスを作成するために何度も使用されてきました。これはおっとの力の代表的な例です
障害物:エンティティクラスの形状とサイズが異なるため、エンティティクラスから直接継承します。彼らは自分のcollisi9on関連関数を持っています。
概念:頻繁に間隔でエンティティがランダムに生成されます。ゲームオブジェクトにエンティティのリストがあります。すべてのフレームで、各オブジェクトは「チェック」され、更新されます。画面に表示する必要がある場合は、レンダリングされます。すべてのオブジェクトが更新された後、リスト内の衝突を確認し、衝突に基づいてゲーム状態を更新します。この時点では、ダニのために、すべてのオブジェクトがキャンバスにレンダリングされています。 2D配列を使用してキャンバスを描画します。キャンバスは、すべてのティックの開始時にリフレッシュされます。
注:すべての変数がプライベートになっているわけではなく、一部のキャスではゲッターおよびセッター機能が使用されていません。例:キャンバスでのレンダリング。これは、シンプルさとパフォーマンスオーバーヘッドによるものです。