نصيحه يا اخواني انكم تشوفو الشرح كله بعدين تشوفو الفديو ده عشان انا دلوقتي دخلت اشوفه بعد الدرس بتاع while loops ومكنتش اعرف يعني ايه مكتبات وازاي بتستخدم
ما شاء الله تبارك الله، الله يبارك لك يا رب، أفضل كورس برمجة رأيته، من ناحية الشرح المبسط جدا والمتدرج وتوقع أخطاء المبتدئين ودمجها في الشرح بطريقة مذهلة، ووضع تدريبات متدرجة ثم وضع الحلول لها لتقارنها مع حلك، يجعلك تتحسن في البرمجة بدون أن تفقد أعصابك، بل على العكس ستستمتع بالبرمجة وأنت تتعلم؛ حقيقةً المدرب وأستاذي إسلام أبدع في هذا الكورس إبداعا ليس له مثيل. جزاك الله خيرا أستاذي الغالي وجعل ذلك في موازين حسناتك وزادكم علما ورزقكم من واسع فضله وعظيم كرمه آمين.
@@channel_deep لازم يكون عندك مهارة التعلم لوحدك لو عايز تكمل في المجال دة اي حاجة مش فاهمها من الفيديو دور على النت هتلاقي ناس شارحة مع انه شارح بس محتاج منك فهم اكتر و تدوير و ربنا معاك
كل الخطوات الي كلتهن طبقتهن حرف حرف وعدت عليه اكثر من مره لكن مشكلتي من ادوس run الشكل ميطلع بس علامه الباي يعني اكثر من شكل حطيت وما طلع باقي الخطوات كلهن صح بس ليش مدي يطلع الشكل مادري اتمنى من الي يعرف يكلي لان حرفيا صارلي ساعتين ابحث وما عرفت🥲
Problem of SNAKE: الذي ودجد أَن الثعبان لم يظهر ، فيذهب الى Window.addch(snake[0][0], snake[0][1], curses.ACS_CKBOARD) و يضعها داخد ال WHILE TRUE الذي في البداية.
شرح ممتاز جدا + انك مبدع و بتبسط الحاجه . .♥👏🏻 بس للاسف ظهرت لي مشكله ان الثعبان مش ظاهر علي console اعمل ايه يا كبير مستني ردك . .😇👍🏻 و يريت تكتبلي طريقه اتواصل بها معاك عشان انا مبتدأ و هيظهرلي اخطاء كثير في المستقبل ممكن ..؟
االسلام عليكم ، مشكور كثير على الفيديو و أحسن قناة تعلمية و شرح قمة في الروعة و البساطة كأنك تقرأ الأسئلة لي فعقلي، بس الله إسلمك الثعبان مظهرمعي، كل شيء صحيح ماعندي خطاء فأي سطر، دققة، بحث، ماعرفت له مظهر معي، متبعك من المغرب أحسن codezilla
درس جميل و مفيد كالعادة بهدف زيادة الخبرة و اكتساب المهارات: في السطر 48 ذكر الأخ إسلام طريقتين لكتابة الشرط التالي: key = key if next_key == -1 else nex_key من يستطيع أن يكتبه بطريقة ثالثة؟ أيضاً في السطر 60 قام الأستاذ بتعيين إحداثيات الرأس الجديد كالتالي: new_head = [snake[0][0], snake[0][1]] ماذا سيحدث لو تم تعيين هذه القيمة بهذا الشكل؟ new_head = snake[0] ستلاحظ أن الرأس الجديد سيحمل نفس القيمة كما في السابق و لكن هل سيعمل البرنامج كما هو متوقع منه 🤔؟
1/ the rong is after else enter next key not key like: key = key if next key == -1 else key = next key ,or, key = key if next key == -1 else next key 2/لم يكتبsnake[0] لانه بعد ذلك احتاج للاحداثيات بشكل مضبوط اي الy and x
@@chz2971 بالنسبة للسؤال الأول معك حق أخطأت بالكتابة و صححتها (شكراً لك) ولكن يبقى السؤال قائماً و جوابي ببساطة هو key = (next_key, key)[next_key == -1] الفكرة هنا أنه قمنا بإنشاء توبل حيث القيمة الأولى فيها هي القيمة عند فشل الإختبار و الثانية عند تحقق الإختبار بعد ذلك نضع الإختبار ضمن الأقواس المربعة سينتج عن الإختبار قيمة منطقية هذه القيمة سيتم التعامل معها على أنا صفر أو واحد و بالتالي سيتم تعيين القيمة في الموضع صفر في حال فشل الإختبار و القيمة في الموضع الأول في حال تحققه بالنسبة للسؤال الثاتي لم أفهم ما تقصد و لكن على كل حال المشكلة تكمن في أنه إذا أخذنا إحداثيات الرأس الجديد كالتالي new_head = snake[0] فعند ذلك سيكون الرأس الجديد معينا بشكل مرجعي أي إلى موقع القيمة في الذاكرة و ليس إلى القيمة نفسها سينتج عن ذلك تعديل القيمة الأصلية عند تغيير إحداثيات الرأس الجديد و بالتالي لن يتم مسح الذيل بشكل صحيح حين أن احداثياته قد تغيرت شكراً مرة ثانية على الرد
جزالك الله خيراً شرح رائع بس عندي سؤال أنا حابب أدخل بمجال الذكاء الإصطناعي وماشي عالخطة يلي شرحها الإستاذ علي شاهين هو لما شرح عن الخطة قال اساسيات برمجة البايثون كافية مبدأيا سلسة تعلم البايثون الموجودة عاليوتيوب كافية ولا لازم اتعمق قبل ما انتقل لغير مراحل
ماشالله شرحك ممتاز بس انا كنت عايز اسأل ازاي احط شكل على الثعبان و هو بتحرك و كمان ازاي اخليه بخترق الحيت و يرجع من الانتاه الثاني نفسي اعرف ازاي و بس❤
بصراحه انا شايف من الكومنتات ان الفيديو ما هوا الا شووو اعلامي للكورس الخاص بحضرتك . حتي ردك علي التعليقات بيثبت دا . جزاك الله خيرآ يااخي .. ابراهيم عادل فعلآ .. بتاع الغلابه
الله يعطيك الف عافيه اريد انوه عن الأساسيات انا جربت اسوي اللعبة معك بس طلعت لي اخطاء كتير و سحبت على المشروع و راجعت الأساسيات اكثر و رجعت الحين للمشروع و الحمد لله اشتغل 💯 🫡
ياصديق حتى مش انت لصاوبت البرنامج اترك القليل من المنطقية في كتابة الكودات لاتداخل الاشياء انا كمبتدئ وجدت صعوبة في فهمك متلا اعمل على شاشة وحدها من بعدها التعبان وتحركاته من بعد الاكل وتحركاته من بعد الاحتمالات الممكنة حتى المشاهد يستوعب انت اين تريد ان تصل به ,وعاش يابطل على المجهود ❤
انا تابعت الفيديو خطوة بخطوة وطبقت كتابة الكود وراجعت معاك تاني لما راجعت عليهم ف اخر الفيديو بس لما بعمل run الكونسول بيبقي فاضي حتى من غير اي ايرور تظهر دايبلي شاشة فاضية
انا شايف ان الأحسن انكم تخلصو لحد درس 30 او لحد درس ال modules لو انتو مستجعلين لأن انا كنت بشوف الفيديو ده قبل الدروس دي و مفهمتش حاجه بس عشان مكذبش فهمت لاكن لو حاولت تيجي تعملها لواحد مره تانيه اكبر مشاكل هتقبلك هي ال methods هتتلخبط فيها و تنساها فا الأفضل انك تتعود اكتر و تتطور مع اللغه و تيجي للدرس ده ده هيحسنك كتير و هتقدر تعنل اي حاجه بعد كده (من وجهة نظري)
في التعليق ١٩ عملنه راس جديد وفي التعليق ٢٠ قلنا لو اكلت لاتحذف الذيل بينما لو مااكلت احذف الذيل ..المحصله ..إضافة راس جديد وعدم حذف الذيل وبالتالي زيادة الطول لو اكلت...ولو مااكلت يضاف الراس ويحذف الذيل عوضا عنه فلا يزداد الطول
شكرا على الشرح الجميل والصراحة انا احتجت ثلاث ايام عشان اخلصها لحالي لأن اول يوم تفرجت على شرحك نظري وثاني يوم طبقت معك ولكن لما شغلت اللعبة واجهتني مشكلة اختفاء الثعبان وثالث يوم راجعت خطواتي واكتشفت اخطائي وحليتها و كل مشكلة انحلت , فشكرا على الشرح الجميل ومجهودك الجبار
@@khaledel-shahedy5433 كانت في ترتيب الكود لان في اكواد المفروض تكون داخل اللوب و اكواد خارج اللوب وترتيبها هو يلي يثبت هذا الشي ولما تمشي بنفس ترتيب الاكواد بالفيديو وخاصة من اخر لوبين لعند نهاية السطر تنحل المشكلة
thanks a lot for the course i faced one problem after i finished the codes i did not get anything like it said it worked but no screen dose anyone know anything about it ? please help
عزيزي اعتقد حضرتك نسيت خطوة رسم الثعبان قبل خطوة رسم الطعام لأن الثعبان لم يظهر وظهر الطعام فقط وانتهت اللعبة بخطأ لذلك اعتقد ان خطوة رسم الثعبان يجب ان تكون بعد تحديد احداثياته الاولية (موقع البداية).. نقطة اخرى اعتقد ان عند تشغيلك للعبة فان الثعبان كان ينمو بعد الاكل ولم اجد خطوات استطالة الثعبان.. ممكن توضيح ذلك ان امكن
انا عملت كل الخطواات دي حرفيا واحده واحده وفي الاخر لما بعمل run علامه ال باي بتظهر في النص ومش بيظهر التعبان ولا اي حاجه ولا بيطلعلي اني عملت حاجه غلط اصلا
كورس تعلم البرمجة للمبتدئين واحتراف بايثون وهندسة البرمجيات:
www.codezilla.courses/introduction-to-programming/?coupon=SNAKEGAME
huge thanks for the effort and time spent 🤍🤍
ممكن اكلم حضرتك على الخاص
باشمهندس اسلام ازاي حضرتك اقدر اتواصل معاك على الخاص بالنسبة للكورس، انا بحاول ومش عارف اوصل لحضرتك
اللى انا مش فاهمه هو مش احنا عملنا add لرأس الثعبان ازاى بطنه و ديله طلعوا و احنا معملناش ليهم add
@@dev_troy8903 لا
نصيحه يا اخواني انكم تشوفو الشرح كله بعدين تشوفو الفديو ده عشان انا دلوقتي دخلت اشوفه بعد الدرس بتاع while loops ومكنتش اعرف يعني ايه مكتبات وازاي بتستخدم
انا مثلك تقريبا بس اتذكر انو ذكر المكاتب في واحدة تبع الmath
where is the explanation pls?
@@Ayoub_19_24in DRAGON BALL SPARKEKING ZERO!)
ياه اخيرااا بعد طول انتظار بالمناسبه انا محمد اللي معاك في الكورس
اخي محمد ابي أسألك هل الدورة رائعة ومفيدة؟ وهل يمكنها من خلالها أن أصبح محترف في البرمجة ؟؟ اعطني رأيك أرجوك
@@mrchkon نعم نصفها مجاني في موقعه ابدء بمجاني رح تحبه ورح تدفع لانك رح تستفيد.
هى مش الحاجات اللى فى الكورس موجوده على النت كلها ؟
@@بسبسنو-د4ن يا اخي توقفوا عن اسالة وقت الذي انت كتبت وتقرأء تعليقي كان وصلت لربع دورته 3ساعات فقد روح شاهده وانت تاكل بيضة مثلا
@@AntiJahl بالظبط ، مفكرين العالم كلها بتكدب عليهم
كنت بدور عليه من فتره ...كويس ان حضرتك نزلته تاني شكرا ليك جداااااااا 😊😊😊شرح مبسط
❤من احسن الكورسات البرمجة الي انا سمعت لها في حياتي ❤
ما شاء الله تبارك الله، الله يبارك لك يا رب، أفضل كورس برمجة رأيته، من ناحية الشرح المبسط جدا والمتدرج وتوقع أخطاء المبتدئين ودمجها في الشرح بطريقة مذهلة، ووضع تدريبات متدرجة ثم وضع الحلول لها لتقارنها مع حلك، يجعلك تتحسن في البرمجة بدون أن تفقد أعصابك، بل على العكس ستستمتع بالبرمجة وأنت تتعلم؛ حقيقةً المدرب وأستاذي إسلام أبدع في هذا الكورس إبداعا ليس له مثيل. جزاك الله خيرا أستاذي الغالي وجعل ذلك في موازين حسناتك وزادكم علما ورزقكم من واسع فضله وعظيم كرمه آمين.
بالفعل بكل سهولة قدرت اتعلم بعض اكواد بايثون واتعلم بعض اساسيات اللغة بفضل الله ثم بفضك جهوده
صح انا تعلمت منه كثير ايضا مميز لمن يريد دخول بعالم برمجة
طب الكورس المدفوع ده بكام
شكرا ياهندسة
ربنا يجعلها في ميزان حسناتك
الك فضل عليي اني تعلمت الاساس على اديك
كيف هل مازلت تنصح به اشتغلت
أحسن قناة أتابعها و تعلمت منها كثيرا 🎉🎉 المرة لي فاتت انشأت برنامج حساب باتباع خطواتك .. تشكر كثير يا كابتن 💪💪💪 ربنا يوفقك لا تبخل علينا بالمزيد ❤❤❤
ربي يحفظك اداب واخلاق وعلم ما شاء الله عليك
ان شاء الله ربي يوفقك وينفع بك هذه الأمة ❤❤❤❤
ربنا يجعله ف ميزان حسانتك ❤❤
ياخي أنا بحبك لله
بس انا تقريباً مافهمتش حاجة من الفديو ده
لكن الفديوهات بتاعة الألة الحاسبة كانت ساهلة جداً
الفديو ده حسسني اني ولاحاجة
اظن مشان تشترك في الكورس
+1
@@channel_deep لازم يكون عندك مهارة التعلم لوحدك لو عايز تكمل في المجال دة اي حاجة مش فاهمها من الفيديو دور على النت هتلاقي ناس شارحة مع انه شارح بس محتاج منك فهم اكتر و تدوير و ربنا معاك
جميل جدا وم حسيت بملل ابدا كان مسلي جدا ومفيد شكرا لتعبك والله يجزيك الخير
السلام عليكم
بحب فيديوهاتك جدا و بتفج عليها اول باول
انت الأفضل 3>
عاشت ايديك , بصراحة استسلمت في نصف ساعة الاول و قررت اتعلم دروس الي بعده
والله يا اسلام انت اسطورة الله يسعدك يرب احسن انسان يشرح بايثون
بقالي شهر مستني اخيرااا و شرحك اسطوريييي
كل الخطوات الي كلتهن طبقتهن حرف حرف وعدت عليه اكثر من مره لكن مشكلتي من ادوس run الشكل ميطلع بس علامه الباي يعني اكثر من شكل حطيت وما طلع باقي الخطوات كلهن صح بس ليش مدي يطلع الشكل مادري اتمنى من الي يعرف يكلي لان حرفيا صارلي ساعتين ابحث وما عرفت🥲
محتاجين كورس Python for Data analysis يا كبير pandas و Numpy وتبقى عملت معانا الصح
@codezilla
Problem of SNAKE:
الذي ودجد أَن الثعبان لم يظهر ، فيذهب الى
Window.addch(snake[0][0], snake[0][1], curses.ACS_CKBOARD)
و يضعها داخد ال WHILE TRUE الذي في البداية.
انا عملت كده بس التعبان مبيتحركش
و انا
احلي حاجة بعد ما كنت خلصت نص البرنامج فصلت الكهرباء 😂
هاذا الكود جاهز بطريقة مشابهة:
import random
import curses
# إنشاء الشاشة وتحديدها
s = curses.initscr()
curses.curs_set(0)
sh, sw = s.getmaxyx()
w = curses.newwin(sh, sw, 0, 0)
w.keypad(1)
w.timeout(100)
# إنشاء موقع الثعبان الأولي
snake_x = sw/4
snake_y = sh/2
# إنشاء جسم الثعبان
snake = [
[snake_y, snake_x],
[snake_y, snake_x-1],
[snake_y, snake_x-2]
]
# إضافة إطعام عشوائي
food = [sh/2, sw/2]
w.addch(int(food[0]), int(food[1]), curses.ACS_PI)
# الاتجاه الأولي
key = curses.KEY_RIGHT
# الحلقة الرئيسية للعبة
while True:
next_key = w.getch()
key = key if next_key == -1 else next_key
# تحديث موقع الثعبان
new_head = [snake[0][0], snake[0][1]]
if key == curses.KEY_DOWN:
new_head[0] += 1
if key == curses.KEY_UP:
new_head[0] -= 1
if key == curses.KEY_LEFT:
new_head[1] -= 1
if key == curses.KEY_RIGHT:
new_head[1] += 1
snake.insert(0, new_head)
# التحقق من تقاطع رأس الثعبان مع الجدران أو جسمه
if snake[0][0] in [0, sh] or snake[0][1] in [0, sw] or snake[0] in snake[1:]:
curses.endwin()
quit()
# إضافة إطعام عشوائي
if snake[0] == food:
food = None
while food is None:
nf = [
random.randint(1, sh-1),
random.randint(1, sw-1)
]
food = nf if nf not in snake else None
w.addch(food[0], food[1], curses.ACS_PI)
else:
tail = snake.pop()
w.addch(int(tail[0]), int(tail[1]), ' ')
# رسم جسم الثعبان
w.addch(int(snake[0][0]), int(snake[0][1]), curses.ACS_CKBOARD)
kdab dnm
اكيد ما هتشتغل@Fadi-l7d
how the snake get taller!
something messing
الشرح تحفة ما شاء الله
حمد علي سلامتك يغالي ❤️
اي رايك تحلنا Psets بتاعت كورس CS50P وتعلمها دمج مع كورس البايثون المجاني اللي انت عملو
هوف على شرح فخامه ماشاء الله 💙
شرح ممتاز جدا + انك مبدع و بتبسط الحاجه . .♥👏🏻
بس للاسف ظهرت لي مشكله ان الثعبان مش ظاهر علي console اعمل ايه يا كبير مستني ردك . .😇👍🏻
و يريت تكتبلي طريقه اتواصل بها معاك عشان انا مبتدأ و هيظهرلي اخطاء كثير في المستقبل ممكن ..؟
ويريت ترد في اسرع وقت
الكود
import random
import curses
screen= curses.initscr()
curses.curs_set(0)
screen_weight,screen_width=screen.getmaxyx()
window =curses.newwin(screen_weight ,screen_width , 0, 0)
window.keypad(1)
window.timeout(125)
snk_x = screen_weight//2
snk_y = screen_width//2
snack = [
[snk_y, snk_x],
[snk_y, snk_x-1],
[snk_y, snk_x-2]
]
food = [screen_weight // 2,screen_width // 2]
window.addch(food[0],food[1],curses.ACS_PI)
key = curses.KEY_RIGHT
while True:
next_key = window.getch()
key = key if next_key == -1 else next_key
if snack[0][0] in [screen_weight,0] or snack[0][1] in [screen_width,0] or snack[0] in snack[1:]:
curses.endwin()
quit()
new_head =[snack[0][0],snack[0][1]]
if key == curses.KEY_DOWN:
new_head[0] +=1
if key == curses.KEY_UP:
new_head[0] -=1
if key == curses.KEY_RIGHT:
new_head[1] +=1
if key == curses.KEY_LEFT:
new_head[1] -=1
snack.insert(0,new_head)
if snack[0] == food:
food =None
while food == None:
new_food = [
random.randint(0,screen_weight-1),
random.randint(0,screen_width-1)
]
food = new_food if new_food in snack else None
window.addch(food[0],food[1],curses.ACS_PI)
else:
tail =snack.pop()
window.addch(tail[0],tail[1]," ")
window.addch(snack[0][0],snack[0][1], curses.ASC_CKBOARD)
@@pluto_egypt.😊
كل التقدير والشكر الك
عنجد من القلب ❤كتير مبسط ورائع
الله و أخيراً
ي سلام عليك يا أستاذ إسلام ، جزاك اللّه خيرا
الله يفتح عليك حبيبنا
بجد شرحك ممتاز انا متابعك من زمان
االسلام عليكم ، مشكور كثير على الفيديو و أحسن قناة تعلمية و شرح قمة في الروعة و البساطة كأنك تقرأ الأسئلة لي فعقلي، بس الله إسلمك الثعبان مظهرمعي، كل شيء صحيح ماعندي خطاء فأي سطر، دققة، بحث، ماعرفت له مظهر معي، متبعك من المغرب أحسن codezilla
نفس المشكلة عملت كل حاجة زي الشرح بالضبط ومافيش حاجة ظهرت
@@mohammedbarokha7488 طب حليت المشكله وله لا
@@andrewsamir2161 هي الحل انو الافعى تظهر انقلها ل بداية اللوب بس هسا المشكلة عندي الاسهم مو شغالة ما بستجيب للاسهم ما بعرف ليش
while True:
next_key = window.getch()
window.addch(snake[0][0], snake[0][1], curses.ACS_CKBOARD)
key = key if next_key == -1 else next_key
if snake[0][0] in [0, screen_height] or snake[0][1] in [0,screen_width] or snake[0] in snake[1:]:
curses.endwin()
quit()
new_head = [snake[0][0], snake[0][1]]
if key == curses.KEY_DOWN:
new_head[0] += 1
if key == curses.KEY_UP:
new_head[0] -= 1
if key == curses.KEY_RIGHT:
new_head[1] += 1
if key == curses.KEY_LEFT:
new_head[1] -= 1
snake.insert(0, new_head)
if snake[0] == food:
food = None
while food is None:
new_food = [
random.randint(1, screen_height - 1),
random.randint(1, screen_width - 1)
]
food = new_food if new_food not in snake else None
window.addch(food[0], food[1], curses.ACS_PI)
else:
tail = snake.pop()
window.addch(tail[0], tail[1], ' ')
@@the_phoenixgطب يرجاله كتبت الكود صح ومطلعش معايا
حليت المشكله؟@@andrewemad8491
جزيل الشكر لك يا مستر
انا بدعيلك وانا بصلي ربنا يباركلك في علمك ويا ريت يكون فيه كورس عن SQL
هل يصير التطبيق في برنامج فيجوال استديو
جـــــــــزاك الله عنـا خير الجـــــــــــــــــــزاء استاذ
الله يعطيك العافية 🌷
جزاك الله كل خير
درس جميل و مفيد كالعادة
بهدف زيادة الخبرة و اكتساب المهارات:
في السطر 48 ذكر الأخ إسلام طريقتين لكتابة الشرط التالي:
key = key if next_key == -1 else nex_key
من يستطيع أن يكتبه بطريقة ثالثة؟
أيضاً في السطر 60 قام الأستاذ بتعيين إحداثيات الرأس الجديد كالتالي:
new_head = [snake[0][0], snake[0][1]]
ماذا سيحدث لو تم تعيين هذه القيمة بهذا الشكل؟
new_head = snake[0]
ستلاحظ أن الرأس الجديد سيحمل نفس القيمة كما في السابق و لكن هل سيعمل البرنامج كما هو متوقع منه 🤔؟
1/ the rong is after else enter next key not key like:
key = key if next key == -1 else key = next key ,or,
key = key if next key == -1 else next key
2/لم يكتبsnake[0] لانه بعد ذلك احتاج للاحداثيات بشكل مضبوط اي الy and x
@@chz2971 بالنسبة للسؤال الأول معك حق أخطأت بالكتابة و صححتها (شكراً لك)
ولكن يبقى السؤال قائماً و جوابي ببساطة هو
key = (next_key, key)[next_key == -1]
الفكرة هنا أنه قمنا بإنشاء توبل حيث القيمة الأولى فيها هي القيمة عند فشل الإختبار و الثانية عند تحقق الإختبار
بعد ذلك نضع الإختبار ضمن الأقواس المربعة
سينتج عن الإختبار قيمة منطقية
هذه القيمة سيتم التعامل معها على أنا صفر أو واحد و بالتالي سيتم تعيين القيمة في الموضع صفر في حال فشل الإختبار و القيمة في الموضع الأول في حال تحققه
بالنسبة للسؤال الثاتي لم أفهم ما تقصد و لكن على كل حال المشكلة تكمن في أنه إذا أخذنا إحداثيات الرأس الجديد كالتالي
new_head = snake[0]
فعند ذلك سيكون الرأس الجديد معينا بشكل مرجعي أي إلى موقع القيمة في الذاكرة و ليس إلى القيمة نفسها
سينتج عن ذلك تعديل القيمة الأصلية عند تغيير إحداثيات الرأس الجديد و بالتالي لن يتم مسح الذيل بشكل صحيح حين أن احداثياته قد تغيرت
شكراً مرة ثانية على الرد
الشرح جميل جدا شكرا
بعمل نفس الكود بظبط علي vs code و مش بيدي output في ال terminal و بعمل عبي replit مش بيدي output برضه غالبا ال screen size صغير اوي
جزالك الله خيراً شرح رائع بس عندي سؤال أنا حابب أدخل بمجال الذكاء الإصطناعي وماشي عالخطة يلي شرحها الإستاذ علي شاهين هو لما شرح عن الخطة قال اساسيات برمجة البايثون كافية مبدأيا سلسة تعلم البايثون الموجودة عاليوتيوب كافية ولا لازم اتعمق قبل ما انتقل لغير مراحل
بقولك
تسلم يهندسه
تسلم يا هندسة بس هيكون احلى لو عرفتنا ازاى نعمل الكلام ده على برنامج لانى حولت مش عارف
ماشالله شرحك ممتاز بس انا كنت عايز اسأل ازاي احط شكل على الثعبان و هو بتحرك و كمان ازاي اخليه بخترق الحيت و يرجع من الانتاه الثاني نفسي اعرف ازاي و بس❤
بصراحه انا شايف من الكومنتات ان الفيديو ما هوا الا شووو اعلامي للكورس الخاص بحضرتك . حتي ردك علي التعليقات بيثبت دا . جزاك الله خيرآ يااخي ..
ابراهيم عادل فعلآ .. بتاع الغلابه
لاحظت هذا الشيء
جزاك الله خيرا❤
عندي سؤال انا تابعت الplaylist المجانية كيف ابدأ في الشراء يعني انا شفت انو هي للمبتدئين كثير
الله يعطيك الف عافيه
اريد انوه عن الأساسيات
انا جربت اسوي اللعبة معك بس طلعت لي اخطاء كتير و سحبت على المشروع و راجعت الأساسيات اكثر
و رجعت الحين للمشروع و الحمد لله اشتغل 💯 🫡
طيب ممكن اسألك بما اني جديدة عالبرمجة اذا سويت لعبة مثل هاللعبة انسخ الكود ولا انا اكتبه؟
@@idontcare.8697 يعني اذا بس تريدين لعبة انسخيه
لكن عشان تتعلمي اكتبيه و انتي فاهمة الكود
وقت رجعت للأساسيات رجعت ل دروس يلي قبل لعبة الثعبان ولا كملت الاساسيات كلهم وبعدين عملت المشروع
@@riyad1803 لا مو كل شيء لكن شفت اهم الأساسيات مو شرط من القناة نفسها حتى، مثل كيفية استخدام المكتبات و البرمجة الكائنية و غيرها من الأساسيات المهمة
ياصديق حتى مش انت لصاوبت البرنامج اترك القليل من المنطقية في كتابة الكودات لاتداخل الاشياء انا كمبتدئ وجدت صعوبة في فهمك متلا اعمل على شاشة وحدها من بعدها التعبان وتحركاته من بعد الاكل وتحركاته من بعد الاحتمالات الممكنة حتى المشاهد يستوعب انت اين تريد ان تصل به ,وعاش يابطل على المجهود ❤
كنت عمال ادور ع الفيد من زمان😂💔
انا تابعت الفيديو خطوة بخطوة وطبقت كتابة الكود وراجعت معاك تاني لما راجعت عليهم ف اخر الفيديو بس لما بعمل run الكونسول بيبقي فاضي حتى من غير اي ايرور تظهر دايبلي شاشة فاضية
كويس انك اعدت نشره
لما الثعبان يأكل الأكل مبيظهرش ثاني و لما الثعبان يلمس الجهه اليمين او تحت بيطلع error traceback والكود اهو
import random
import curses
screen = curses.initscr()
curses.curs_set(0)
screen_height, screen_width = screen.getmaxyx()
window = curses.newwin(screen_height, screen_width, 0 , 0)
window.keypad(1)
window.timeout(200)
snk_y= screen_height // 2
snk_x= screen_width // 4
snake = [
[snk_y, snk_x],
[snk_y, snk_x-1],
[snk_y, snk_x-2]
]
food = [screen_height // 2, screen_width // 2]
window.addch(food[0], food[1], curses.ACS_PI)
key = curses.KEY_RIGHT
while True:
new_key = window.getch()
key = key if new_key == -1 else new_key
if snake[0][0] in [0, screen_height] or snake[0][1] in [0, screen_width] or snake[0] in snake[1:]:
curses.endwin()
quit(print("game over"))
new_head = [snake[0][0], snake[0][1]]
if key == curses.KEY_RIGHT:
new_head[1] += 1
if key == curses.KEY_LEFT:
new_head[1] -= 1
if key == curses.KEY_UP:
new_head[0] -= 1
if key == curses.KEY_DOWN:
new_head[0] += 1
snake.insert(0, new_head)
if snake[0] in food:
food = None
while food is None:
new_food = [
random.randint(1, screen_height - 1),
random.randint(1, screen_width - 1)
]
if new_food not in snake:
food = new_food
else:
food = None
window.addch(food[0], food[1], curses.ACS_PI)
else:
tail = snake.pop()
window.addch(tail[0], tail[1], " ")
window.addch(snake[0][0], snake[0][1], curses.ACS_CKBOARD)
طبعا منغير الindentations
في خطاء في جز ال if snake [0] in food
الصح if snake [0] == food و طبعا في الخر النقطتين
هل replit فيه المكتبات random و curses لانه ما اشتغل معي الكود
السلام عليكم
سويت نفس الشرح بالتليفون بس ماشتغلت هل المشكله من التليفون ارجو الحل
انا شايف ان الأحسن انكم تخلصو لحد درس 30 او لحد درس ال modules لو انتو مستجعلين لأن انا كنت بشوف الفيديو ده قبل الدروس دي و مفهمتش حاجه بس عشان مكذبش فهمت لاكن لو حاولت تيجي تعملها لواحد مره تانيه اكبر مشاكل هتقبلك هي ال methods هتتلخبط فيها و تنساها فا الأفضل انك تتعود اكتر و تتطور مع اللغه و تيجي للدرس ده ده هيحسنك كتير و هتقدر تعنل اي حاجه بعد كده (من وجهة نظري)
شكرا لحضرتك .
يخليلي عينك 🥀
انا مش مهندس وحابب اتعلم اكتر واتقن البرمجه ارجوا الرد والافاده
اتعلمت منك كتير بس محتاج أسألك فين الجزء إلى انت برمجته بحيث انى الثعبان ياكل الطعم يكبر جسمه وشكرا ليك
في التعليق ١٩ عملنه راس جديد وفي التعليق ٢٠ قلنا لو اكلت لاتحذف الذيل بينما لو مااكلت احذف الذيل ..المحصله ..إضافة راس جديد وعدم حذف الذيل وبالتالي زيادة الطول لو اكلت...ولو مااكلت يضاف الراس ويحذف الذيل عوضا عنه فلا يزداد الطول
شرح هذا الشي في آخر ثلاث دقائق في الفيديو
ازاى اعرف المكتبات المطلوبة بالظبط في اي برنامج؟
هو انا منكن استخدم visual studio code
قبل ما أبدأ عادي استخدم Visual studio code بدلا من replit ؟
لأنو ربليت ما صار مجاني
خلصت ابروجيكت وراجعتو وكل شي تمام..بس لمن اعمل run بيطلعلي
repl process died unexpectedly
وكلشي صح متأكد راجعت الكود اكثر من مرة
نفس المشكله عندي
هل يجوز كتابته على vs code ام فقط على riplit ?
السلام عليكم اخ اسلام سويت زي ماقلت لكن الثعبان لم يظهر مع ان علامة الطعم موجودة مالسبب ؟
مع كامل امتناني وشكري ❤❤
1+
Open your windows terminal ( Windows + R ) then write ( pip install windows-curses )
@@kingost1274 عندي نفس المشكله
1 مشتغلش ف ريبليت
2 بيجيلي ايرور ان curses مش معرف
ونزلت المكتبه دي ونفس الكلام (في بايتشارم و vs code)
ليه ماسوينا المشروع في pycharm؟
السلام عليكم
عندي سؤال ؛ أنا سويت كل الخطوات بس ما عم تبين عندي الدودة بس عم تظهر عندي علامة الPI
ممكن مساعدة حتى أعرف وين غلطي و أعرف الحل ❤
نفس الحوار عندي لو لقيت الحل قولي
@@zyadzanaty ما حدا عم يرد🙂💔
@@ahmkt6428 نفس المشكل هل من حل
@@هاشمبرودي نفس المشكلة
مشكل ال identation
نصيحه يا شباب اسمعوا المشروع دا مع المشاريع الا فى الاخر عشان متحسوش باحباط
سؤال الكروس مبرمج بأيدك صح مش مرتاح الا بأيدك❤
شكرا على الشرح الجميل والصراحة انا احتجت ثلاث ايام عشان اخلصها لحالي لأن اول يوم تفرجت على شرحك نظري وثاني يوم طبقت معك ولكن لما شغلت اللعبة واجهتني مشكلة اختفاء الثعبان وثالث يوم راجعت خطواتي واكتشفت اخطائي وحليتها و كل مشكلة انحلت , فشكرا على الشرح الجميل ومجهودك الجبار
مشكلة اختفاء الثعبان كانت في ايه
@@khaledel-shahedy5433 كانت في ترتيب الكود لان في اكواد المفروض تكون داخل اللوب و اكواد خارج اللوب وترتيبها هو يلي يثبت هذا الشي ولما تمشي بنفس ترتيب الاكواد بالفيديو وخاصة من اخر لوبين لعند نهاية السطر تنحل المشكلة
@@SeraGGlitch راجعت عليها كلها و انا كاتبها بالظبط زي ما هو كتايها مفيش اي اختلاف
import random
import curses
screen = curses.initscr()
curses.curs_set(0)
screen_height, screen_width = screen.getmaxyx()
window = curses.newwin(screen_height, screen_width, 0, 0)
window.keypad(1)
window.timeout(125)
snk_x = screen_width // 4
snk_y = screen_height // 2
snake = [
[snk_y, snk_x],
[snk_y, snk_x-1],
[snk_y, snk_x-2]
]
food = [screen_height // 2, screen_width // 2]
window.addch(food[0], food[1], curses.ACS_PI)
key = curses.KEY_RIGHT
while True:
next_key = window.getch()
key = key if next_key == -1 else next_key
if snake[0][0] in [0, screen_height] or snake[0][1] in [0, screen_width] in snake[1:]:
curses.endwin()
quit()
new_head = [snake[0][0], snake[0][1]]
if key == curses.KEY_DOWN:
new_head[0] += 1
if key == curses.KEY_UP:
new_head[0] -= 1
if key == curses.KEY_RIGHT:
new_head[1] += 1
if key == curses.KEY_LEFT:
new_head[1] -= 1
snake.insert(0, new_head)
if snake[0] == food:
food = None
while food is None:
new_food = [
[random.randint(1, screen_height-1)],
[random.randint(1, screen_width-1)]
]
food = new_food if new_food not in snake else None
window.addch(food[0], food[1], curses.ACS_PI)
else:
tail = snake.pop()
window.addch(tail[0], tail[1], ' ')
window.addch(snake[0][0], snake[0][1], curses.ACS_CKBOARD)
ينفع حضرتك تبعت لنا الكود الصح
@@GameGenius_Zone
import random
import curses
screen = curses.initscr()
curses.curs_set(0)
screen_height, screen_width = screen.getmaxyx()
window = curses.newwin(screen_height, screen_width, 0, 0)
window.keypad(1)
window.timeout(120)
snk_x = screen_width // 4
snk_y = screen_height // 2
snake = [[snk_y, snk_x], [snk_y, snk_x - 1], [snk_y, snk_x - 2]]
food = [screen_height // 2, screen_width // 2]
window.addch(food[0], food[1], curses.ACS_DIAMOND)
key = curses.KEY_RIGHT
while True:
next_key = window.getch()
key = key if next_key == -1 else next_key
if snake[0][0] in [0, screen_height] or snake[0][1] in [
0, screen_width
] or snake[0] in snake[1:]:
curses.endwin()
quit()
new_head = [snake[0][0], snake[0][1]]
if key == curses.KEY_DOWN:
new_head[0] += 1
if key == curses.KEY_UP:
new_head[0] -= 1
if key == curses.KEY_RIGHT:
new_head[1] += 1
if key == curses.KEY_LEFT:
new_head[1] -= 1
snake.insert(0, new_head)
if snake[0] == food:
food = None
while food is None:
new_food = [
random.randint(1, screen_height - 1),
random.randint(1, screen_width - 1)
]
food = new_food if new_food not in snake else None
window.addch(food[0], food[1], curses.ACS_DIAMOND)
else:
tail = snake.pop()
window.addch(tail[0], tail[1], ' ')
window.addch(snake[0][0], snake[0][1], curses.ACS_CKBOARD)
ازاي ان انا اخلي الrunيظهر علي الشاشه عشان اخلي اللعبه تشتغل يعني ادوس فين😊
thank you very much ,
but you increase the tall of the snake when you move up, down, right,or left.
not when it eats the food!!!
يعني ما عرف شكلك ❤️❤️
حضرتك بعد ما خلصت كتابة وعملت run مظهر غير الباي ممكن حضرتك تقولي الحل
هل وجدت الحل ولله عدت الفيديو ثلاث مرات وطبقت مرتين لكن نفس الحالة
thnaks a lot i really appreaciate this tutorial
@codezilla
ما علاقه الدروس السابقه
ببرمجه اللعبه
هل هناك اجزاء خفيه في تسلسل الحلقات
بصراحة نفس سؤالك لان الي اخذته نعم طورني لكن لم يجعلني افكر بكل هذه الطرق ❤
المكتبات والفيديو ده محتاجين شرح قبلهم
هل تَعلم البايثون مفيد لتطوير برامج الديسك توب؟
الكود مش شغال
thanks a lot for the course i faced one problem after i finished the codes i did not get anything like it said it worked but no screen dose anyone know anything about it ? please help
الله يعطيك الف عافية
انا عندي مشكلة لمة تبدء العبة يكون نص الشاشة مخفية و الدودة بتمشي فيه ايه الحل
snk_x = screen_width // 4
snk_y = screen_height // 2
بعد طول انتظار
شكرا
وفقك الله
عزيزي اعتقد حضرتك نسيت خطوة رسم الثعبان قبل خطوة رسم الطعام لأن الثعبان لم يظهر وظهر الطعام فقط وانتهت اللعبة بخطأ لذلك اعتقد ان خطوة رسم الثعبان يجب ان تكون بعد تحديد احداثياته الاولية (موقع البداية).. نقطة اخرى اعتقد ان عند تشغيلك للعبة فان الثعبان كان ينمو بعد الاكل ولم اجد خطوات استطالة الثعبان.. ممكن توضيح ذلك ان امكن
نفس المشكلة
@@africanamerican1754 نفس المكشلة جسم الثعبان مش ظاهر !!
@@beurself5333 check your identation
@@nahlabelloula5535 فعلا المشكلة عندي طلعت كلها بس فالindetation كنت مرتب الكود غلط
طيب شسوي علشان اخلي جسم الثعبان ظاهر مساعدة
السلام عليكم وش الفرق بين window ans screen in this code
طيب في خطوات ما علمتنا اياها مثل import وهذول
انا بس قاعد انسخ
السلام عليكم انا متتبع من المغرب كتبت الكود كامله صحيح لكن لم يظهر الثعبان و ظهر الطعم فقط
الشرح برفكت وكل حاجة تمام بس بصراحة جالى احباط بعد ما شوفت انى عشان اتعلم كامل لازم ادفع انا فكرت المحتوى مجانى 100%
انا عملت كل الخطواات دي حرفيا واحده واحده وفي الاخر لما بعمل run علامه ال باي بتظهر في النص ومش بيظهر التعبان ولا اي حاجه ولا بيطلعلي اني عملت حاجه غلط اصلا
ونا نفس الكلام 🥲😅
اني هم اذا عرفت الحل ممكن دزة؟
كيف نستطيع عمل برنامج مستقل عن الكونسل، كنافذة ويندوز مثلا🤔
لو قدمنا خطوة عن اخرى هل هذا بأثر
بصير اتخطى الفيديو واروح للفيديو البعدو لاني مافهمت شي والموقع والثعبان ماعم يتحرك والاكل تبع الثعبان ملصوق بنص الشاشة معلقا ومخي معد يستوعب شي
والله انك برنس برمجك معاك لعبه الثعبان بس محتاج احفظها معلش اخوك ايه مستجد
انا كل ما ادوس run يقولي :line 83 else
Syntaxeror: invalid syntax يعني اي
من فضلك اجعل لنا كورس قواعد بيانات
يا جماعة الهاشتاغ (#) الموجود في بداية الفيديو مش فاهم ليه موجود واحنا ما خدناه بالدروس السابقة؟؟+ اتمنى رد سريع 🤔🤔🤔🤔
ده بيخلي الأمر إلي بعديه معلق يعني ببساطه كانو مش موجود الكمبيوتر مش شايفه
مهندس تظهر عندي مشكلة في الكود قبل الأخير
يظهر لي إنه في returned ERR
على الرغم إنه كل شيء كاتبه صحيح