πŸ”₯ Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚ Π½Π° Python: шаг Π·Π° шагом руководство!

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой Minecraft Π½Π° Python?

НаписаниС своСй собствСнной вСрсии Minecraft Π½Π° Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ! Π’ΠΎΡ‚ нСсколько шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ.

  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Pyglet:
  2.   
      import pyglet
    
      window = pyglet.window.Window()
    
      @window.event
      def on_draw():
          # Код отрисовки
    
      pyglet.app.run()
      
      

    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° pyglet ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ отрисовка ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°.

  3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€:
  4.   
      class World:
          def __init__(self):
              # Код ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΈΡ€Π°
    
          def update(self, dt):
              # Код обновлСния ΠΌΠΈΡ€Π°
    
          def draw(self):
              # Код отрисовки ΠΌΠΈΡ€Π°
    
      world = World()
    
      @window.event
      def on_draw():
          window.clear()
          world.draw()
    
      pyglet.clock.schedule_interval(world.update, 1/60)
      pyglet.app.run()
      
      

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ класс World, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всю Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ отрисовку.

  5. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹:
  6.   
      class Block:
          def __init__(self, x, y, z):
              # Код ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠ°
    
          def draw(self):
              # Код отрисовки Π±Π»ΠΎΠΊΠ°
    
      blocks = []
      for x in range(10):
          for y in range(10):
              for z in range(10):
                  blocks.append(Block(x, y, z))
    
      class World:
          def __init__(self):
              self.blocks = blocks
    
          # ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ΄ класса World
    
      # ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
      
      

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс Block, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π±Π»ΠΎΠΊ Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΌΠΈΡ€Π΅. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ экзСмпляры Π±Π»ΠΎΠΊΠΎΠ² ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΈΡ… Π² список Π±Π»ΠΎΠΊΠΎΠ² ΠΌΠΈΡ€Π°.

  7. Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ:
  8.   
      class Player:
          def __init__(self, x, y, z):
              # Код ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ³Ρ€ΠΎΠΊΠ°
    
          def draw(self):
              # Код отрисовки ΠΈΠ³Ρ€ΠΎΠΊΠ°
    
          def move(self, dx, dy, dz):
              # Код пСрСмСщСния ΠΈΠ³Ρ€ΠΎΠΊΠ°
    
      player = Player(0, 0, 0)
    
      @window.event
      def on_key_press(key, modifiers):
          if key == pyglet.window.key.W:
              player.move(0, 0, -1)
          # Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… клавиш
    
      @window.event
      def on_draw():
          window.clear()
          world.draw()
          player.draw()
    
      # ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
      
      

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ класс Player для управлСния ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ для пСрСмСщСния ΠΈΠ³Ρ€ΠΎΠΊΠ°.

НаписаниС своСго собствСнного Minecraft Π½Π° Python - это слоТная Π·Π°Π΄Π°Ρ‡Π°, Π½ΠΎ постСпСнно Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΊΠ°ΠΊ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π£Π΄Π°Ρ‡ΠΈ Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅!

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚ Π½Π° Python

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой собствСнный ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚ с использованиСм языка программирования Python.

Π¨Π°Π³ 1: Установка зависимостСй

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ написанию ΠΊΠΎΠ΄Π° ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚Π°, Π½Π°ΠΌ понадобится ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ нСсколько зависимостСй. Одной ΠΈΠ· основных зависимостСй являСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Pyglet, которая позволяСт Π½Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ. Для установки Pyglet Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:


        pip install pyglet
    

Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Pyglet. Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² ваш Ρ„Π°ΠΉΠ» Python:


        import pyglet
    
        window = pyglet.window.Window(width=800, height=600)
    
        @window.event
        def on_draw():
            window.clear()
    
        pyglet.app.run()
    

Когда Π²Ρ‹ запуститС этот ΠΊΠΎΠ΄, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ пустоС ΠΎΠΊΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 800 Π½Π° 600 пиксСлСй. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ on_draw(), которая вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ. Π’Π½ΡƒΡ‚Ρ€ΠΈ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ clear() для очистки ΠΎΠΊΠ½Π° ΠΏΠ΅Ρ€Π΅Π΄ отрисовкой.

