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

تصميم الالعاب باستخدام بايثون الاستجابة لنقر الفأرة

xr_omb

السؤال

أهلا أريد مساعدة في هذه البرمجة لو سمحتو :

أولا في هذه البرمجة من المفروض انني عندما اقوم بالضغط على الخلفية يتغير اللون باستمرار ولكن إذا ضغط على هذه الخلفية 5 مرات يجب أن يتوقف تغير لون الخلفية وتظهر كلمة نهاية اللعبة . ولكن المشكلة انه حتى لو ضغطت 5 مرات على الخلفية ما تنتهي اللعبة وما يظهر نهاية للعبة ، هذه هي البرمجة خاصتي أتمنى منكم مساعدتي لُطفا : 

 

from processing import *
import random
# setup is called once at the start

red = 236
green = 242
blue = 63
mouse=0
end_game = False 
def setup():
	size(500,500)

def draw():
	background(red, green, blue)

def mouseClicked():
	global red
	global green
	global blue
	red = random.randint(0, 255)
	green = random.randint(0, 255)
	blue = random.randint(0, 255)
	if mouse <5:
		end_game = True
		textSize(45)
		text("end game",180,250)

run()

 

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

في الدالة mouseClicked لا يتم التعرف غلى المتغير mouse الذي تم تعريفه في الأعلى لعدم وضع كلمة global قبله في بداية الدالة مثل ما تم التعامل مع الألوان، فأعتقد أنه ليس له قيمة بدائية أي ليست 0 و هل تتغير قيمته مع النقر؟ يمكن طباعة قيمته للتأكد من خلال print مثلا.

كما يجب تغيير قيمته مع كل نقرة ضمن الشرط if بزيادة 1 له أي ل mouse

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 14 ساعات قال Wael Aljamal:

في الدالة mouseClicked لا يتم التعرف غلى المتغير mouse الذي تم تعريفه في الأعلى لعدم وضع كلمة global قبله في بداية الدالة مثل ما تم التعامل مع الألوان، فأعتقد أنه ليس له قيمة بدائية أي ليست 0 و هل تتغير قيمته مع النقر؟ يمكن طباعة قيمته للتأكد من خلال print مثلا.

كما يجب تغيير قيمته مع كل نقرة ضمن الشرط if بزيادة 1 له أي ل mouse

أستاذ وائل ما فهمت قصدك زين إذا ممكن تكتبلي البرمجة وأكون شاكرة جدا لمساعدتك .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 38 دقائق مضت قال Sahar Alsakiti:

أستاذ وائل ما فهمت قصدك زين إذا ممكن تكتبلي البرمجة وأكون شاكرة جدا لمساعدتك .

 

from processing import *
import random
# setup is called once at the start

red = 236
green = 242
blue = 63
mouse=1
end_game = False 
def setup():
	size(500,500)

def draw():
	background(red, green, blue)

def mouseClicked():
	global red
	global green
	global blue

	global mouse  # هنا ليصبح متاح في الدالة

	red = random.randint(0, 255)
	green = random.randint(0, 255)
	blue = random.randint(0, 255)

	mouse = mouse + 1 # يجب زيادة قيمتها لكل نقرة

	if mouse == 5:  # تعديل الشرط
		end_game = True
		textSize(45)
		text("end game",180,250)

run()

 

التغييرات:

جعل المتغير mouse عام و تضمينه في الدالة mouseClicked ,وتغيير الشرط ليعمل ليتوقع عند النقرة الخامسة 

لاحظي أن القيمة الابتدائية ل mouse هي 1 وقمت بتعديلها لكي يعد حتى 5

من 0 إلى 4 أو من 1 إلى 5 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 40 دقائق مضت قال Wael Aljamal:

 


from processing import *
import random
# setup is called once at the start

red = 236
green = 242
blue = 63
mouse=0
end_game = False 
def setup():
	size(500,500)

def draw():
	background(red, green, blue)

def mouseClicked():
	global red
	global green
	global blue

	global mouse  # هنا ليصبح متاح في الدالة

	red = random.randint(0, 255)
	green = random.randint(0, 255)
	blue = random.randint(0, 255)

	mouse = mouse + 1 # يجب زيادة قيمتها لكل نقرة

	if mouse == 5:  # تعديل الشرط
		end_game = True
		textSize(45)
		text("end game",180,250)

