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

عندي مشروع وابغى اعمله عن طريق array

مغلق
بدأه شاب مسلم في 29 فبراير 2004 · 14 رد · 1,056 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي مشروع وابغى اعمله

وهو برنامج بسيط

حيث يكون هناك 2 array

10 في 10 مما سيولد 100 مكان

ثم يتم وضع هديه بشكل عشوائي في عشر اماكن

و مستخدم البرنامج له خمس مرات يختار فيها الرقم الذي يتوقع ان تكون فيه الهديه

واذا اصاب تخرج له رساله انه حصل على هديه ويستمر حتى ينتهي من الخمس محاولات

المشكلة اني لا ادري كيف اضع الهديه بشكل عشوائي عن طريق math.random

فهل يمكن احد يساعدني في هذا البرنامج

ودمتم في خير

#2

سلام عليكم....

طيب يا اخي أولا

انت تحتاج رقم من صفر الى 99

فاستخدم math.random

و اضرب العدد في 100

وحول العدد الى عدد صحيح integer

ويصبح عندك الان عدد عشوائي من 0 الى 99

طيب الان نريد ان نعمل كلاس اذا حبيت

اسم الكلاس هدية

ويكون فيها متغيرين

اسم الهدية و رقم الهدية

class gift{

private String name;
private int num;
public gift (String name , int num)
{
this.num=num;
this.name=name;
}

// put the getters and the setters her
}

الان انشيء كلاسات الهدايا

وضعهم في اي مكان

في array or container or linkedList or stack

lملاحظة:

عند انشاء كلاس الهدية

خذ اسم الهدية من ملف مثلا

ورقم الهدية العدد العشوائي

الان اصبح لديك مكان فيه 100 هدية

وكل هدية تحمل عدد عشوائي

تحتاج الان عدد عشوائي

واحد فقط

و تأخذه وتبحث عن هديتك

وضعها في الـ array الخاص بك

=======

انت ممكن تعمل الشي هذا في ابسط من كذا

ولكن هذه طريقة

احب استخدامها

لانها تضمن عشوائية

كاملة

وشكر

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#3

و ينك يا زلمة الله يسامحك هيك اللي يطلب منك استفسار ...

ما ترد عليه و الآن تريدنا نساعدك في حل مشروعك؟؟؟؟

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

#4

معليش أخي رامي

انا ما عرفت مين تقصد

؟؟؟؟؟

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#5

آآآخ بس انا منزعج فعلا لانه كنت بحاجة شديدة له و لم يطنش

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

#6

يا اخ رامي انا ارسلت لك تفاصيل كثيرة على بريدك الداخلي في المنتدى

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

ولكنك لم ترد علي

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

#7

هذا هو المشروع الذي قدمته منذ ايام قليله

