-
المساهمات
47 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
أجوبة بواسطة Beshoy Ehab3
-
-
بتاريخ 18 ساعات قال Wael Aljamal:
هل تأكدت من تثبيت المكتبة؟ ربما هي غير متوفرة في حاسوبك، ثبتها بالأمر:
pip install bcrypt
رابط المكتبة: bcrypt
أنا أعمل من هاتف لان ليس لدي حاسوب
-
بتاريخ 23 ساعات قال شرف الدين2:
يمكنك القيام بذلك من خلال مكتبة bcrypt
import bcrypt
بعدها نقم بتوليد الsalt وهو عبارة عن نص عشوائى يتم اضافته للشيفرة حتى لا يمكن توقعها
salt = bcrypt.gensalt()
بعدها نحصل على الhash
hashed = bcrypt.hashpw(passwd, salt)
يظهر لي دائمآ خطأ
- 1
-
ما الفرق بين الأمرين التاليين
pygame.display.update()
و
pygame.display.flip()
- 1
-
بتاريخ 3 ساعات قال شرف الدين2:
عادةً كلمات السر فى قاعدة البيانات لا يحدث لها عملية تشفير وإنما يحدث عليها عملية Hashing
ويوجد فرق بين التشفير وبين الhashing , فإان التشفير هو طريقة لتحويل النص الى نص اخر لا معنى له ويكن عادةً هناك ما يسمى بمفتاح التشفير اللذي يمكنك من تحويل الشيفرة الى الكلمة الاصلية مرة اخرى
وانما الHashing هو عبارةة عن دالة احادية الإتجاه, اى إن دالة الHashing تقم بأخذ النص الأصلي وتحويله الى نص اخر , ولكن لا يوجد مفتاح ليقم بإرجاع الشيفرة الى النص الاصلي, وهذا هو ما يحدث للكلمات السرية في قواعد البيانات من اجل ضمان امن البيانات فإذا حدث اختراق في قاعدة البيانات لا يستطيع المخترق معرفة مفتاح التشفير ويحصل على جميع المعلومات, فإنه لا يوجد في الأساس مفتاح تشفير وبالتالي لا يكون المخترق قادرً على اختراق البيانات
وتتم عملية الHashing عادة بإستخدام دالة تسمى B-crypt وهي من أشهر دوال الhashing
كيف اقوم بنفس العمليه في بايثون و ممكن شرح اكثر
-
شكرا لك لكن هناك سؤال آخر لماذا عند استعمال الامر 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")
-
بتاريخ 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))
يقوم الكود السابق بعمل خطين أحدهما أحمر والثاني أزرق وعندما يتلاقى الخطين (في أعلى اليسار) ستجد مربع لونه بنفسجي، كما في الصورة:
أو يمكنك أن تستعمل التابع 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
-
السؤال الأول:
كيف اقوم برسم خطوط شبه شفافه مثال:
شخص يريد أن يرسم خط أحمر و خط ازرق و في تقاطعهما ينشأ اللون البنفسجي
السؤال الثاني:
هل يمكن عمل تطبيق اندرويد بمكتبة Pygame؟
السؤال الثالث:
هل هناك مكتبة تساعد في كتابة اللغه العربيه في مكتبة Pygame
- 1
-
كيف اقرأ اكواد المكتبات في بايثون
- 1
-
بتاريخ 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
-
كيف ارسم شكل ثلاثي الابعاد
-
كيف اجعل المربع يدور حول نفسه
-
لماذا في هذا الكود الزرين 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()
-
بتاريخ 1 دقيقة مضت قال Wael Aljamal:
التوثيق غني بالأمثلة، حاول تطبيق الدالة في مشروعك وإن حدث أخطاء سنحاول مساعدتك
شكرا لك
- 1
-
بتاريخ الآن قال Wael Aljamal:
هذا يتوقف على كيفية معالجتك لحدث النقر على المفتاح
هل يمكنك كتابة كود توضيحي يمكنني منه استخدام تلك الحروف
-
بتاريخ الآن قال 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
وغيرهم لكل مفتاح.
أنا أقصد عندما أضغط عليهم لا يحدث شئ لماذا
-
لماذا لا تعمل pygame.key.get_pressed مع مفاتيح غير مفاتيح التحريك مثل مفتاح w او مفتاح s
- 1
Pydroid
في أسئلة البرمجة
نشر
كيف استخدم مكتبة virtualenv من الهاتف