اذهب إلى المحتوى

Beshoy Ehab3

الأعضاء
  • المساهمات

    47
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Beshoy Ehab3

  1. كيف استخدم مكتبة virtualenv من الهاتف
  2. ما الفرق بين الأمرين التاليين pygame.display.update() و pygame.display.flip()
  3. كيف اقوم بنفس العمليه في بايثون و ممكن شرح اكثر
  4. شكرا لك لكن هناك سؤال آخر لماذا عند استعمال الامر collidepoint في الدائره و المثلث يعتبرهما مثل المربع مثال: import pygame pygame.init() screen = pygame.display.set_mode((600, 600)) c = pygame.draw.circle(screen, (255, 0, 0), (100, 100), 100) if c.collidepoint((1, 1)): print("yes")
  5. يمكنك أن تتحكم في الشفافية الخاصة بلون أي خط من خلال تمرير قيمة Alpha كعنصر ثالث عند كتابة لون الخط، كالتالي: import pygame pygame.init() # تحديد خصائص النافذة size = [600, 600] screen = pygame.display.set_mode(size) screen.fill((255, 255, 255)) vertical_line = pygame.Surface((100, 600), pygame.SRCALPHA) vertical_line.fill((0, 0, 255, 50)) # يمكنك أن تقوم بتغير رقم 50 إلى أي رقم بين 0 و 255 screen.blit(vertical_line, (0, 0)) horizontal_line = pygame.Surface((600, 100), pygame.SRCALPHA) horizontal_line.fill((255, 0, 0, 50)) # يمكنك أن تقوم بتغير رقم 50 إلى أي رقم بين 0 و 255 screen.blit(horizontal_line, (0, 0)) يقوم الكود السابق بعمل خطين أحدهما أحمر والثاني أزرق وعندما يتلاقى الخطين (في أعلى اليسار) ستجد مربع لونه بنفسجي، كما في الصورة: أو يمكنك أن تستعمل التابع set_alpha أيضًا للحصول على نفس النتيجة كالتالي: vertical_line = pygame.Surface((100, 600), pygame.SRCALPHA) vertical_line.set_alpha(50) # يمكنك أن تقوم بتغير رقم 50 إلى أي رقم بين 0 و 255 vertical_line.fill((0, 0, 255)) screen.blit(vertical_line, (0, 0)) horizontal_line = pygame.Surface((600, 100), pygame.SRCALPHA) horizontal_line.set_alpha(50) # يمكنك أن تقوم بتغير رقم 50 إلى أي رقم بين 0 و 255 horizontal_line.fill((255, 0, 0)) screen.blit(horizontal_line, (0, 0)) الأمثلة السابقة للتوضيح وبالتأكيد سوف تحتاج إلى حلقة لكي لا تغلق النافذة تلقائيًا. اذا اردت ان افعل نفس الشئ بالنسبه لدائرة او مثلث ماذا أفعل؟
  6. السؤال الأول: كيف اقوم برسم خطوط شبه شفافه مثال: شخص يريد أن يرسم خط أحمر و خط ازرق و في تقاطعهما ينشأ اللون البنفسجي السؤال الثاني: هل يمكن عمل تطبيق اندرويد بمكتبة Pygame؟ السؤال الثالث: هل هناك مكتبة تساعد في كتابة اللغه العربيه في مكتبة Pygame
  7. كيف اقرأ اكواد المكتبات في بايثون
  8. لماذا في هذا الكود الزرين w و s لا يعملان و اذا كان عندك أي ملحوظه لتحسين الكود قلها لي import pygame from random import randint pygame.init() clock = pygame.time.Clock() WHITE = (255, 255, 255) BLACK = (0, 0, 0) GREEN = (0, 185, 0) BLUE = (0, 0, 255) RED = (255, 0, 0) screenWidth = 700 screenHeight = 500 screen = pygame.display.set_mode((screenWidth, screenHeight)) pygame.display.set_caption("Ping Pong") score1 = 0 score2 = 0 dir = 1 class Madrab: def __init__(self, x, y, width, height, color, step): self.x = x self.y = y self.start_y = y self.start_x = x self.width = width self.height = height self.color = color self.step = step self.hitbox = (self.x, self.y, self.width, self.height) def draw(self, screen): pygame.draw.rect(screen, self.color,(self.x, self.y, self.width, self.height)) self.hitbox = (self.x, self.y, self.width, self.height) #pygame.draw.rect(screen, BLACK, self.hitbox, 1) class Ball: def __init__(self, x, y, radius, color, stepx, stepy): self.x = x self.y = y self.start_x = x self.start_y = y self.stepy = stepy self.stepx = stepx self.radius = radius self.color = color def draw(self, screen): pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) score = pygame.font.SysFont("Arial", 50) ball = Ball(screenWidth // 2, screenHeight // 2, 10, BLACK, 3, 3) m1 = Madrab(60, 200, 20, 100, RED, 7) m2 = Madrab(620, 200, 20, 100, BLUE, 7) bg = Madrab(0, 0, screenWidth, screenHeight, WHITE, 0) goul = 20 def redraw(): text1 = score.render(f"P1 = {score1}", True, GREEN) text2 = score.render(f"P2 = {score2}", True, GREEN) bg.draw(screen) screen.blit(text1, (80, 20)) screen.blit(text2, (480, 20)) m1.draw(screen) m2.draw(screen) ball.draw(screen) pygame.display.update() on = True while on: clock.tick(30) keys = pygame.key.get_pressed() if keys[pygame.K_DOWN]: if m2.y + 100 + m2.step < screenHeight: m2.y += m2.step elif keys[pygame.K_UP]: if m2.y - m2.step > 0: m2.y -= m2.step if pygame.key.get_pressed()[pygame.K_w]: print("w") if m1.y - m1.step > 0: m1.y -= m1.step elif pygame.key.get_pressed()[pygame.K_s]: print("s") if m1.y + 100 + m1.step < screenHeight: m1.y += m1.step if 60 < ball.x - ball.radius < 80: if m1.y <= ball.y - ball.radius <= (m1.y + 99): ball.x = 95 ball.stepx *= -1 dir *= -1 elif m1.y - 3 <= ball.y - ball.radius <= m2.y + 2: ball.x -= 5 ball.stepy *= -1 elif m1.y + 98 <= ball.y - ball.radius <= m2.y + 103: ball.x -= 5 ball.stepy *= -1 if 620 < ball.x + ball.radius < 640: if m2.y + 1 <= ball.y + ball.radius <= m2.y + 99: ball.x = 605 ball.stepx *= -1 dir *= -1 elif m2.y - 3 <= ball.y + ball.radius <= m2.y + 2: ball.x += 5 ball.stepy *= -1 elif m2.y + 100 <= ball.y + ball.radius <= m2.y + 105: ball.x += 5 ball.stepy *= -1 if ball.stepy > 0: if ball.y < screenHeight - ball.radius: ball.y += ball.stepy else: ball.y -= 10 ball.stepy *= -1 elif ball.stepy < 0: if ball.radius < ball.y < screenHeight - ball.radius: ball.y += ball.stepy else: ball.y += 10 ball.stepy *= -1 if ball.radius < ball.x < screenWidth - ball.radius: ball.x += ball.stepx elif ball.x > screenWidth - (ball.radius * 1.5): ball.x = ball.start_x ball.y = ball.start_y dir *= -1 score1 += 1 ball.stepy = randint(2, 7) ball.stepx = randint(2, 7) * dir elif ball.x < 0 + (ball.radius * 1.5): ball.x = ball.start_x ball.y = ball.start_y dir *= -1 score2 += 1 ball.stepy = randint(2, 7) ball.stepx = randint(2, 7) * dir redraw()
  9. لماذا لا تعمل pygame.key.get_pressed مع مفاتيح غير مفاتيح التحريك مثل مفتاح w او مفتاح s
×
×
  • أضف...