Π¨Π°Π³ 3: ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€. Для этого Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ класс World, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΌΠΈΡ€Π΅ ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚Π° ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° экранС:


        class World:
            def __init__(self, width, height):
                self.width = width
                self.height = height
        
            def draw(self):
                # ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°
    
        world = World(20, 20)
    
        @window.event
        def on_draw():
            window.clear()
            world.draw()
    
        pyglet.app.run()
    

ΠœΡ‹ создали ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса World с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ ΠΈ высотой. Ѐункция draw() Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€ Π½Π° экранС.

Π¨Π°Π³ 4: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΊΠ°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠ³Ρ€ΠΎΠΊΠ°. Для этого Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ класс Player, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π² нашСм ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚Π΅:


        class Player:
            def __init__(self, x, y):
                self.x = x
                self.y = y
        
            def draw(self):
                # ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΊΠ°
    
        player = Player(10, 10)
    
        @window.event
        def on_draw():
            window.clear()
            world.draw()
            player.draw()
    
        pyglet.app.run()
    

ΠœΡ‹ создали ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Player с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ x ΠΈ y. Ѐункция draw() Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π½Π° экранС.

Π¨Π°Π³ 5: ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… событий

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ³Ρ€ΠΎΠΊ ΠΌΠΎΠ³ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ пСрсонаТСм Π² нашСм ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚Π΅, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ события. Для этого Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


        @window.event
        def on_key_press(key, modifiers):
            if key == pyglet.window.key.LEFT:
                player.x -= 1
            elif key == pyglet.window.key.RIGHT:
                player.x += 1
            elif key == pyglet.window.key.UP:
                player.y += 1
            elif key == pyglet.window.key.DOWN:
                player.y -= 1
    
        @window.event
        def on_draw():
            window.clear()
            world.draw()
            player.draw()
    
        pyglet.app.run()
    

Π’ этом ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ on_key_press(), которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ. Π’ зависимости ΠΎΡ‚ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши ΠΌΡ‹ измСняСм ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΈΠ³Ρ€ΠΎΠΊΠ°.

Π¨Π°Π³ 6: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€

НаконСц, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚ выглядСл ΠΊΠ°ΠΊ настоящий, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π±Π»ΠΎΠΊΠΈ Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€. Для этого Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


        class Block:
            def __init__(self, x, y):
                self.x = x
                self.y = y
        
            def draw(self):
                # ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ°
    
        blocks = []
        for i in range(10):
            block = Block(i, 0)
            blocks.append(block)
    
        @window.event
        def on_draw():
            window.clear()
            world.draw()
            player.draw()
            for block in blocks:
                block.draw()
    
        pyglet.app.run()
    

ΠœΡ‹ создали класс Block, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт Π±Π»ΠΎΠΊ Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΌΠΈΡ€Π΅. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создали нСсколько Π±Π»ΠΎΠΊΠΎΠ² ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈΡ… Π² список blocks. Π’ Ρ†ΠΈΠΊΠ»Π΅ for ΠΌΡ‹ отрисовываСм ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π½Π° экранС.

Π¨Π°Π³ 7: Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Π’Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ создали свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚Π° с использованиСм Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pyglet. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ свою Π²Π΅Ρ€ΡΠΈΡŽ ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚Π°, добавляя Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈ.

НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚ Π½Π° Python. Π£Π΄Π°Ρ‡ΠΈ Π² вашСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свой Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€ Minecraft Π½Π° Python? | MinecraftLauncherLib + PyQt5

Π‘ΠžΠ—Π”ΠΠ› ΠœΠΠ™ΠΠšΠ ΠΠ€Π’ НА PYTHON!

Π‘ΠžΠ—Π”ΠΠ› ΠœΠΠ™ΠΠšΠ ΠΠ€Π’ НА PYTHON! | #2

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”’ Как пСрСвСсти Π² Ρ‚Ρ€ΠΎΠΈΡ‡Π½ΡƒΡŽ систСму счислСния Python? 🐍

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² Python ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅? πŸ€”πŸ

πŸ”½ Как ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠŸΠΈΡ‚ΠΎΠ½ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€? βš™οΈ

πŸ”₯ Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚ Π½Π° Python: шаг Π·Π° шагом руководство!

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Python ΠΈΠ· GitHub: пошаговая инструкция с простыми совСтами πŸ”§

πŸ”’ Как ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ массив с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π² Python? ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”‘ Как Π·Π°Π΄Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² Python? ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