Build a Snake game with Python | برمجة لعبة الثعبان بلغة بايثون | مشاريع بايثون | تعلم بايثون - playproduction.de

Build a Snake game with Python | برمجة لعبة الثعبان بلغة بايثون | مشاريع بايثون | تعلم بايثون

Codezilla
Views: 81653
Like: 2891
موقع replit للبرمجة:

——————————
كورس تعلم البرمجة للمبتدئين واحتراف بايثون وهندسة البرمجيات:

in this python tutorial for beginners you will build a python project from scratch. this will be a python snake game project tutorial. in this tutorial you will use variables, python lists, functions, tuples, loops, booleans, imports and also the python curses library.

في هذا الدرس للمبتدئين في تعلم لغة بايثون، سوف تقوم ببرمجة مشروع لعبة الثعبان باستخدام لغة بايثون، سوف تتعلم برمجة اللعبة بلغة بايثون خطوة بخطوة من الصفر. سوف تستخدم اساسيات البرمجة لتطبيق هذا المشروع.

حساب تويتر:

—————————————————
قناة codezilla academy:

—————————————————
قناة codecast:

—————————————————
قناة codezilla shorts:

—————————————————
حساب انستجرام:

—————————————————
قناتي الشخصية:

—————————————————
link to facebook group:

—————————————————
link to facebook page:

—————————————————
link to my linkedin profile:

#programming
#python
#البرمجة
#بايثون
#codezilla

