في درس اليوم سنتحدث عن التعداد أو السرد Enumeration. يعد التعداد الآن في الأساس قائمة مرتبة كاملة لجميع العناصر في مجموعة أو Collection. على سبيل المثال، الاثنين، الثلاثاء، الاربعاء، الخميس، الجمعة، السبت والأحد، ستكون قائمة كاملة بأيام الأسبوع. الأحمر والبرتقالي والأصفر والأخضر والأزرق والنيلي والبنفسجي قد تكون أو لا تكون مجموعة كاملة حسب ما تتحدث عنه. إذا كانت ألوان الطيف، ألوان ROYGBIV إذن نعم هي كذلك. إذا كانت تمثل كل الألوان، حسنًا، لا، فهي ليست كذلك. دعنا نلقي نظرة على كيفية استخدام التعداد في البرنامج. لقد سحبت السطر 11 لتوضيح كيف ستعلن تعداد يسمى الكواكب. وإذا نظرت إلى أعلى الشاشة يمكنك أن ترى لدي فئة تعداد الكواكب العامة Public Enum Planets ثم الكواكب التسعة. نعم، ما زلت أدرج بلوتو ككوكب. الكواكب التسعة في نظامنا الشمسي. يتبع السطر 11 روتيننا الرئيسي Main حيث لدينا ببساطة حلقة for loop تطبع أو تخرج كل الكواكب من خلال الوصول إلى كل واحد على حدة. في السطر 15، لدي أربعة كواكب ،P، وأنا أقوم بربط تعداد الكوكب، وعلى وجه التحديد قيم تلك القائمة، وأنا أقوم بطباعة P. وهذا نوع مختلف من حلقات for، لأنني أستخدم P كعنصر تحكم لأي كوكب أرغب في الوصول إليه. عندما أقوم بتشغيل البرنامج، كما ترى في الأسفل، لدي كل الكواكب بالترتيب لأن P تدور لكل من الكواكب في العد. تظهر لك الأسطر الثلاثة الأخيرة أنه يمكنك الوصول إلى قيمة كوكب الأرض، بمعني كلمة الأرض، أو الأعداد الترتيبية لأي من الكواكب. بلوتو، المريخ. ويمكنك اختيار واحد. وفقط في حال كنت تتساءل أين نحن في النظام الشمسي، الأرض هنا. في الكواكب الداخلية نحن الأكبر. لكن عندما تنظر إلى الكواكب الخارجية، الأرض هنا ونحن الأصغر. لنأخذ مثالاً آخر على التعداد. لنفترض أنني أردت أن ألعب لعبة Rock, Paper, Scissors. كل ما علي فعله هو التعداد الذي سأسميه بعلامة اليد، لأن Rock, Paper, Scissors هي لعبة يدوية. لدي ثلاث احتمالات، مقص وورقة وصخرة، ولا يهم الترتيب الذي وضعتهم فيه. عندما أكتب البرنامج لدي سطر 12 الذي يظهر هنا التعداد لدي. البرنامج لديه روتين لمسح الشاشة من خلال إنشاء تسلسل Escape Sequence، ويمكنني استخدام system.out.print واستخدم هذه المجموعة من الأحرف. \ 033 هو حرف Escape. عندما يتم دمج \ 033 مع القوس المفتوح، 033H يسمح لنا بالتحرك في الزاوية العلوية اليسرى من الشاشة، ويتيح لنا 2J مسح الشاشة. لذلك من خلال وضع هذه الأحرف معًا يمكنني مسح الشاشة من أي شيء موجود، متبوعًا بتدفق إخراج النظام للتخلص من أي مهملات التي لا تزال موجودة في طباعة إخراج النظام. ثم أعلن عن بعض الأرقام العشوائية، وهو ما فعلناه من قبل. لدي بعض الأعداد الصحيحة لحساب عدد الألعاب التي يتم لعبها، كم مرة يفوز الكمبيوتر، كم مرة يربح فيها اللاعب، وكم عدد مرات التعادل الموجودة. وبعد ذلك أدخل في منطق اللعبة. وتعلم ماذا؟ دعنا ننتقل إلى التشغيل الفعلي للعبة ونرى كيف يعمل هذا. ما سنحصل عليه هو شيء يشبه هذا. لكن دعنا نرى ذلك يحدث على الهواء مباشرة. أنا أستخدم مترجم أو محول GDB عبر الإنترنت، وسأقوم بتشغيل هذا البرنامج لأريكم كيف أقوم بلعب اللعبة. مرة أخرى، الشفرة(كود التعليمة البرمجية) بالكامل هنا. الكثير منها لا يجب أن يتعلق على وجه التحديد مع إعداد العد، ولكن الأمر يتعلق بكيفية وصولنا إلى العناصر الموجودة في هذا التعداد. نأمل أن يعرف الجميع قواعد لعبة Rock, Paper, Scissors. أبدأ مع حلقة while التي تصدر الأمر الذي يخبر المستخدم بما يجب فعله. أدخل S ل Scissors P ل Paper، R لـ rock أو Q لإنهاء اللعبة عند الانتهاء من اللعب. أقوم بتحويل الإدخال إلى أحرف صغيرة ثم تقييم من خلال بيان التبديل Switch. أي حرف ضغطوا. إذا كان لديهم حرف غير صالح، أعطي لهم رسالة وأكمل الحلقة مرة أخرى. وأتحرك للأسفل، لدي بعض الكود الذي سيولد رقمًا عشوائيًا الذي سيكون تحرك الكمبيوتر، وسطر يطبع الكمبيوتر وحركته، اللاعب وحركته. ثم حان الوقت لمعرفة من ربح اللعبة. إذا كانت الحركتان متساويتين، فهذا تعادل. إذا تحرك الكمبيوتر هو Scissor وحركة اللاعب Paper، نعلم جيدًا أن المقص يقطع الورق لذا يفوز الكمبيوتر. أتطرق إلى كل احتمالات فوز الكمبيوتر، ثم احتمالات فوز اللاعب. أخيرًا، في الجزء السفلي من الشاشة، أحسب النسب المئوية بعدد مرات فوز الكمبيوتر، كم مرة فاز اللاعب، وكم مرة كان هناك تعادل، وأقوم بطباعة تلك المعلومات. لكن جزء التعداد هنا له علاقة علامة اليد المقص هذه، علامة اليد الصخرة وعلامة اليد الورقة. وهذا يسمح لي بالعودة والتحقق لمعرفة قيم هذه العناصر. هيا لنلعب اللعبة. عندما نقوم بتشغيل اللعبة، تخبرني التعليمات، أن هذه هي لعبة Rock, Paper, Scissor. سأختار R ل Rock. ويخبرني أن ذلك كان تعادل لأن الكمبيوتر أيضًا اختار Rock. الآن اختر Rock مرة أخرى. هذه المرة اختار الكمبيوتر Scissors وأنا فزت. Rock آخر. اختار الكمبيوتر المقص. لقد فزت مرة أخرى. صخرة أخرى. اختار الكمبيوتر الورق. اشتعلت الأمور في لعبتي. الآن يفوز الكمبيوتر. لذا سأختار الورق. هذه المرة اختار الكمبيوتر المقص، ويقطع المقص الورق. تذكر الآن أن هناك مولد عشوائي، والمولد العشوائي يكتشف ما يجري. سأختار المقص مرة أخرى وبعد ذلك سأترك البرنامج. وقد لعبت ست مباريات. فاز الكمبيوتر مرتين. فزت مرتين. وكان هناك تعادلان. طريقة جيدة للتعرف على التعداد هو إلقاء نظرة على الأشياء المألوفة لدينا. في هذه الحالة، ترتيب الكواكب في نظامنا الشمسي. ألق نظرة على السطر 12. هذه هي القائمة القياسية بالترتيب للكواكب وهم يبتعدون عن الشمس. عطارد، الزهرة، الأرض، المريخ، المشتري، زحل. نضع أسماء تلك الكواكب داخل تعداد يسمى الكواكب. ومن هناك يمكنني طباعة القائمة. لنقم بتشغيل البرنامج. عندما أقوم بتشغيل البرنامج أحصل على قائمة كاملة من الكواكب. في الأسفل أحصل على قيمة الأرض هي الأرض. فهرس بلوتو ثمانية وفهرس كوكب المريخ ثلاثة. ماذا يحدث هنا هو أن هذه الحلقة for ستطبع القيمة، أو في هذه الحالة الاسم، لكل كوكب في العد. ثم أطبع قيمة كوكب معين، باستدعائها بالاسم. ويمكنني طباعة الرقم الترتيبي، وهو الفهرس. لأنك ستتذكر أنه تبدأ من الصفر. الآن نعلم جميعًا أن الأرض هي الكوكب الثالث من الشمس. إنه محير إلى حد ما لرؤية كوكب المريخ مدرجًا على أنه الكوكب رقم ثلاثة. نعلم جميعًا أن الأرض هي الصخرة الثالثة من الشمس، لذا ما علي فعله هو عدم طباعة الرقم الترتيبي، لكن اطبع موقع الكوكب في التعداد. أفعل ذلك، ولكن مع سطرين. سيكون السطر الأول هو إنشاء عدد صحيح Int يسمى كوكب Planet وسأضبطه على كوكب الأرض بقيمة الأرض. وسأضيف واحدًا إلى العدد الترتيبي. إذن الأرض، التي لها فهرس من رقم اثنين. عطارد صفر. الزهرة واحد والأرض اثنان. إذا أضفنا واحدًا إلى الترتيبي أو الفهرس، ستكون الأرض هي الكوكب الثالث. وبعد ذلك يمكنني طباعة الأرض هي الكوكب رقم ثلاثة. لنقوم بتشغيل البرنامج، وسنرى أن الأرض تظهر بالفعل ككوكب رقم ثلاثة. الآن أنت تعرف أنه من خلال إنشاء تعداد بسيط يمكنك سحب أي قيم تكون مجموعة كاملة، وتستخدم هذه القيم في برنامجك.