/*


  Assignment 1
  Data Written:  03.03.2004
*/

	import java.applet.Applet; 	 // import class Applet
	import java.awt.*;   	 // import class awt
	import java.awt.event.*; 	 // import class awt event package
	import java.text.*;   	 // import class text
	import java.util.*;   	 // import class util
	import java.io.*;   	 // import class io

	public class  AssignmentOne  extends Applet implements ActionListener
	{
  // create an array called game
  int game [][] = new int [10][10];
  int prizeX, prizeY , enterX, enterY;
  int win=0;
  int nbrGuess =1; //  counter of how many times a user guesses

  Label enterLabalX,enterLabalY;
  TextField enterTextX,enterTextY,result,gameOver;
  Button enter; // create a button

  //this mothed to fill array by 0s
  void fillArrayByZero(int theArray [][])
  {
 	 for (int i=0; i<theArray.length; i ++)
    for(int j=0; j<theArray.length; j++)
    theArray [j]= 0;
  }

  // this mothed to make the prize locations must be set up RANDOMLY
  void setPrize(int theArray [][],int nbrPrize)
  {
 	 prizeX = (int)(Math.random ()*theArray.length);
 	 prizeY = (int)(Math.random ()*theArray.length);
 	 // must have 10 prizes, But 2 prizes should not be in the same location
 	 for (int i=0; i<nbrPrize; i ++)
 	 {
    if(theArray[prizeX] [prizeY]==0)
   	 theArray[prizeX] [prizeY] =1;
    else
   	 i--;

    prizeX = (int)(Math.random ()*nbrPrize);
    prizeY = (int)(Math.random ()*nbrPrize);
 	 }
  }

  public void init()
  {
 	 enterLabalX = new Label("Please enter the Row location  of  your guess  :");
 	 enterLabalY = new Label("Please enter the Column location of your guess:");

 	 enterTextX = new TextField(3);
 	 enterTextY = new TextField(3);

 	 result = new TextField(50);// the result will be in this text field
 	 gameOver = new TextField(50); //when game over  will be inform the user in this text field
 	 enter = new Button("Enter"); // the button = enter
 	 //Create a layout manager
 	 FlowLayout flow = new FlowLayout(FlowLayout.CENTER,10,10);
 	 setLayout(flow);    // Set the Layout
    flow.setHgap(20);    // Set Horizontal gap

 	 add (enterLabalX);
 	 add (enterTextX);
 	 add (enterLabalY);
 	 add (enterTextY);
 	 add (enter);
 	 add ( result);
 	 add ( gameOver );

 	 enter.addActionListener(this);
 	 fillArrayByZero(game);
 	 setPrize(game,10);
  }


  public void actionPerformed(ActionEvent ae)
  {
 	 String str = ae.getActionCommand();
 	 // The user receives five guesses for prizes
 	 // if a user guesses from 1 to 5 do this job
 	 if (str.equals("Enter") && nbrGuess <6)
 	 {
    // get the number from the user
    enterX = Integer.parseInt(enterTextX.getText());
    enterY = Integer.parseInt(enterTextY.getText());
    result.setText("");
    // the numbers guess must be between 0 and 9 like array length
    if(enterX <0 || enterX >9 || enterY < 0 || enterY >9 )
    {
   	 // if the number not between 0 and 9 display this message
   	 result.setText(" The guess numbers must be between 0 and 9");
   	 enterTextX.setText("");
   	 enterTextY.setText("");

    }
    // if the number of guesses equals 5 this last guess
    if(nbrGuess ==5)
    {
   	 //if the number of guess equals 5 and the user has win a prize
   	 if(game[enterX][enterY]==1)
   	 {
      win ++; //increase the number of win
      // the  position of prizes must hold -1 after user  won
      game[enterX][enterY] = -1;
      /* The number of guesses and prizes won must be displayed to the user
      at the end of the game include the guess number 5 */
      result.setText("you have won     "+ win + "   prize. " );

   	 }

   	 // if the number of guess equals 5 and the user has not win a prize
   	 else if ( win ==0)
   	 {
      // inform the user that he did not win and then game over
      result.setText(" we are sorry but you did not win  any time ");
      // then inform the user that he used 5 guess's and game over
      gameOver.setText(" YOU HAVE USED YOUR 5 GUESS'S!     GAME OVER ");
   	 }
   	 else
   	 /* The number of guesses and prizes won must be displayed to the user
   	 at the end of the game */
   	 result.setText("you have won    "+ win + "   prize. " );
   	 gameOver.setText("YOU HAVE USED YOUR 5 GUESS'S!     GAME OVER ");

    }
   	 /* if the number of guess is between 1 and 5
      and user won */
   	 else if(game[enterX][enterY]==1)
    {
   	 win ++; //increase the number of win
   	 // the  position of prizes must hold -1 after user  won
   	 game[enterX][enterY] = -1;
   	 // the program will inform the user that a prize has been won
   	 result.setText(" Congratulations you've won a prize. ");
   	 enterTextX.setText("");
   	 enterTextY.setText("");
    }

    // each time the user not win
    else if(game[enterX][enterY]!=1)
    {
   	 // the program will inform the user that he did not win and try again
   	 result.setText(" Try again  ");
   	 enterTextX.setText("");
   	 enterTextY.setText("");
    }

      // increase the guess number
        nbrGuess++;
   	 }
 	 else
   	 //The game will end when the  user uses their five guesses.
   	 //and will display this massage
   	 result.setText("  You have only 5 times to gauss" );
  }

  //  The program will  display the array to the lecturer  when the program is excecutes
  public void paint(Graphics g)
  {
 	 int xPosition = 40;
 	 int yPosition = 275;

 	 for (int i=0; i< game.length; i++)
 	 {
    for ( int j = 0; j< game.length; j++)
    {
   	 g.drawString(game[j]+"",xPosition,yPosition);
   	 xPosition += 35;
    }
    yPosition += 20;
    xPosition = 40;
 	 }

 	 g.setColor(Color.red); 	 // Set color to red
 	 g.drawString("Y / X",10,250);
 	 for (int i=0; i< game.length; i++)
    g.drawString(i+"",45+(i*35),250);

 	 for ( int i = 0; i< game.length; i++)
    g.drawString(i+"",20,275+(i*20));

 	 g.setColor(Color.blue); 	 // Set color to blue
 	 g.drawString(" Programmer : Shab Muslim ",30,500);
  }

	}
