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

كيفية رمي 5 ازهار من النرد

بدأه java_seeker في 12 أكتوبر 2008 · 6 رد · 1,735 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

هذه محاولة قمت فيها لتصميم برنامج يقوم برمي 5 ازهار من النرد بشكل عشوائي

انا متأكد من ان الطريقه الي اتبعتها بدائية جدا لكن هي محاوله

ارجوا من الاخوان الخبراء في الجافا يبدون وجهة نظرهم في الكود

وكيفية تطويره اذا كان يحتاج تطوير


import java.util.*;
/**
* ListofDises calss is a class that make list of dices and throw them randomy .
*
* @author (Majed)
* @version (V.1 12-10-08)
*/
public class ListofDises
{

private ArrayList<Dice> dices;

/**
* Constructor for objects of class ListofDises
*/
public ListofDises()
{

dices = new ArrayList<Dice>();
filldice();
}

/**
* private method to create a list of dices
*
*
*/
private void filldice()
{
Dice dice1 = new Dice();
Dice dice2 = new Dice();
Dice dice3 = new Dice();
Dice dice4 = new Dice();
Dice dice5 = new Dice();
dices.add(dice1);
dices.add(dice2);
dices.add(dice3);
dices.add(dice4);
dices.add(dice5);
}

/**
* iterate over the dice and throw the dice
*
*
*/

public void throwDices()
{
for(Dice dic : dices){
dic.throwDice();
}
System.out.println();
}
}


import java.util.*;

public class Dice
{

private Random dice;

/**
* Constructor for objects of class Dice
*/
public Dice()
{
// initialise instance variables
dice = new Random();

}


public void throwDice()
{

int index = dice.nextInt(6);
System.out.print(index + 1);

}
}

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

#2

وضح يا أخي/أختي ما الذي تريده بالضبط؟

ماهو المطلوب منك؟

تحياتي

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

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

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

728x90.png

#3

شكرا لردك اخي الكريم.......

المطلوب اخي الكريم هو هل الطريقة التي استخدمتها طريقة صحيحه : مثلا

هل من المفترض ان استخدم HashSet بدلا من ArrayList

هل الكود نظيف ام يحتاج الى بعض التعديلات ؟

هل الكود فعلا يقوم برمي 5 ازهار من النرد وكل زهرة لها رقم عشوائي ؟

لأكون اكثر وضوحا انا الآن اقوم بعمل برنامج محاكاة للعبة التي على هذا الرابط:

http://www.owensworld.com/flashgames/play-406.htm

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

تم تعديل هذه المشاركة بواسطة java_seeker في 12 أكتوبر 2008 في 10:14

#4

هل هذا وصف صحيح للعبه ؟

A Game of Chance

اقتباس
You roll two dice. Each die has six faces, which contain one, two, three, four, five and six spots, respectively. After the dice have come to rest, the sum of the spots on the two upward faces is calculated. If the sum is 7 or 11 on the first throw, you win. If the sum is 2, 3 or 12 on the first throw (called "craps"), you lose (i.e., the "house" wins). If the sum is 4, 5, 6, 8, 9 or 10 on the first throw, that sum becomes your "point." To win, you must continue rolling the dice until you "make your point" (i.e., roll that same point value). You lose by rolling a 7 before making the point

فلن نستطيع المساعده الا بكتابه المتطلب بشكل أكبر وضوح .. وليس مجرد اللعب في اللعبه فلقد حاولت ولم أفهم شيء :) .

بالتوفيق ،

تم تعديل هذه المشاركة بواسطة Wajdy Essam في 12 أكتوبر 2008 في 15:52

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#5

أوووووووووووووف لقد قلت ما أريد قوله أخ وجدي

يجب التفصيل في متطلبات اللعبة وطريقتها

لكي نستطيع المساعدة

تحياتي

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

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

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

728x90.png

#6

هذي اللعبة باختصار : تقوم برمي 5 ازهار نرد ---> في اللعبة الواحده 13 رميه فقط ---> داخل كل رميه 2 محاوله مع القدره على ايقاف تحريك ازهار النرد التي تريدها لتمكن من تجميع النقاط

عند رمي ازهار النرد يوجد 13 طريقه لحساب النقاط مقسمة على قسمين Upper Section and Lower Section:

:Upper Section

1 ---> لجمع الواحدات ( فمثلا اذا كان مجموع ازهار النرد التي تحوي 1 يساوي 2 فمجموع النقاط التي جمعتها من هذه الرمية= 2 )

