الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج بلغة الجافا للعبة السلم والثعبان

بدأه مغتربة في 15 أكتوبر 2008 · 24 رد · 4,513 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أنا طالبة ماجستير في علوم الحاسب وطالبين برنامج بلغة الجافا للعبة السلم والثعبان

وماعندي ادنى معلومة او معرفة عن لغة الجافا فلو سمحتوا ممكن مساعدة وجزاكم الله خير

وقدم لنا الدكتور كود للبورد اذا حبيتوا اعرضه لكم وتشرحونه بشكل مبسط أكون لكم من الشاكرين

#2

بالله عليك ألا تجدين أن هذا غريب

أنتي تدرسين ماجستير يفترض بك أن تكوني أكثر إيجابية

لماذا لا تتعلمي جافا؟؟

على كل حال أياً كانت درجتك العلمية فهذا مخالف لقوانين المنتدى

اطرحي محاولاتك أولاً

تحياتي

تم تعديل هذه المشاركة بواسطة alaadiaa في 15 أكتوبر 2008 في 03:10

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

شكرا على هذا الرد السريع

أنا طالبة بكالوريس حاسب درست وطبقت برامج بلغة الفيجوال بيسك ,و ++C ولكن لم ادرس لغة الجافا خلال دراستي البكالوريس

يعني لغة جديدة بالنسبة لي و أنا الان في جامعة بريطانية

و طلبت منكم شرح كود بأدرجة في المنتدى أذا حبيتوا المساعدة

وليس كتابة برنامج

وشكرا

#4

ليست المشكلة في أنا لا نريد كتابة الكود

لكن يجب أن تتعلمي جافا

لأنها لغة أكاديمية بالدرجة الأولى

على العموم أدرجي الشيفرة وسنرى بإذن الله

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

شكرا على الرد

هذا كود البورد

public class Board { // Class to represent a snakes and ladders board. final private int[] position = { 0, // Arrays indexed from zero 1, 38, 3, 14, 5, 6, 7, 31, 9, 10, 11, 12, 13, 14, 15, 6, 17, 18, 19, 20, 42, 22, 23, 24, 25, 26, 27, 84, 29, 30, 31, 32, 33, 34, 35, 44, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 26, 48, 11, 50, 67, 52, 53, 54, 55, 53, 57, 58, 59, 60, 61, 62, 63, 60, 65, 66, 67, 68, 69, 70, 91, 72, 73, 74, 75, 76, 77, 78, 79, 100, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 73, 94, 75, 96, 97, 78, 99, 100 }; // Last place on the board private int lastPlace = position[position.length-1]; private boolean gameOver; // Set when a player reaches the end public int nextPlace(int place) { // If you land on place, nextPlace(place) returns where you should be. // Unless you go down a snake or up a ladder, nextPlace(place) == place if (place > lastPlace) place = lastPlace; gameOver = (place >= lastPlace) ? true : false; return position[place]; } public boolean isGameOver() { return gameOver; }}

#6

بعض الترتيب أختي

استخدمي زر الكود لوضع الشيفرة

وبعض الأسطر لو سمحتي

ما الذي تحتاجين شرحه بالضبط؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

فى فى جزئية ال java 2D games بتاعت jan

http://zetcode.com/tutorials/javagamestutorial/snake/

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#8

أناسف ادرجة الكود وماشيكت على الرد

و أكرر أنا أريد فقط شرح الكود وليس كتابة برنامج وساكون لك من الشاكرين وذلك لان بعض الاعضاء بتوقعون عكس ذلك

وأنا الان احاول تعلم لغة الجافا

public class Board {    // Class to represent a snakes and ladders board.   
   final private int[] position = {   
   0,                          // Arrays indexed from zero    
  1, 38, 3, 14, 5, 6, 7, 31, 9, 10,      
11, 12, 13, 14, 15, 6, 17, 18, 19, 20,      
42, 22, 23, 24, 25, 26, 27, 84, 29, 30,     
 31, 32, 33, 34, 35, 44, 37, 38, 39, 40,     
 41, 42, 43, 44, 45, 46, 26, 48, 11, 50,     
 67, 52, 53, 54, 55, 53, 57, 58, 59, 60,     
 61, 62, 63, 60, 65, 66, 67, 68, 69, 70,     
 91, 72, 73, 74, 75, 76, 77, 78, 79, 100,     
 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,     
 91, 92, 73, 94, 75, 96, 97, 78, 99, 100   
 };     
 // Last place on the board    
private int lastPlace = position[position.length-1];   
 private boolean gameOver; // Set when a player reaches the end 

       public int nextPlace(int place) {  
    // If you land on place, nextPlace(place) returns where you should be.    
  // Unless you go down a snake or up a ladder, nextPlace(place) == place      
  if (place > lastPlace)       
 place = lastPlace;      
  gameOver = (place >= lastPlace) ? true : false;      
  return position[place];   
 }     
 public boolean isGameOver() {   
   return gameOver;  
  }  
}
#9

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#10
final private int[] position

قام بتعريف array لتحديد الموقع

private int lastPlace = position[position.length-1];

آخر موقع واعطاه آخر قيمه في المصفوفه

   private boolean gameOver;

عرف متغير منطقي

public int nextPlace(int place) { 
if (place > lastPlace)	 
   place = lastPlace; 
	   gameOver = (place >= lastPlace) ? true : false;	
	return position[place];   
 }

ميثود لفح المكان إذا كان أكبر من آخر موضع تتغير قيمته الى آخر موضع ويعطى قيمة false عكس ذلك يأخذ قيمة true

ومن ثم نقوم بارجاع قيمة المنطق

