قبل المرور بالخطوات ، إليك مخططًا للعوامل العامة للعبة:
أولاً ، سنقوم بتسمية فئة تخمين GuessingGame ونضيف وظيفة رئيسية فارغة على النحو التالي:
public class GuessingGame {
public static void main ( String [] args ) {
}
}
مع هذه الخطوط فقط ، البرنامج صالح تمامًا ؛ يمكنك تجميع وتشغيل ، لكنه لا يعرض أي شيء إلى وحدة التحكم حتى الآن.
لإنشاء رقم سيخمنه المستخدم لاحقًا ، دعنا نعلن عن عدد متغير من نوع عدد صحيح واستخدم هذه التعليمات: *(Math.Random () 100 + 1) لتعيين رقم عشوائي في نطاق 1 إلى 100 .
public class GuessingGame {
public static void main ( String [] args ) {
int computerNumber = ( int ) ( Math . random ()* 100 + 1 );
System . out . println ( "The correct guess would be " + computerNumber );
}
}
يعرض السطر الرابع الرقم العشوائي للمستخدم في الوقت الحالي ، ولكن لا يتم طباعة هذا الخط عند تشغيل الإصدار النهائي من هذه اللعبة. في الوقت الحالي ، يقوم هذا الخط ببساطة بتسجيل الإجابة الصحيحة على وحدة التحكم للتحقق.
الآن ، يجب تخمين الرقم العشوائي الذي تم إنشاؤه بواسطة الكمبيوتر من قبل المستخدم. من أجل الحصول على إجابة من المستخدم ، نعلن عن مستخدمي مستخدم متغير آخر وتهيئته.
هذا بسيط للغاية ويمكنك القيام بذلك عن طريق تهيئة عدد متغير int: int count = 1 . يعرض هذا بالإضافة إلى ذلك مربع حوار الإدخال حتى يخمن المستخدم الرقم الصحيح.
الخطوة 5: تحقق من إجابة المستخدم ، من الواضح تمامًا أنه لا يمكن إعطاء المستخدم محاولة واحدة فقط لتخمين الرقم في هذه اللعبة. لذلك ، نحتاج إلى إعطاء المستخدم أكبر عدد ممكن من المحاولات ، ويتم التحقق من الرقم في جميع المحاولات. يتم حساب عدد المحاولات بالفعل في خطوة سابقة.
الآن ، يتم التحقق من إدخال الإجابة من قبل المستخدم بالرقم العشوائي للكمبيوتر باستخدام حلقة بدءًا من هذا الرمز: بينما (UserAnswer! = Computernumber) . يتم شرح الجزء الأكبر من الكود تحت حلقة "بينما" أدناه:
while ( userAnswer != computerNumber )
{
String response = JOptionPane . showInputDialog ( null ,
"Enter a guess between 1 and 100" , "Guessing Game" , 3 );
userAnswer = Integer . parseInt ( response );
JOptionPane . showMessageDialog ( null , "" + determineGuess ( userAnswer , computerNumber , count ));
count ++;
}
مع تمرير الوسائط من أثناء حلقة لتحديد GUESGES ، نحتاج إلى التحقق من مدى قرب الرقم الذي يمتلكه المستخدم من أن يكون رقم الكمبيوتر الذي تم إنشاؤه وعرض عدد المحاولات التي بذلت. هناك خمسة بيانات مشروطة سيتم تنفيذها بناءً على إدخال الأرقام من قبل المستخدم.
public static String determineGuess ( int userAnswer , int computerNumber , int count ){
if ( userAnswer <= 0 || userAnswer > 100 ) {
return "Your guess is invalid" ;
}
else if ( userAnswer == computerNumber ){
return "Correct! n Total Guesses: " + count ;
}
else if ( userAnswer > computerNumber ) {
return "Your guess is too high, try again. n Try Number: " + count ;
}
else if ( userAnswer < computerNumber ) {
return "Your guess is too low, try again. n Try Number: " + count ;
}
else {
return "Your guess is incorrect n Try Number: " + count ;
}
}