Menu
CoddyTech

اركض بسرعة

الدرس 6 من 41 في دورة اصنع ألعابًا باستخدام Pygame على Coddy.

يمكن أن يتغير المتغير في كل إطار، اعتمادًا على ما يفعله اللاعب. هنا تعتمد السرعة على ما إذا كان مفتاح المسافة مضغوطًا.

keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
    speed = 8

يبدأ كل إطار بالسرعة العادية، 4. لا يرفع السرعة إلى 8 إلا الإطار الذي يكون فيه مفتاح المسافة مضغوطًا. اترك مفتاح المسافة، وستعود السرعة إلى 4 في الإطار التالي.

عيّن القيمة العادية أولًا، ثم القيمة الخاصة بعدها. إذا عكست الترتيب، فستكون للسطر الثاني الغلبة دائمًا، ولن يفعل مفتاح المسافة شيئًا.

challenge icon

التحدي

سهل

اجعل اللاعب يركض بسرعة عندما يكون مفتاح المسافة مضغوطًا.

  1. أزل speed = 4 من الموضع الذي يسبق الحلقة.
  2. في الحلقة، مباشرةً بعد keys = pygame.key.get_pressed()، عيّن speed = 4، ثم عيّنه إلى 8 إذا كان مفتاح المسافة مضغوطًا.

اضغط على «العب» وأبقِ مفتاح المسافة مضغوطًا مع أحد مفاتيح الأسهم: سيتحرك المربع بسرعة مضاعفة. ثم اضغط على «تحقق».

جرّب بنفسك

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()

x, y = 220, 160
speed = 4

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

جميع دروس اصنع ألعابًا باستخدام Pygame

تدرّب بنفسك: Playground لـ Pygame