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

Beshoy Ehab3

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

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

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

أجوبة بواسطة Beshoy Ehab3

  1. بتاريخ 23 ساعات قال شرف الدين2:

    يمكنك القيام بذلك من خلال مكتبة bcrypt

    import bcrypt

    بعدها نقم بتوليد الsalt وهو عبارة عن نص عشوائى يتم اضافته للشيفرة حتى لا يمكن توقعها

    salt = bcrypt.gensalt()

    بعدها نحصل على الhash

    hashed = bcrypt.hashpw(passwd, salt)

    يظهر لي دائمآ خطأ

    • أعجبني 1
  2. بتاريخ 3 ساعات قال شرف الدين2:

    عادةً كلمات السر فى قاعدة البيانات لا يحدث لها عملية تشفير وإنما يحدث عليها عملية Hashing

    ويوجد فرق بين التشفير وبين الhashing , فإان التشفير هو طريقة لتحويل النص الى نص اخر لا معنى له ويكن عادةً هناك ما يسمى بمفتاح التشفير اللذي يمكنك من تحويل الشيفرة الى الكلمة الاصلية مرة اخرى

    وانما الHashing هو عبارةة عن دالة احادية الإتجاه, اى إن دالة الHashing تقم بأخذ النص الأصلي وتحويله الى نص اخر , ولكن لا يوجد مفتاح ليقم بإرجاع الشيفرة الى النص الاصلي, وهذا هو ما يحدث للكلمات السرية في قواعد البيانات من اجل ضمان امن البيانات فإذا حدث اختراق في قاعدة البيانات لا يستطيع المخترق معرفة مفتاح التشفير ويحصل على جميع المعلومات, فإنه لا يوجد في الأساس مفتاح تشفير وبالتالي لا يكون المخترق قادرً على اختراق البيانات

    وتتم عملية الHashing عادة بإستخدام دالة تسمى B-crypt وهي من أشهر دوال الhashing

    كيف اقوم بنفس العمليه في بايثون و ممكن شرح اكثر

  3. شكرا لك لكن هناك سؤال آخر لماذا عند استعمال الامر 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")

  4. بتاريخ 19 ساعات قال سامح أشرف:
    بتاريخ On 26‏/8‏/2021 at 00:41 قال Beshoy Ehab Hafez:

    يريد أن يرسم خط أحمر و خط ازرق و في تقاطعهما ينشأ اللون البنفسجي

    يمكنك أن تتحكم في الشفافية الخاصة بلون أي خط من خلال تمرير قيمة 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))

    يقوم الكود السابق بعمل خطين أحدهما أحمر والثاني أزرق وعندما يتلاقى الخطين (في أعلى اليسار) ستجد مربع لونه بنفسجي، كما في الصورة:

    6127e0516176e_Screenshot2021-08-26204118.thumb.png.5d871238aeb68d22f7b67a0a1550e416.png

    أو يمكنك أن تستعمل التابع 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))

    الأمثلة السابقة للتوضيح وبالتأكيد سوف تحتاج إلى حلقة لكي لا تغلق النافذة تلقائيًا.

    اذا اردت ان افعل نفس الشئ بالنسبه لدائرة او مثلث ماذا أفعل؟ 

    • أعجبني 1
  5. السؤال الأول:

    كيف اقوم برسم خطوط شبه شفافه مثال:

    شخص يريد أن يرسم خط أحمر و خط ازرق و في تقاطعهما ينشأ اللون البنفسجي

    السؤال الثاني:

    هل يمكن عمل تطبيق اندرويد بمكتبة Pygame؟ 

    السؤال الثالث:

    هل هناك مكتبة تساعد في كتابة اللغه العربيه في مكتبة Pygame

    • أعجبني 1
  6. بتاريخ 16 ساعات قال Ali Haidar Ahmad:

    يمكنك استخدام مكتبة Vpython لكن أولاً قم بتثبيتها:

    
    pip install vpython

    حيث تمكنك هذه المكتبة من رسم أشكال ومجسمات ثلاثية الأبعاد وهي ثرية بالعديد من أنواع المجسمات مثل sphere, box, cylinder, ring, helix, curve, arrow, cone, text, pyramid وغيرها من shapes و paths.. لذا يمكنك الذهاب لتوثيق المكتبة وتعلم تصميم الأشكال منها وهي ليست صعبة أبداً وسلسلة.. أمثلة:
    حلقة:

    
    from vpython import *
    ring(pos=vector(1,1,1),axis=vector(0,1,0),radius=0.5,thickness=0.1)

    هرم:

    
    pyramid (pos=vector(5,2,0),size=vector(12,6,4),color=color.blue)

    جسم كروي:

    
    sphere (pos=vector(1,2,1),radius=0.5,color=color.blue)

    وهكذا..

    ملاحظة: الرسم 3D يتطلب GPU قوية جداً.

    هل توجد مكتبة أخرى؟ 

    • أعجبني 1
  7. لماذا في هذا الكود الزرين 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()

     

  8. بتاريخ الآن قال Wael Aljamal:

    يمكنك قراءة توثيق هذه الدالة، ومنه تعرف رمز كل مفتاح في لوحة المفاتيح

    التوثيق: pygame.org/docs/ref/key

    مثال للأحرف:

    
    K_a           a       a
    K_b           b       b
    K_c           c       c
    K_d           d       d
    K_e           e       e
    K_f           f       f
    K_g           g       g
    K_h           h       h
    K_i           i       i
    K_j           j       j
    K_k           k       k
    K_l           l       l
    K_m           m       m
    K_n           n       n
    K_o           o       o
    K_p           p       p
    K_q           q       q
    K_r           r       r
    K_s           s       s
    K_t           t       t
    K_u           u       u
    K_v           v       v
    K_w           w       w
    K_x           x       x
    K_y           y       y
    K_z           z       z

    وغيرهم لكل مفتاح.

    أنا أقصد عندما أضغط عليهم لا يحدث شئ لماذا

×
×
  • أضف...