تمرينات

تمرين 13.3

في لعبة بلاك جاك يكون الهدف هو الحصول على ورق تكون نقاطه 21. تحسب نقاط اليد بجمع نقاط كافة الأوراق. الآص نقطة واحدة، أوراق الصور تساوي 10 نقاط، ونقاط بقية الأوراق تكون نفس رتبة الورقة. مثلاً: اليد (آص، 10، صبي، 3) تكون نقاطها 1 + 10 + 10 + 3 = 24.
اكتب عملية باسم handScore تأخذ مصفوفة أوراق كمتحول وتعيد مجموع النقاط.

تمرين 13.4

في البوكر يكون "flush" هو يد تحوي خمس أوراق أو أكثر من نفس المنظومة. يمكن أن تحوي اليد أي عدد من الأوراق.
a. اكتب عملية باسم suiHist تأخذ مصفوفة أوراق كمعامل وتعيد مخطط أعمدة لمنظومات الأوراق في اليد. يجب على الحل أن يجتاز المصفوفة مرة واحدة.
b. اكتب عملية باسم hasFlush تأخذ مصفوفة أوراق كمعامل وتعيد true إذا احتوت اليد على flush، وfalse فيما عدا ذلك.

تمرين 13.5

سيكون العمل مع الأوراق ممتعاً أكثر لو كنت تستطيع عرضها على الشاشة. إذا لم تكن قد عبثت مع الأمثلة الرسومية في الملحق A، فقد ترغب بعمل ذلك الآن.
بعدها نزل http://thinkapjava.com/code/CardTable.java وhttp://thinkapjava.com/code/cardset.zip.
فك الضغط عن cardset.zip ثم شغل CardTable.java. يجب أن ترى حزمة من الأوراق تجلس على "طاولة" خضراء.
يمكنك استعمال هذا الصنف كنقطة انطلاق لصنع ألعاب الورق التي تريدها.