لقد تم إعطاؤك مقتطفًا برمجيًا يمثل جزءًا من لعبة يتفاعل فيها اللاعب (`p`) مع عناصر مختلفة. يمثل مقتطف الشفرة المنطق الشرطي لنوعين من العناصر (`type == 4` و`type == 5`). مهمتك هي تحديد سلوك اللعبة بناءً على مقتطف الكود المحدد.

بالنسبة إلى `النوع == 4`:
- تم ضبط صحة اللاعب (`p.hp`) على الحد الأقصى من الصحة (`p.totalhp`).
- يتم تحديث شريط صحة اللاعب (`p.hbar`) وفقًا لحالة اللاعب الحالية (`p.hp`).
- يتم تحديث النص الموجود على شريط الروبيات الخاص باللاعب (`p.rbar`) لعرض عدد الروبيات (`p.rupes`).

بالنسبة إلى `النوع == 5`:
- يتم تشغيل مسار صوتي محدد ('audio_track2`) بواسطة القناة 2 من جهاز مزج الأصوات في Pygame.
- يربح اللاعب عددًا عشوائيًا من الروبيات يتراوح بين 2 و10 (`random.randint(2, 10)`).
- يتم تحديث النص الموجود على شريط الروبيات الخاص باللاعب (`p.rbar`) لعرض العدد المحدث من الروبيات (`p.rupes`).
- تتم إزالة العنصر الذي أدى إلى هذا السلوك من اللعبة (`self.kill()`).

اكتب دالة `game_logic(element_type, p)` تأخذ عددًا صحيحًا `element_type` يمثل نوع عنصر اللعبة وكائنًا `p` يمثل اللاعب، وتُرجع السلوك المناسب لنوع العنصر المحدد استنادًا إلى المنطق الموجود في مقتطف الكود.

توقيع الوظيفة: `def game_logic(element_type: int, p: Player) -> str`

**مدخل:**
- `element_type` (1 ≥ `element_type` ≥ 10): عدد صحيح يمثل نوع عنصر اللعبة.
- `p`: كائن من الفئة `Player` بالسمات التالية:
    - `hp` (0 ≥ `hp` ≥ 100): عدد صحيح يمثل صحة اللاعب الحالية.
    - `totalhp` (0 ≥ `totalhp` ≥ 100): عدد صحيح يمثل الحد الأقصى للصحة للاعب.
    - `hbar`: كائن من فئة `HealthBar` يمثل شريط صحة اللاعب.
        - تحتوي فئة `HealthBar` على أسلوب `health(hp)` الذي يقوم بتحديث شريط الصحة بناءً على الإدخال `hp`.
    - `روبية` (0 ``روبية` ≥ 1000): عدد صحيح يمثل العدد الحالي للروبية.
    - `rbar`: كائن من فئة `RupeesBar` يمثل شريط الروبيات الخاص باللاعب.
        - تحتوي فئة `RupeesBar` على طريقة `updateText(text)` التي تقوم بتحديث النص الموجود على شريط الروبيات بناءً على الإدخال `text`.

**انتاج:**
- سلسلة تمثل السلوك المناسب لنوع العنصر المحدد استنادًا إلى المنطق الموجود في مقتطف التعليمات البرمجية.

**ملحوظة:**
- يمكنك افتراض أن الفئات الضرورية وطرقها المذكورة في مقتطف الشفرة (`HealthBar` و`RupeesBar`) محددة مسبقًا وتعمل بشكل صحيح.
- يمكنك أيضًا افتراض أن الوحدات والمتغيرات الضرورية (`pygame`، `audio_track2`، `random`) يتم استيرادها ويمكن الوصول إليها داخل الوظيفة.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}