blog.dopana

Back

マスタービルダーのみなさん、おかえりなさい! 🛠️

現実の世界では、おもちゃ工場はミニカーやアクションフィギュアを毎回ゼロから設計するわけではありません。エンジニアが 「設計図(Blueprint)」 (または金型)を一度だけ描き、工場はその設計図を使って何千個もの本物のおもちゃを作ります。

プログラミングでも、キャラクターやゲームの要素を作るときに、これと全く同じ効率的な方法を使います。これを 「オブジェクト指向プログラミング(OOP)」 と呼び、「クラス(Classes)」 と 「オブジェクト(Objects)」 を使います!

設計図とおもちゃ(クラスとオブジェクト)#

これが秘密の公式だよ:

  • クラス(Class):設計図(またはクッキーの抜き型)。おもちゃがどんな情報を持つべきか、どんなアクションができるかを定義します。
  • オブジェクト(Object):設計図から作られた本物の おもちゃ(またはクッキー)。
graph TD
    Blueprint["📐 クラス: ToyRobot (設計図)"] -->|作る| Robot1["🤖 robot1 (オブジェクト)<br/>名前='ラスティ'<br/>色='赤'"]
    Blueprint -->|作る| Robot2["🤖 robot2 (オブジェクト)<br/>名前='シャイニー'<br/>色='青'"]

Pythonでロボットの設計図を書こう#

Pythonでは、class というキーワードを使って設計図を宣言します。

おもちゃのロボットの設計図を作ってみましょう:

class ToyRobot:
    # 1. 最初のセットアップ(コンストラクタ)
    def __init__(self, name, color):
        self.name = name
        self.color = color

    # 2. アクション(メソッド)
    def dance(self):
        print(self.name + "(" + self.color + "のロボット)が踊っています! 💃")
python

コードの解説:#

  • __init__:これは特別なセットアップ関数です。ロボットを作るとき、Pythonはすぐにこのコードを実行して、ロボットに名前と色を貼り付けます。
  • self:これは、現在セットアップ中、またはダンス中の「その特定のロボット自身」を指します。これで、ラスティの名前がシャイニーの名前と混ざらないように区別できるんだ!

本物のロボットを組み立てよう(オブジェクトの作成)#

設計図ができたので、工場のラインを動かしましょう! クラスの名前を関数のように呼び出し、名前と色のパラメータを渡すことでオブジェクトを作成します:

robot1 = ToyRobot("ラスティ", "赤")
robot2 = ToyRobot("シャイニー", "青")

# ロボットにアクションをさせよう!
robot1.dance()  # ラスティ(赤のロボット)が踊っています! 💃
robot2.dance()  # シャイニー(青のロボット)が踊っています! 💃
python

自分でやってみよう! 🎮#

Pythonの画面を開いて、おもちゃのロボットにレーザーシステムを追加してみてね:

  1. ToyRobot クラスの中に、dance の下に新しいアクションを追加します:
def shoot_laser(self):
    print(self.name + "は " + self.color + " のレーザービームを発射した! ⚡")
python
  1. コードを実行し、両方のロボットでそのコマンドを呼び出します:
robot1.shoot_laser()
robot2.shoot_laser()
python

これで オブジェクト指向プログラミング の基本をマスターしたよ! プレイヤー、アイテム、マップ、敵などの複雑なゲーム設計図を作り、必要なときにいつでも本物を作れるようになりました。さあ、自分だけのゲームの世界を設計しに出発しよう! 🚀🌍

参照#