دورة F - الشرط 2 - الشرط مع لعبة ورقة مقص الصخرة

هذا الدرس الثاني حول الشروط سيتعامل مع بيان أكثر تعقيدًا.

  • Computer science
  • conditionals
Print lesson
  • الأعمار 10+
  • 65+ دقائق
  • MakeCode Editor

مقدمة

ركز الدرس الأول في هذه السلسلة حول الشرطية ، " شروط مع توقع الطقس"، على لبنة المنطق الأساسية "if ... then ... else". إذا لم تكن قد غطيت هذا الدرس بعد أو واجه الطلاب صعوبات ، حاول تغطية هذه المادة مرة أخرى.

سوف يتعامل الدرس الثاني مع بيان أكثر تعقيدًا. هذا يسمح لنا باختبار أكثر من نتيجتين سنفعل هذا أثناء لعب مقص ورق الصخور مع المايكروبيت ( micro:bit) في النهاية سيكون لدينا لعبة تعمل حتى تحتفظ بالنتيجة!

صممت دروسنا لدورة المايكروبيت ( Micro:bit) لتطبيق المعرفة المكتسبة من أساسيات علوم الحاسب و نظام البرمجة Code.org CS. فقبل أن يبدأ الطلاب هذه الدورات بالطبع ،نحن نشجعهم أولاً على إكمال كل أساسيات علوم الحاسب كشرط مسبق. كما ينبغي على الطلاب أن يكونوا على دراية بالمتغيرات من أساسيات علوم الحاسب و نظام البرمجة Code.org CS.

دليل المعلم

افتح افتح teacher resources

نشاط

ما ستحتاج إليه

  • ١- مايكروبيت (micro:bit)
  • ١- سلك USB
  • ١-AAA مجموعة بطاريات (اختياري)
  • ٢-AAA بطاريات (اختياري)

التوضيحات

إذا كانت (true) {

} وأﻻ إذا (false) {

} حينئذ{

}

إذا

شروط تشغيل التعليمات البرمجية يعتمد على شرط بوليان سواء كان صح أم خطأ.


let item =0
item=0
            

setltem

استخدام علامة يساوي لعمل مخزن متغيرات للأرقام أو سلسلة أرقام تذكرها.

let item = Math.randomRange(0, 10)

عشوائي

يرجع رقم شبه عشوائي بين 0 و `الحد`

basic.showIcon(IconNames.Heart)

أيقونة العرض

يعرض الرمز المحدد على شاشة LED

input.onGesture(Gesture.Shake, () => {})

onShake

Start an event handler (part of the program that will run when something happens). This handler works when you do a gesture (like shaking the micro:bit).

4 خطوات

الممارسة الموجهه

سنقوم بتوفير الإرشادات أو البرمجة أون لاين للمايكرو:بت (micro:bit). بعد ذلك، انتقل إلى https://makecode.microbit.org


let RandomNumber = 0
input.onGesture(Gesture.Shake, () => {
    RandomNumber = Math.randomRange(1, 3)
    if (RandomNumber == 1) {
        basic.showIcon(IconNames.SmallSquare)
    } else if (RandomNumber == 2) {
        basic.showIcon(IconNames.Square)
    } else {
        basic.showIcon(IconNames.Scissors)
    }
})

input.onButtonPressed(Button.A, () => {

})

input.onButtonPressed(Button.B, () => {

})
        

The micro:bit shows the icons: rock, paper, or scissors on shake. Shake the micro:bit on the simulator vigorously or press the shake button to trigger the event. You should see an icon displayed after shaking.

Shaking tells the micro:bit to choose either 1, 2, or 3 randomly.

We will make decisions based on the value.

  • if (RandomNumber = 1) >> show rock
  • if (RandomNumber = 2) >> show paper
  • if (RandomNumber = 3) >> show scissors

The finished code is available here.

التحديات

التحدي رقم ١

Can you track the times you win against the micro:bit?

Hint: Place your blocks in the event handler for on button A pressed. You will need to initialize(create) a variable in the on start event handler to store your score.

عرض التعليمات البرمجية

let Score = 0
let RandomNumber = 0
input.onGesture(Gesture.Shake, () => {
    RandomNumber = Math.randomRange(1, 3)
    if (RandomNumber == 1) {
        basic.showIcon(IconNames.SmallSquare)
    } else if (RandomNumber == 2) {
        basic.showIcon(IconNames.Square)
    } else {
        basic.showIcon(IconNames.Scissors)
    }
})

input.onButtonPressed(Button.A, () => {
    Score += 1
})

input.onButtonPressed(Button.B, () => {

})
Score = 0
          

The finished code is available here.

التحدي رقم ٢

What if you lose? Can you subtract from your score when you lose?

Hint: Place your blocks in the event handler for on button B pressed.

عرض التعليمات البرمجية

let Score = 0
let RandomNumber = 0
input.onGesture(Gesture.Shake, () => {
    RandomNumber = Math.randomRange(1, 3)
    if (RandomNumber == 1) {
        basic.showIcon(IconNames.SmallSquare)
    } else if (RandomNumber == 2) {
        basic.showIcon(IconNames.Square)
    } else {
        basic.showIcon(IconNames.Scissors)
    }
})

input.onButtonPressed(Button.A, () => {
    Score += 1
})

input.onButtonPressed(Button.B, () => {
    Score += -1
})
Score = 0
          

The finished code is available here.

التحدي رقم ٣

How can we show our score?

Hint: Place your blocks in the event handler for on button A+B pressed.

عرض التعليمات البرمجية

let Score = 0
let RandomNumber = 0
input.onGesture(Gesture.Shake, () => {
    RandomNumber = Math.randomRange(1, 3)
    if (RandomNumber == 1) {
        basic.showIcon(IconNames.SmallSquare)
    } else if (RandomNumber == 2) {
        basic.showIcon(IconNames.Square)
    } else {
        basic.showIcon(IconNames.Scissors)
    }
})
input.onButtonPressed(Button.A, () => {
    Score += 1
})
input.onButtonPressed(Button.B, () => {
    Score += -1
})
input.onButtonPressed(Button.AB, () => {
    basic.showNumber(Score)
})
Score = 0
          

The finished code is available here.

التطبيق الفردي

Create your own six-sided die with the micro:bit and create an adventure board game. This die could be custom. If you roll a one, what happens?

Example - If you roll one, you meet find some treasure.

Hint: You will need to increase the RandomNumber and create a longer if block.

اختبار قصير

أجب على هذه الأسئلة لتظهر مدى استيعابك للأنشطة و الصعوبات السابقة.

السؤال ١

Write the part of the code in the activity that randomly chooses a number from 0 to 2 and stores the value inside a variable called 'RandomNumber'.

اظهر الاجابة
on shake: set random number to (pick random 0 to 2). If random number = 0, show rock. If random number = 1, show paper. If random number = 2, show scissors.

NOTE: We highlight the block of code in yellow that stores the RandomNumber value inside a variable called RandomNumber. The second part of the code randomly returns a number from 0-3.

السؤال ٢

If the variable 'RandomNumber' is equal to 0, what icon will appear?

اظهر الاجابة

The code would show Rock.

السؤال ٣

If the variable 'RandomNumber' is NOT equal to 0, what icons could appear?

اظهر الاجابة

The code would show Scissors and Rock.

Question 4

If the variable 'RandomNumber' is NOT equal to 0 or 1, what icon will appear?

اظهر الاجابة

The code would show Scissors.

Selecting this opens external content from our support system, which adheres to their privacy policy.