Menu
CoddyTech
flag Ar iconالعربيةdown icon

ابقَ على الشاشة

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

استمر في الضغط على اليمين مدة كافية، وسيخرج المربع من النافذة. لإبقائه داخلها، قيّد x وy بعد تحريكهما.

تعطي min(a, b) العدد الأصغر، وتعطي max(a, b) العدد الأكبر. ويُستخدمان معًا لإبقاء عدد بين حدّين:

x = max(0, min(x, 480 - 40))

تمنع min(x, 440) قيمة x من تجاوز 440، وتمنع max(0, ...) قيمتها من النزول عن 0. لماذا 440 وليس 480؟ تمثل x الجانب الأيسر من المربع، لذا يقع الجانب الأيمن عند x + 40. عند 440 يلامس الجانب الأيمن حافة النافذة.

وينطبق الأمر نفسه على y، مع ارتفاع النافذة.

challenge icon

التحدي

سهل

بعد فحوصات الأسهم الأربعة وقبل التعبئة، أبقِ المربع داخل النافذة ذات الأبعاد 480 في 360: اجعل قيمة x بين 0 و440، وقيمة y بين 0 و320.

جرّب بنفسك

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

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

    keys = pygame.key.get_pressed()
    speed = 4
    if keys[pygame.K_SPACE]:
        speed = 8
    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()
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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

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