#8

ما هو رأي الاخوة في هذا البرنامج

#9

تمام

وعندي شوية نصائح

بحكم انك مبرمج

يجب ان تولي أهمية لهذه الاشياء:

1- جمال الشكل وسهولة عمله مع المستخدم

2- كتابة ارشادات لعمل البرنامج

3-وضع الحجم المثالي الذي يجب ان يعمل في البرنامج

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#10

ماذا تقول ؟؟؟؟ لم يصلني شئ و الله وكم كنت بحاجة الى ايميلك ثم انا ليس لدي بريد داخلي!!!

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

ramy@ramy.ws

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

#11
MEMONONO كتب:
تمام

وعندي شوية نصائح

بحكم انك مبرمج

يجب ان تولي أهمية لهذه الاشياء:

1- جمال الشكل وسهولة عمله مع المستخدم

2- كتابة ارشادات لعمل البرنامج

3-وضع الحجم المثالي الذي يجب ان يعمل في البرنامج

جزاكم الله على النصيحة

و عن طريق ملاحظتك استطيع ان ارتقي بمستواي

وجزاكم الله خيرا

#12
رامي العيساوي كتب:
ماذا تقول ؟؟؟؟ لم يصلني شئ و الله وكم كنت بحاجة الى ايميلك ثم انا ليس لدي بريد داخلي!!!

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

ramy@ramy.ws

لا اتذكر بالضبط ما ارسلته لك قبل شهر

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

وارسل لي ما تشاء من اسئلة

telfax7@yahoo.com

#13

...

How to run the programm ?

it aske for the main ..

and if i creat main .. it do not works ..!!

#14
المبرمج1 كتب:
...

How to run the programm ?

it aske for the main ..

and if i creat main .. it do not works ..!!

البرنامج يعمل بدون اي اضافات

وانا متاكد من هذا

هذا المشروع الاول في السمستر الثاني لهذا العام

وقدمته وهو يعمل

ثم وضعت الكود هنا

وقبل ان اضعه تأكدت ايضا انه يعمل

فكرة البرنامج ان هناك arry

10*10

يتم وضع عشر جوائز في عشرة اماكن من المائة مكان بشكل عشوائي

ثم يدخل المستخدم ويكتب الرقم الذي يتوقع ان تكون فيه الجائزة

ويكتب الرقم بطريقه ان يبدأ بوضع الـ X ثم يضع الـ Y

بمعنى اخر يضع رقم السطر ثم رقم العمود للمربع الذي يتوقع ان تكون فيه جائزة

فإن كانت هناك جائزة تخرج له رساله تعلمه بهذا

او تخرج له رساله ليحاول مرة ثانيه

حيث انه له 5 مرات يحاول فيها

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

وانا متاكد ان الكود يعمل

ودمتم في خير

#15

على فكرة البرنامج معمول بـ applet

ولذلك لا يوجد فيه main

يجب ان تشغل البرنامج عن طريق الابليت

ودمتم في خير

هذا الموضوع مغلق.

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