 public boolean isGameOver() {	  return gameOver;	}

تعيد قيمة منطقيه لـ gameover

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#11

هل يمكن شرح ماهي لعبة السلم والثعبان؟؟

#12

شكرا اخي الكريم على هذا الشرح جزاك الله خير

#13

على حسب ما أذكر أنها كانت عبارة عن أرقام من واحد إلى مئة

وكل رقم يحتوي على إحدى ثلاث

إما أن يكون رقم عادي لا يقوم بعمل شيء

وإما أن يكون رقم يرفعك إلى رقم أعلى منه وهذا سلم

ورقم ينزلك إلى رقم أقل منه وهذا ثعبان

ملاحظة

واضح أن لدغة الثعبان تسبب نزولك إلى الأسفل وذلك لوجود الكثير من الألم

وأن ارتقاء السلم يجعلك في مكان أعلى من الآخرين

وعلى هذا تم اختيار الاسم

ربما يكون كلامي هذا محض خيال لا أكثر

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#14

شكراalaadiaa على ردك

ولكن على اي اساس وزع عناصر المصفوفة به الشكل

وش الارقام الي تكون السلم والارقام الي تكون الثعبان

#15

هذه البورد ليست بالضرورة أن تبقى كما هي

لكن لاحظي معي التالي

ترتيب العناصر 0 1 38

لاحظي القفزة هذا يعني أن هناك سلم عند الخانة 2

ثم لاحظي هنا الترتيب التالي

12, 13, 14, 15, 6

وهذا يعني ثعبان عند الخانة 16

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#16

شكرا alaadiaa الحين بديت استوعب البورد جزاك الله خير

طيب اذا كنت ابي اعدل فيه لانه مطلوب اصدار نسخة مطورة وش الافكار الي تقترحة لتعديل فيها طبعا

من اقتراحاتي اخلي البرنامج يطلب اسم كل لاعب

وازودة بتايمر يحدد المدة المعينة لكل لاعب ( توقعاتكم هذي بتكون سهلة تطبيقها)

#17

هل لعبتي هذه اللعبة من قبل؟؟

ابحثي عنها والعبيها

ليتسع أفقك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#18

ماعليش كثرة عليكم بس ياليت تشرحون لي ماهو container class لانه مطلوب وصراحة عجزت افهم معنا او وظيفتة بالانجليزي

#19

هو الشيء الذي يحتوي أشياء أخرى

مثلا نقول container of food يعني أن هذه المساحة تحتوي على طعام

يوجد فئة class في جافا اسمه Container

وهذه عبارة عن الشيء الذي يحتوي المكونات components

فمثلاُ JFrame له container خاص به

كذلك JApplet ,JPanel

ممكن تعطينا المطلوب منك بالضبط

على أساس نحاول نفهم أكثر

تحياتي

تم تعديل هذه المشاركة بواسطة alaadiaa في 22 أكتوبر 2008 في 01:27

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#20

انا عرفت انه يكون محتوى بس كيف يعني اضيف كل العمليات الي في كود البورد في هذا الكونتينر يعني وش بتكون فايدتة

هذا المطلوب

you have to use a container class to hold a set of one-way tunnels which represent the Snakes and Ladders.

The location of each tunnel should be read in from a configuration file

وشكرا

#21

ترجمي السؤال إلى العربي

وأرينا ما الذي فكرتي فيه وآلية التفكير

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#22

السلام عليكــم ورحمـة الله وبركاتــة

الترجمة

لازم استخدم container Class لتمثل القناة التي توضح السلم والثعبان

ويجب ان يقرا مواقع هذة القناة عن واسطة a configuration file

يعني نلغي المصففوفات الي في البورد سيمبل ونحطة في الكونتينركلاس بس بشرط بدون مصفوفة عادي نمثلها list

#23

سيكون لدينا ليستتين واحدة للسلم والثانية للثعبان

ممكن نعتبر التالي

أي موقع في المصفوفة التي ذكرناها

في مكانه الحقيقي دون أي تغيير لن نضيفه إلى أي ليستة

لكن في حال كان الموجود في المصفوفة أكبر من المكان خاصته بمعنى سلم

فنضيفه إلى ليستة السلم مع قيمة الموقع

وإذا كان أقل نضيفه إلى ليستة الثعبان

بصراحة أظن السؤال غامض بعض الشيء

هل الcontainer هنا عبارة عن فئة class جاهز لديكي؟؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#24

بالنسبة للكونتينر لا صراحة مو موجود عندي بس مسجل الدكتور انه يكون class

اما بالنسبة للlist اذا بلاامكان تكتب مثال بسيط عن طريق كتابة list مع وضع ارقام عشوائية للسلم

#25

سلام

يبدو ان المطلوب انة يكون في ملف configuration يحتوي على معلومات عن اللعبة مثل كم عمود فيها و مواقع الثعابين والسلالم

أقترح انة يكون ملف XML كتالي


<columns ="10">
<rows = "10">

<ladder from="12" to ="75">
<ladder from="30" to ="50">
<ladder from="62" to ="95">

<snake from="80" to ="23">
<snake from="22" to ="2">
<snake from="92" to ="80">

</Game_Conf>
<Game_Conf>

وقبل ما تبداء اللعبة تخلي البرنامج يقراء هذة البيانات ويرسم المربعات بحسب الاعمدة و السطور و يرسم السلالم و الثعابين حسب مواقعهم

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…