168 Comments

  1. الشرح برفكت وكل حاجة تمام بس بصراحة جالى احباط بعد ما شوفت انى عشان اتعلم كامل لازم ادفع انا فكرت المحتوى مجانى 100%

  2. خلصت ابروجيكت وراجعتو وكل شي تمام..بس لمن اعمل run بيطلعلي
    repl process died unexpectedly
    وكلشي صح متأكد راجعت الكود اكثر من مرة

  3. هو ممكن العمل على البرنامج داخل الفيزوول ستوديو كود ؟

  4. اسلام موقع ريبليت مشتغل معي
    هل اقدر اشتغل على فيجوال استديو

  5. ياخي أنا بحبك لله
    بس انا تقريباً مافهمتش حاجة من الفديو ده
    لكن الفديوهات بتاعة الألة الحاسبة كانت ساهلة جداً
    الفديو ده حسسني اني ولاحاجة

  6. لو قدمنا خطوة عن اخرى هل هذا بأثر

  7. انا طلعلي الأكل بس، في وسط الشاشة اما الثعبان ما طلعلي ممكن حل ؟!
    حيث أنه لم يطلعلي اي مشكل في المودا !

  8. ان طلعلي الأكل بس في وسط الشاشة اما الثعبان ما طلعلي علما أنه لم يضهرلي بوجود اي خطأ في الكود ؟! ممكن توضيح للمشكلة ؟!
    @codzilla

  9. Ahmed Mohamed Ahmed احمد محمد احمد عبد الظاهر says:

    بعد لما خلصت المشروع وكتبت الكود كل صح طلعلي المشكلة دي module 'curses' has no attribute 'getmaxyx'

  10. كل التقدير والشكر الك
    عنجد من القلب ❤كتير مبسط ورائع

  11. هذا الكود
    .
    .
    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) or snake[0] in snake[1,2]:
    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_f00d=[random.randint(1,screen_height-1) ,(1, screen_width-1)]
    food=nwe_food if new_f00d not in snake else None
    window.addch(food[0],food[1],curses.ASC_PI)
    else:
    tail=snake.pop()
    window.addch(tail[0],tail[1],' ')
    window.addch(snake[0][0],snake[0][1],curses.ACS_CKBOARD)

  12. يطلع عندي ايرور في السطر ال 9 شنو السبب؟

  13. كلما بعمل run بيكتبلي modulNotFoundError :no module named curses معقول لازم نزل هالميديول مشان يشتغل؟!

  14. مرحبا. هل الدورة عبارة عن لقائات محددة او ملفات للتحميل؟

  15. انا عملت كل الخطواات دي حرفيا واحده واحده وفي الاخر لما بعمل run علامه ال باي بتظهر في النص ومش بيظهر التعبان ولا اي حاجه ولا بيطلعلي اني عملت حاجه غلط اصلا

  16. هل تَعلم البايثون مفيد لتطوير برامج الديسك توب؟

  17. هو طبيعي اني مش فاهم حاجه
    ملاحظة: خلصت ال 19 حلقة بالكورس قبل اللعبة وعندي يومين بتعلم

  18. االسلام عليكم ، مشكور كثير على الفيديو و أحسن قناة تعلمية و شرح قمة في الروعة و البساطة كأنك تقرأ الأسئلة لي فعقلي، بس الله إسلمك الثعبان مظهرمعي، كل شيء صحيح ماعندي خطاء فأي سطر، دققة، بحث، ماعرفت له مظهر معي، متبعك من المغرب أحسن codezilla

  19. السلام عليكم
    اولا شكرا على مجهودك الرائع
    لكن انا عندي مشكلة ارجو من احدكم المساعدة
    انا قمت بالخطوات حرفيا لكن الثعبان ما يظهر لي على الشاشة
    مع ان كل كود ماشي في مكانه والfoodموجود لكم من غير ثعبان🤔

  20. ظهرت لي خطاء اخر البرنامج else ورجعت امسحها

  21. شرح ممتاز جدا + انك مبدع و بتبسط الحاجه . .♥👏🏻
    بس للاسف ظهرت لي مشكله ان الثعبان مش ظاهر علي console اعمل ايه يا كبير مستني ردك . .😇👍🏻
    و يريت تكتبلي طريقه اتواصل بها معاك عشان انا مبتدأ و هيظهرلي اخطاء كثير في المستقبل ممكن ..؟

  22. من فضلك اجعل لنا كورس قواعد بيانات

  23. حصل معايا زي مظم الناس والثعبان مكانش بيظهر والمشكله ب اختصار ف ال indentation ظبط كل حاجه ف اللاين بتاعها مظبوط.. بعد الثعبان م يظهر هيقابلك ايرورز تانيه اتسلي فيها بقا 😂

  24. بارك الله فيك وجزاك الله خيرٱ

  25. متفرج علي ١٧ فيديو و مش فاهم حاجه من فيديو اللعبه الاحباط بسبب إنك كان عندك شغف بعد كدا تلاقي إنك مستخدمتش حاجه من الفيديوهات الاتعلمتها

  26. هو انا كل ما اجي اعمل else الي ف يالاخر زي ما حضرتك بتعمل بيقولي عليها eror
    و فكرت اني اشلها خالص الي هو انا مش عايز التعبان يكبر التعبان مظهرش اصلا فلو ف يحل ارجو الرد

  27. عزيزي اعتقد حضرتك نسيت خطوة رسم الثعبان قبل خطوة رسم الطعام لأن الثعبان لم يظهر وظهر الطعام فقط وانتهت اللعبة بخطأ لذلك اعتقد ان خطوة رسم الثعبان يجب ان تكون بعد تحديد احداثياته الاولية (موقع البداية).. نقطة اخرى اعتقد ان عند تشغيلك للعبة فان الثعبان كان ينمو بعد الاكل ولم اجد خطوات استطالة الثعبان.. ممكن توضيح ذلك ان امكن

  28. فى آخر سطر فى الكود
    _curses.error : addch() returned ERR
    المشكلة دى بتظهر عندما يصطدم الثعبان للجانب الأيمن أو السفلى فقط من الشاشة ولا تظهر فى الجانب العلوى أو الأيسر لو ظهرت مع حد ووجد حل يا ريت يفيدنى
    أنا بحثت وملقيتش حل للمشكلة نفسها بس نقصت ١ من الطول والعرض فى السطر 1:06:03 وعند الإصطدام لم يظهر Error

    لو بتستخدم موبايل ومفيش كيبورد ومش عارف تستخدم الأسهم زود المود دا بيخليك تستخدم الأرقام فى التحكم

    curses.keyname(5)
    if key == ord('5') :
    new_head[0] -= 1

    curses.keyname(8)
    if key == ord('8') :
    new_head[0] += 1

    curses.keyname(7)
    if key == ord('7') :
    new_head[1] -= 1

    curses.keyname(9)
    if key == ord('9') :
    new_head[1] += 1

  29. بارك الله فيك رجاءا لو شوية توضح الصورة

  30. جزاك الله خير على الجهد المبذول , عندي مشكلة يا جماعة جسم السنااك مش راضي يطلع على اللعبة رغم انه مافيش اخطاء في الكود على حسب كلاك الـ replit كل حاجة بتظهر ما عدى جسم السناك مش موجود.. ممكن تشوفو معايا اذا كل حاجة صح و شكرا

    import random

    import curses

    screen = curses.initscr()

    curses.curs_set(0)

    screen_hight, screen_wight = screen.getmaxyx()

    window = curses.newwin(screen_hight, screen_wight, 0, 0)

    window.keypad(1)

    window.timeout(100)

    snk_x = screen_wight // 4

    snk_y = screen_hight // 2

    snake = [

    [snk_y, snk_x],

    [snk_y, snk_x -1],

    [snk_y, snk_x -2]

    ]

    food = [screen_hight // 2, screen_wight // 2]

    window.addch(food[0], food[1], curses.ACS_STERLING)

    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_hight] or snake[0][1] in [0, screen_wight] or snake[0] in snake[1:]:

    curses.endwin() # closing the window

    quit() # exit the program

    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_RIGHT:

    new_head[1] -= 1

    snake.insert(0, new_head)

    if snak[0] == food:

    food = None # remove food if snake ate it

    while food is None:

    new_food = [

    random.randint(1, screen_hight – 1), #—> 1, 599

    random.randint(1, screen_wight – 1)

    ]

    food = new_food if new_food not in snake else None

    window.addch(food[0], food[1], curses.ACS_STERLING)

    else:

    tail = snake.pop()

    window.addch(tail[0], tail(1) )

    window.addch(snake[0][0], snake[0][1], curses.ACS_CKBOARD)

  31. دائما يظهر الError ده:

    play_window.addch(food[0], food[1], curses.ACS_PI)

    TypeError: 'list' object cannot be interpreted as an integer
    مش غارف فين المشكلة

    ده الكود اللي انا كاتبه:
    import random
    import curses
    screen = curses.initscr()
    curses.curs_set(0)
    scrn_hight , scrn_width = screen.getmaxyx()
    play_window= curses.newwin(scrn_hight,scrn_width, 0,0)
    play_window.keypad(1)
    play_window.timeout(125)
    snakeX= scrn_width // 4
    snakeY= scrn_hight // 2
    snake_body= [
    [snakeY, snakeX],
    [snakeY, snakeX-1],
    [snakeY, snakeX-2]
    ]
    food= [scrn_hight//2, scrn_width//2]
    play_window.addch(food[0],food[1],curses.ACS_PI)
    key=curses.KEY_RIGHT
    while True:
    next_key= play_window.getch()
    key= key if next_key ==-1 else next_key
    if snake_body[0][0] in [0,scrn_hight] or snake_body[0][1] in [0,scrn_width] or snake_body[0] in snake_body[1:]:
    print("GAME OVER")
    curses.endwin()
    quit()
    new_head= [snake_body[0][0],
    snake_body[0][1]]
    if key == curses.KEY_UP:
    new_head[0] -= 1
    if key == curses.KEY_DOWN:
    new_head[0] +=1
    if key == curses.KEY_LEFT:
    new_head[1] -=1
    if key == curses.KEY_RIGHT:
    new_head[1] +=1
    snake_body.insert(0, new_head)
    if snake_body[0] == food:
    food=None
    while food is None:
    new_food = [
    [random.randint(1, scrn_hight-1)],
    [random.randint(1, scrn_width-1)]
    ]
    food = new_food if new_food not in snake_body else None
    play_window.addch(food[0], food[1], curses.ACS_PI)
    else:
    tail = snake_body.pop()
    play_window.addch(tail[0], tail[1], " ")
    play_window.addch(snake_body[0][0], snake_body[0][1],curses.ACS_CKBOARD)

  32. جميل جدا وم حسيت بملل ابدا كان مسلي جدا ومفيد شكرا لتعبك والله يجزيك الخير

  33. بس سؤال اذا أشتغلت على تطبيق معين أو لعبة كيف بقدر أرفعها على متجر وأربح منها من خلال شو ؟؟

  34. الثعبان لايتحرك لدي

  35. يدخل الى الموقع لاكن لا يدخل الى صفحة بايثون🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔

  36. 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)

    # noinspection PyTypeChecker
    window.keypad(1)

    window.timeout(100)

    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 next_key == -1:
    # key = key
    # else:
    # key = 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], ' ')

    window.addch(snake[0][0], snake[0][1], curses.ACS_CKBOARD)
    ولا يتحرك لافوق ولا تحت رجاءاً رد سريع🤔🤔🤔🤔🤔RIGHT أنضر للكود كتبتة مثل ما كتبتة انت ولاكن سنك يضل يتحرك

  37. لدي مشكل.
    الثعبان لا يغير الإتجاه. معناه مهما ضغطت على أزرار الإتجاهات فالويندو لا تستقبل المعلومة

  38. يا ليت تشرح لنا طريقة.حفظ ملفات المشروع /
    وكيف يمكن تشغيل اللعبه على اي جهاز كمبيوتر بدون الحاجه الى تثبيت البايثون في الجهاز نفسه

  39. ازاي اعمل فيديو زي ده .
    لان مطلوب مني تصوير فيديو للكليه و مطلوب وشي يكون ظاهر

  40. هوف على شرح فخامه ماشاء الله 💙

  41. السلام عليكم اخ اسلام سويت زي ماقلت لكن الثعبان لم يظهر مع ان علامة الطعم موجودة مالسبب ؟
    مع كامل امتناني وشكري ❤❤

  42. بتستطيع اعمل game snake in google colab?

  43. والله يا اسلام انت اسطورة الله يسعدك يرب احسن انسان يشرح بايثون

  44. حضرتك بعد ما خلصت كتابة وعملت run مظهر غير الباي ممكن حضرتك تقولي الحل

  45. انا ما طلعلي جسم الثعبان بس طلعلي اكل الثعبان 🤣🤣🤣.

Leave a Reply

Your email address will not be published.