2----> لجمع الأثنينات ( فمثلا اذا كان مجموع ازهار النرد التي تحوي 2 يساوي 3 فمجموع النقاط التي جمعتها من هذه الرمية = 6 )

3 ---> لجمع الثلاثات( فمثلا اذا كان مجموع ازهار النرد التي تحوي 3 يساوي 1 فمجموع النقاط التي جمعتها من هذه الرمية = 3 )

4 ---> لجمع الاربعات( فمثلا اذا كان مجموع ازهار النرد التي تحوي 4 يساوي 2 فمجموع النقاط التي جمعتها من هذه الرمية = 4 )

5 ---> لجمع الخمسات( فمثلا اذا كان مجموع ازهار النرد التي تحوي 5 يساوي 5 فمجموع النقاط التي جمعتها من هذه الرمية = 25 )

6 ---> لجمع الستات ( فمثلا اذا كان مجموع ازهار النرد التي تحوي 6 يساوي 1 فمجموع النقاط التي جمعتها من هذه الرمية = 6 )

ايضا يوجد طريقة حساب اخرى التي تسمى Lower Section :

الحالة الأولى : 3 من نفس النوع ( فمثلا اذا استطاع اللاعب تحصيل 3 ازهار من نفس النوع مثلا ( 3 خمسات و 1 و 4) يحصل على مجموع جميع الازهار يعني في هذه الحالة ( 5+5+5+1+4 = 20 ))

الحالة الثانية : 4 من نفس النوع ( فمثلا اذا استطاع اللاعب تحصيل 4 ازهار من نفس النوع مثلا ( 4 ستات و 4) يحصل على مجموع جميع الازهار يعني في هذه الحالة ( 6+6+6+6+4= 28))

الحالة الثالثه : بيت كامل(Full House) ( فمثلا اذا استطاع اللاعب تحصيل 3 ازهار من نفس النوع ( مثلا 3 خمسات) 2 ازهار من نوع آخر (مثلا 2 اربعات) يحصل على 25 نقطه)

الحالة الرابعة : 4 ازهار متسلسله ( اذا كانت ازهار النرد على النحو التالي: 2 3 4 5 1 ) يستطيع الاعب الحصول عل 30 نقطه

الحالة الخامسة : 5 ازهار متسلسله ( اذا كانت ازهار النرد على النحو التالي: 2 3 4 5 6 ) يستطيع الاعب الحصول عل 40 نقطه

الحالة السادسه : 5 من نفس النوع ( 5 ثلاثات أو 5 ستات ) يكون مجموع النقاط 50 نقطه

الحاله السابعة : يتعامل معها كانها جوكر وهي جمع جميع النقاط التي تعكس قيمة ازهار النرد (فمثلا اذا كانت ازهار النرد على النحو التالي : 1 4 4 5 6 ) يكون مجموع النقاط 20

نقاط متفرقه:

@ يجب على الاعب ان يختار في كل رميه من 13 رميه(داخل كل رميه 2 محاوله مع القدره على تثبيت الأزهار المرغوبه والباقي اعادة رميه للحصول على نقاط اكثر) اي طريقه من الطرق المتاحه لحساب النقاط ( حتى لو كان ماجمعه من النقاط 0 )

@ ما سوف اقوم بعمله في هذه المرحله التالي:

1 ----> 2 كلاس يقوم برمي الخمسة ازهار عشوائيا وهو المطروح في أعلى الصفحه

2-----> كلاس يمثل ال 13 طريقه في حساب النقاط

3------> متغير مع حلقة تكرار يقوم بحساب مجموع المحاولات التي هي 13 محاوله وبعدها تنتهي اللعبه وتحسب النقاط المجمعه

للمزيد من المعلومات عن اللعبه وقواعدها ارجو زيارة الرابط التالي:

http://en.wikipedia.org/wiki/Yahtzee

ولعب اللعبه ارجو زيارة الرابط :

http://www.amblesideprimary.com/ambleweb/yahtzee/index.html

ارجو ان تكون الفكره واضحه للجميع وانا الآن جالس اشتغل على اللعبة بشكل كبير وآخذه شيء كبير من وقتي @ تمنياتي للجميع بالتوفيق

تم تعديل هذه المشاركة بواسطة java_seeker في 12 أكتوبر 2008 في 20:59

#7

بصراحة لم أفهم طريقة اللعبة

هل 13 رمية يعني أن مجموع الرميات لجميع قطع النرد يساوي 13

أم يعني أن كل قطعة نرد سترمى 13 مرة

ثم ما معنى المحاولة هنا

تحياتي

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

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

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

728x90.png

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