السلام عليكم ممكن حد يبعت كود لعبه الثعبان (المستوي التاني)
عشان انا بكتبه عل تطبيق pydriod3 لان تطبيق replit لا يعمل معي ، والتطبيق ثعب جدا في الاستعمال ويطلعي خطأ في المسافات البادئه واتمن احد يكتب الكود لانسخه وشكرا جدا
نصيحتي لا تاخذ الكود
انت حله بنفسك
عشان تدرب نفسك
انا اقدر صعوبة الكتابه باستخدام الهاتف …ممكن تستخدمي تاب المدرسة أفضل
نسخ الكود سهل بس الافضل انك تكتبي بنفسك
انا بكتبه كله الاول بس لما اجي انفذه بيطلع خطأ في المنافسات وبحاول أصلح الخطأ بس بيكون صعب جدا
في الجمعة، ٢٧ سبتمبر ٢٠٢٤، ٤:٢٧ م Haneen Ashraf <haneenashraf2009.com@gmail.com> كتب:
انا عندي تاب مدرسه بس لسا مش طلع من المنظومه مش عارفه هيتطلع لنفسه ولا اه ، بس اعتقد الكتابه عليه هتبقي صعبه من دون كيبورد
في الجمعة، ٢٧ سبتمبر ٢٠٢٤، ٦:٣٠ ص Abdelrahman Saber عبر أكتو كود تعلم البرمجة من الصفر <notifications@octucode1.discoursemail.com> كتب:
انا كتبت الكود وظبط المسافات علي ريبلت عشان انسخه وانقله علي الموقع التاني بس يطلعلي الخطأ ده ممكن المساعده
ح
عظيم , حضرتك عامله الملفات كلها (snake,food) ؟؟ والا دا الملف الوحيد بتاع اللعبه …لان المشكلة ال ظاهره هي عدم وجود ملف باسم snake.
- الكلاس Turtle مش محتاجينة هنا في الملف دا ف مش لازم نستدعيه.
باالنسبة للتاب لم امكن انك تخرجيه وتشتغلي عليا هيكون افضل.
كود اللعبه اهو حابه تجربيه ك نوع من التجربة:
دا الملف الرئيسى: main
import time
from turtle import Screen
from snake import Snake
from food import Food
#Set up window
window=Screen()
window.bgcolor(‘black’)
window.title(‘Snake game…’)
window.setup(width=600,height=600)
window.tracer(0)
#create sanke
sam=Snake()
#Create food
food=Food()
#Create score
score=Score()
#Loop game
game_on=True
while game_on:
sam.move()
window.update()
time.sleep(.1)
window.listen()
window.onkey(sam.up,‘Up’)
window.onkey(sam.left,‘Left’)
window.onkey(sam.down,‘Down’)
window.onkey(sam.right,‘Right’)
if sam.head.distance(food) < 15:
food.appear()
sam.extend()
score.update_score()
if (
sam.head.xcor() > 270
or sam.head.ycor() > 270
or sam.head.xcor() < -270
or sam.head.ycor() < -270
):
time.sleep(1)
window.clear()
score.game_over()
game_on=False
window.exitonclick()
دا ملف اعداد ونتظيم أجزاء الثعبان: snake
#Snake class to organize a snake show
from turtle import Turtle
class Snake:
def init(self):
self.position=[(-40,0),(-20,0),(0,0)]
self.turtles=
self.create_snake()
self.head=self.turtles[-1]
def create_snake(self):
for i in range(len(self.position)):
new_turtle=Turtle(‘square’)
new_turtle.up()
new_turtle.color(“white”)
new_turtle.goto(self.position[i])
self.turtles.append(new_turtle)
def extend(self):
“To make the sanke grow”
new_segment=Turtle(‘square’)
new_segment.up()
new_segment.color(“white”)
new_segment.goto(self.turtles[-1].pos())
self.turtles.insert(0,new_segment)
def move(self):
for i in range(len(self.turtles) -1 ): # moving all snake parts except sanke head.
self.turtles[i].goto(self.turtles[i+1].pos())
self.turtles[-1].fd(20)
def up(self):
self.head.setheading(90)
def left(self):
self.head.setheading(180)
def down(self):
self.head.setheading(270)
def right(self):
self.head.setheading(0)
دا ملف اعداد طعام الثعبان: food
#it itself is a turtle
#Class for prepare snake’s food
from turtle import Turtle
import random
class Food(Turtle):
def init(self):
super().init()
self.color(‘red’)
self.shapesize(.6,.6)
self.shape(‘circle’)
self.up()
self.appear()
def appear(self):
random_x=random.randint(-270,270)
random_y=random.randint(-270,270)
self.goto(random_x,random_y)
ده الكود كله حتي الآن
بس انا كتباه كله تحت بعض مش زي ما المستر ابراهيم عامله ممكن حضرتك تبص عليه وتشوفه مظبوط ولا اه انا لما بجربه بيطلعلي الخطأ بتاع الesnak
from turtle import Turtle ,Screen
class Snake:
def init(self):
self.turtles=
self.position=[(-40,0),(-20,0),(0,0)]
self.create_snake()
self.head= self.turtles[-1]
def create_snake (self) :
for i in range(len(self.position)):
new_turtle = Turtle(‘square’)
new_turtle.color(‘white’)
new_turtle.penup()
new_turtle.goto(self.position[i])
self.turtles.append(new_turtle)
def move(self):
for i in range(len(self.turtles)-1):
self.turtles[i].goto (self.turtles[i+1].pos())
self.head.fd(20)
def extend(self):
new_segment= Turtle (‘square’)
new_segment.color(‘white’)
new_segment.penup()
new_segment.goto (self.turtles[0].pos())
self.turtles.insert(0,new_segment )
def up(self):
self.head.setheading(90)
def down(self):
self.head.setheading(270)
def right(self):
self.head.setheading(0)
def left(self):
self.head.setheading(180)
#from turtle import Turtle
#import random
class Food (Turtle):
def init(self):
super().init()
self.shape (‘circle’)
self.penup()
self.color(‘red’)
self.shapesize(0.5, 0.5)# 10 10
self.appear()
def appear(self):
random_x=random.randint(-380,380)
random_y=random.randint(-380,380)
self.goto(random_x, random_y)
#ملف تشغيل اللعبة الرئيسي
from turtle import Turtle, Screen
from snake import Snake
from food import Food
import time
import random
window=Screen()
window.setup(800,800)
window.bgcolor(‘black’)
window.title(‘snake game’)
window.tracer(0)
sam=Snake()
food = Food()
game_on= True
while game_on:
sam.move()
window.update()
time.sleep(0.1)
window.listen()
window.onkey(sam.up,“Up”)
window.onkey(sam.down,“Down”)
window.onkey(sam.right,“Right”)
window.onkey(sam.left,“Left”)
if sam.head.distance(food) < 15:
food.appear()
sam.extend()
window.exitonclick()
في الجمعة، ٢٧ سبتمبر ٢٠٢٤، ٧:١٨ م Abdelrahman Saber عبر أكتو كود تعلم البرمجة من الصفر <notifications@octucode1.discoursemail.com> كتب:
انا كاتبه الكود كله تحت بعض مش زي ما المستر ابراهيم عامله صح ولا اه
from turtle import Turtle ,Screen
class Snake:
def init(self):
self.turtles=
self.position=[(-40,0),(-20,0),(0,0)]
self.create_snake()
self.head= self.turtles[-1]
def create_snake (self) :
for i in range(len(self.position)):
new_turtle = Turtle(‘square’)
new_turtle.color(‘white’)
new_turtle.penup()
new_turtle.goto(self.position[i])
self.turtles.append(new_turtle)
def move(self):
for i in range(len(self.turtles)-1):
self.turtles[i].goto (self.turtles[i+1].pos())
self.head.fd(20)
def extend(self):
new_segment= Turtle (‘square’)
new_segment.color(‘white’)
new_segment.penup()
new_segment.goto (self.turtles[0].pos())
self.turtles.insert(0,new_segment )
def up(self):
self.head.setheading(90)
def down(self):
self.head.setheading(270)
def right(self):
self.head.setheading(0)
def left(self):
self.head.setheading(180)
#from turtle import Turtle
#import random
class Food (Turtle):
def init(self):
super().init()
self.shape (‘circle’)
self.penup()
self.color(‘red’)
self.shapesize(0.5, 0.5)# 10 10
self.appear()
def appear(self):
random_x=random.randint(-380,380)
random_y=random.randint(-380,380)
self.goto(random_x, random_y)
#ملف تشغيل اللعبة الرئيسي
from turtle import Turtle, Screen
from snake import Snake
from food import Food
import time
import random
window=Screen()
window.setup(800,800)
window.bgcolor(‘black’)
window.title(‘snake game’)
window.tracer(0)
sam=Snake()
food = Food()
game_on= True
while game_on:
sam.move()
window.update()
time.sleep(0.1)
window.listen()
window.onkey(sam.up,“Up”)
window.onkey(sam.down,“Down”)
window.onkey(sam.right,“Right”)
window.onkey(sam.left,“Left”)
if sam.head.distance(food) < 15:
food.appear()
sam.extend()
window.exitonclick()
طب ما كدا خطأ … حضرتك كدا عندك مشكلة ف فهم كيفية إنشاء module.
الأفضل إن يكون لكل كود يكون ف ملفه …اومال احنا لي مستوردين كل الملفات دي ف الملف الرئيسى…
ممكن عادي يكون الكود كله ف ملف واحد:
بس هنلغي كل الملفات مستوردينها دي snake وfood وكل ده …
مش هنخلي غير
from turtle import Turtle,Screen
وموديول الوقت وال random
ف نقطة ف الكود بتاع حضرتك
لما هيأتي الكلاس وعملت الميثود init نسيتي تكتبي ال
2 underscore قبل وبعد بالشكل ده
def init(self)
انا فهمه وجه نظر حضرتك وعارفه ان لازم ننشاء module بس مش عارفه اعمل كدا في pydriod3 ، انا مسحت food,snack زي ما حضرتك قولت بس هو يطلعلي خطا في ده
ممكن اعرف الخطا فين
عاش عليكي💪
امسحي السطور من اول 102
السطر ال تلاقيه مش شغال او غلط بسبب المسافه …امسحيه ثم ارجعي لنهايته الكود ال قبله واضغطي ع زر النزول وهو هيعمل المسافات ال عاوزها…
بالنسبه للأخطاء:
ف خطا ف المسافات في السطر رقم 102
+حضرتك مسميه الاوبجكت sam وإلا snake ؟
لان ظاهر ف الصوره إنك كاتب sam ف السطر 98 ثم رجعتي كتبتي snake… ف كدا هيطلعلك خطأء تاني…
(الاوبجكت مسمياه فوق sam )
- مينفعش نكتب اسطر كود بعد السطر ال بيخلي النافذة شغااله
window.exitonclick()
كل الكود بتكون قبله
تمام شكرا جدا🙏 انا عملت الي حضرتك قولت عليه ،بس ظهرا مشكله تانيه
وده الكود كله حتي الان:(“arial”,24,“normal”))
#ملف تشغيل اللعبة الرئ
from turtle import Turtle, Screen
import time
import random
window=Screen()
window.setup(800,800)
window.bgcolor(‘black’)
window.title(‘snake game’)
window.tracer(0)
sam=Snake()
food = Food()
game_on= True
while game_on:
sam.move()
window.update()
time.sleep(0.1)
window.listen()
window.onkey(sam.up,“Up”)
window.onkey(sam.down,“Down”)
window.onkey(sam.right,“Right”)
window.onkey(sam.left,“Left”)
if sam.head.distance(food) < 15:
food.appear()
sam.extend()
score.increase_score()
if sam.head.xcore()>370 or sam.head.xcore > -370 or sam.head.ycore >370 or
sam.head.ycore > -370:
game_on=False
score.game_over()
window.exitonclick()
ممكن حضرتك تقولي المشكله فين تاني
لازم تحاول يا صديقي
العلم صعب لو كان سهل لكنا كلنا علماء
لا تتكاسل وتقول صعب
حاول مرة وتنين و10 الا ان يزبط
لو عندك المقدرة اشتري لابتوب
لو ما عندك المقدرة اشتري لابتوب مستعمل غالبا يكون بنصف سعر الجديد
اخي ليست النصيحة بهذا الشكل…لا احد يعلم ظروف الأخر
نحن هنا لنساعد بقدر الامكان …
نعم كلنا لدينا ظروف
انا مريت بالتجربة
ليس لدي مال كثير
فبحثت كثييرا على لابتوب مستعمل
ولله الحمد وجدته رخيص يناسب مقدرتي وسلس في الاستعمال
وجدته باقل من نصف سعر الجديد
يعني مثلا جديد
1000 جنيه
مستعمل 500
انا اخذته ب400
المثال للتوضيح
تمم
if sam.head.xcore()>370 or sam.head.xcore > -370 or sam.head.ycore >370 or
sam.head.ycore > -370:
السطر دا ف خطأ…
حضرتك هنا بتقول لو ال xcor للثعبان أكبررر من -370 ==> ( دا معناه ان لو الثعبان ال xcor بتاعه كان ف رينج 370 ل -370 ) هيكون اكبر من -370 لان احنا هنا بنتكلم بالسالب ف -1 اكبر من -2 …تمام كدأ
يبقي المفروض بقي نقول :
if sam.xcor()<-370:
بالنسبه للمشكله التاني ف نزليها عشان اعرف اي هي+ دا مش الكود كله.
احسنت ي غالي…بارك الله فيك