Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用して球技をキャッチする


Pythonは、コンピューターゲームの作成にも使用できます。この記事では、Pythonを使用してボールキャッチゲームを作成する方法を説明します。このゲームでは、ボールがキャンバスウィンドウの上部から落下し続け、ウィンドウの下部にバーが表示されます。バーを左右方向に動かすための2つのボタンが用意されています。マウスボタンを押すと、下部のバーを動かして落下するボールをキャッチします。さまざまな時点で、ボールはさまざまな位置から落下します。

アプローチ

ゲームを構築するためのアプローチは、次の手順で説明されています。

  • ステップ1 −さまざまなグラフィック、テキスト、画像などのさらなるレイアウトを保持するために使用できるtkinter長方形キャンバスを描画します。

  • ステップ2 −上から落ちるボールを作成します。 create_ovalを使用します そのための方法。円と長方形が混在する楕円を作成するには、4つの座標が必要です。

  • ステップ3 −マウスボタンを押すと左から右に移動するバーを下部に作成します。 create_rectangle これにはメソッドを使用できます。

  • ステップ4 canvas.moveを使用します ボールまたはバーを移動する方法。この方法は、アタッチされているオブジェクトの垂直方向と水平方向の両方の動きに使用されます。

  • ステップ5 −下部のバーを移動するために使用するボタンを作成します。ボタンがクリックされたときにトリガーされるイベントが適用されます。

プログラム

以下は、関連するメソッドとオブジェクトを使用した上記の手順に基づく完全なプログラムです。

#Catching the ball game using Python

from tkinter import Tk, Button, Label
from tkinter import Canvas
from random import randint
base = Tk()
base.title("BALL GAME")
base.resizable(False, False)
color = Canvas(base, width=590, height=610)
color.pack()
standard = 0
length = 5
marks = 0
class model:
   def __init__(self, color, m1, n1, m2, n2):
      self.m1 = m1
      self.n1 = n1
      self.m2 = m2
      self.n2 = n2
      self.color = color
      self.circle = color.create_oval(self.m1, self.n1, self.m2, self.n2,fill="blue", tags='dot1')
   def Game(self):
      offset = 5
      global standard
      if standard >= 510:
         global length, marks, next
         if (length - offset <= self.m1 and
            length + 40 + offset >= self.m2):
            marks += 5
            color.delete('dot1')
            game_play()
         else:
            color.delete('dot1')
            slide.remove(self)
            result()
         return

      standard += 1
      self.color.move(self.circle, 0, 1)
      self.color.after(10, self.Game)
class slide:
   def __init__(self, color, m1, n1, m2, n2):
      self.m1 = m1
      self.n1 = n1
      self.m2 = m2
      self.n2 = n2
      self.color = color
      self.num = color.create_rectangle(self.m1, self.n1, self.m2, self.n2, fill="green",       tags='dot2')
   def push(self, num):
      global length
      if (num == 1):
         self.color.move(self.num, 20, 0)
         length += 20
   else:
      self.color.move(self.num, -20, 0)
      length -= 20
   def remove(self):
      color.delete('dot2')
def game_play():
   global standard
   standard = 0
   size = randint(0, 570)
   game1 = model(color, size, 20, size + 30, 50)
   game1.Game()
def result():
   base2 = Tk()
   base2.title("THE BALL GAME")
   base2.resizable(False, False)
   set = Canvas(base2, width=300, height=300)
   set.pack()
   z = Label(set, text="\nGame over\n\nYou have scored = " + str(marks) + "\n\n")
   z.pack()
   btx = Button(set, text="Enter if you want to play again", bg="yellow", command=lambda:    repeat(base2))
   btx.pack()
   bty = Button(set, text=" CLOSE ", bg="red",command=lambda: destroy(base2))
   bty.pack()
def repeat(base2):
   base2.destroy()
   function()
def destroy(base2):
   base2.destroy()
   base.destroy()
def function():
   global marks, length
   marks = 0
   length = 0
   x1 = slide(color, 5, 560, 45, 575)
   Bt0 = Button(color, text="move right**", bg="pink",command=lambda: x1.push(1))
   Bt0.place(x=335, y=580)
   Bt1 = Button(color, text="**move left ", bg="pink", command=lambda: x1.push(0))
   Bt1.place(x=260, y=580)
   game_play()
   base.mainloop()
if (__name__ == "__main__"):
   function()

出力

上記のコードを実行すると、次の結果が得られます-

Pythonを使用して球技をキャッチする


  1. Pythonを使用してLinuxターミナルでフォーマットされたテキスト

    このセクションでは、Linuxターミナルでフォーマットされたテキストを印刷する方法を説明します。フォーマットすることで、テキストの色、スタイル、およびいくつかの特別な機能を変更できます。 Linuxターミナルは、フォーマット、色、その他の機能を制御するために、いくつかのANSIエスケープシーケンスをサポートしています。したがって、テキストにいくつかのバイトを埋め込む必要があります。したがって、端末がそれらを解釈しようとするとき、それらのフォーマットは効果的です。 ANSIエスケープシーケンスの一般的な構文は次のようになります- \x1b[A;B;C Aはテキストの書式設定スタイルです

  2. PythonでTkinterを使用したカラーゲーム

    GUIアプリケーションの開発では、tkinterは非常に人気があり簡単です。 tkinterを使用すると、GUIゲームを簡単に開発できます。 ここでもカラーゲームの開発を試みています。このゲームでは、プレーヤーは画面に表示される単語の色を入力する必要があるため、スコアが1つ増えます。このゲームをプレイする合計時間は、30秒で、このゲームで使用される色は、赤、青、緑、ピンク、ブラック、イエロー、オレンジ、ホワイト、パープル、ブラウン。インターフェイスには、さまざまな色の名前がさまざまな色で表示されます。ゲームに勝つには、ユーザーは色を識別し、正しい色の名前を入力する必要があります。 サンプルコ