run()

 

شكرا لك أستاذ وائل على مساعدتك وأنا آسفة على الازعاج ولكن أريد شيئا آخر وهو أن تتوقف اللعبة بعد الضغط على الخلفية أكثر من 5 مرات بحيظ تظهر شاشة سوداء مكتوب عليها "end  game "  وبذلك أكون قد انتهيت منها 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 دقائق مضت قال Sahar Alsakiti:

شكرا لك أستاذ وائل على مساعدتك وأنا آسفة على الازعاج ولكن أريد شيئا آخر وهو أن تتوقف اللعبة بعد الضغط على الخلفية أكثر من 5 مرات بحيظ تظهر شاشة سوداء مكتوب عليها "end  game "  وبذلك أكون قد انتهيت منها 

لأي رجة وصلتي في البرمجة؟ هل هذا هو كامل المشروع؟ هل تظهر text("end game",180,250) بعد النقر على الفأرة أكثر من 5 مرات؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال Wael Aljamal:

لأي رجة وصلتي في البرمجة؟ هل هذا هو كامل المشروع؟ هل تظهر text("end game",180,250) بعد النقر على الفأرة أكثر من 5 مرات؟

نعم تظهر _عند النقر لأكثر من 5 مرات _ولكن المشكلة انه "end game" تظهر لدقائق قليلة ثم تختفي ثم تستمر الخلفية بتغيير لونها _ ماأريده أنا هو أن تتوقف هذه الخلفية عن تغييير لونها عند النقر لأكثر من 5 مرات _ سأقوم بعد قليل بإرفاق فيديو لترى كيفية عمل البرمجة الحالية .

أتمنى يكون واضح !

Recording #27.mp4

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 7 دقائق مضت قال Sahar Alsakiti:

نعم تظهر _عند النقر لأكثر من 5 مرات _ولكن المشكلة انه "end game" تظهر لدقائق قليلة ثم تختفي ثم تستمر الخلفية بتغيير لونها _ ماأريده أنا هو أن تتوقف هذه الخلفية عن تغييير لونها عند النقر لأكثر من 5 مرات _ سأقوم بعد قليل بإرفاق فيديو لترى كيفية عمل البرمجة الحالية .

لتأخير إغلاق البرنامج يتطلب عمل ملؤقت زمني ثم استدعاء دالة إيقاف البرنامج

# في الأعلى نضمن المكتبة
import time
.
.
.

ضمن الشرط في if

time.sleep( 5 )

exit()

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال Wael Aljamal:

لتأخير إغلاق البرنامج يتطلب عمل ملؤقت زمني ثم استدعاء دالة إيقاف البرنامج


# في الأعلى نضمن المكتبة
import time
.
.
.

ضمن الشرط في if

time.sleep( 5 )

exit()

 

يطلعلي خطأ برمجي

 

2021-03-30 (2).png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 11 دقائق مضت قال Sahar Alsakiti:

يطلعلي خطأ برمجي

لأن ترتيب البرنامج لديك خطأ، هو غير منطقي.

لاحظي يجب عمل sleep بعد عرض النص على الشاشة كما أن اسادعاء exit ضمن شرط if 

if mouse == 5:  # تعديل الشرط
  end_game = True
  textSize(45)
  text("end game",180,250)
  time.sleep( 5 )
  exit()

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 دقائق مضت قال Wael Aljamal:

لأن ترتيب البرنامج لديك خطأ، هو غير منطقي.

لاحظي يجل عمل sleep بعد عرض النص على الشاشة كما أن اسادعاء exit ضمن شرط if 


if mouse == 5:  # تعديل الشرط
  end_game = True
  textSize(45)
  text("end game",180,250)
  time.sleep( 5 )
  exit()

 

وربييي انت أسطووورة 😭😭😭💗💗💗💗💗

شكرا شكرا جزييلا أستاذ واائل على مساعدتي🥺🤝

الحمد الله ضبطت البرمجة مثل م انا ابي💗💗

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...