בלוקים
עיון בבלוקים
חיפוש מהיר של בלוק, פעולתו והקוד שהוא מייצר.
בלוקי פקודה מתחברים לערימה ומבוצעים לפי הסדר. בלוקי ערך מעוגלים נכנסים לשקע של בלוק אחר. טבלאות אלה מסכמות את הקטגוריות; דוגמאות מפורטות נמצאות במדריכים המקושרים.
APEX GD240
| בלוק | פעולה | קוד |
|---|---|---|
| הפעלת טיסה | מאפשר טיסה | drone.active_fly() |
| המראה | עולה לגובה היעד | drone.takeoff() |
| נחיתה | יורד ונוחת | drone.land() |
| טיסה | מתחיל תנועה בכיוון ובמהירות שנבחרו | drone.fly('forward', 1) |
| טיסה עם עצירה | עוצר תנועה אופקית | drone.fly_stop() |
| סיבוב | מתחיל סיבוב | drone.rotate('right', 1) |
| סיבוב עם עצירה | עוצר סיבוב בלבד | drone.rotate_stop() |
| מצערת | פקודה אנכית לפי ערך 0–6 במתאם | drone.set_throttle(3) |
| מצב ללא כיוון חזית | הודעה בלבד במתאם הסימולטור | drone.set_headless(True) |
| עצירת חירום | חיתוך מנועים | drone.emergency_stop() |
| צילום תמונה | הודעה בלבד בסימולטור | drone.take_photo() |
| התחלת הקלטה | הודעה בלבד בסימולטור | drone.start_recording() |
| עצירת הקלטה | הודעה בלבד בסימולטור | drone.stop_recording() |
| רמת הסוללה | ערך הסוללה ברגע הקריאה | drone.get_battery() |
כמה שורות הן אפשרויות באותו בלוק. פרטים, יחידות והבדלי סימולטור/חומרה בבלוקי הרחפן.
תזמון ולולאות
| בלוק | קוד טיפוסי |
|---|---|
| המתנה עם מספר | time.sleep(2) |
| המתנה עם שקע ערך | time.sleep(duration) |
| חזרה מספר פעמים | for count in range(4): |
| חזרה כל עוד | while test: |
| חזרה עד ש־ | while not test: |
| ספירה עם משתנה | for i in range(1, 11): |
| לכל פריט ברשימה | for item in values: |
| יציאה מלולאה | break |
| מעבר לחזרה הבאה | continue |
ראו לולאות ותזמון.
לוגיקה
| בלוק | קוד טיפוסי |
|---|---|
| אם, עם הסתעפויות דרך גלגל השיניים | if test: |
| השוואה: שווה, שונה, קטן, גדול או שווה | a == b, a < b |
| וגם / או | a and b, a or b |
| לא | not a |
| אמת / שקר | True, False |
| ללא ערך | None |
| בחירת ערך לפי תנאי | b if a else c |
מתמטיקה
| בלוק | פעולה או קוד |
|---|---|
| מספר | 123 |
| חשבון | a + b, a - b, a * b, a / b, a ** b |
| פעולה יחידנית | שורש, ערך מוחלט, שלילה, לוגריתמים וחזקות |
| טריגונומטריה | במעלות; המרה בקוד לפי הצורך |
| קבוע | π, e וקבועים נוספים |
| תכונת מספר | זוגי, אי־זוגי, ראשוני, שלם, חיובי, שלילי או מתחלק |
| עיגול | רגיל, כלפי מעלה או מטה |
| חישוב ברשימה | סכום, מינימום, מקסימום, ממוצע, חציון, שכיח, סטיית תקן או פריט אקראי |
| שארית | a % b |
| הגבלה לטווח | min(max(a, low), high) |
| מספר שלם אקראי | random.randint(a, b) |
| שבר אקראי | random.random() |
| זווית atan2 | זווית במעלות לפי שני רכיבים |
ראו לוגיקה ומתמטיקה. חילוק באפס הוא שגיאה, לא תוצאה מספרית.
טקסט
| בלוק | פעולה או קוד |
|---|---|
| טקסט | 'שלום' |
| הדפסה | print(value) |
| יצירת טקסט מחלקים | חיבור ערכים; גלגל השיניים מוסיף שקעים |
| הוספת טקסט למשתנה | הוספה לסוף הטקסט |
| אורך / ריק | len(text), not len(text) |
| חיפוש הופעה | מקום בטקסט, בספירת הבלוקים |
| קבלת תו | לפי מקום, ראשון, אחרון או אקראי |
| תת־מחרוזת | קטע בין מקומות |
| שינוי אותיות | גדולות, קטנות או צורת כותרת |
| הסרת רווחים | צד אחד או שני הצדדים |
| ספירת הופעות | text.count(part) |
| החלפה | text.replace(old, new) |
| היפוך | text[::-1] |
רשימות
| בלוק | פעולה או קוד |
|---|---|
| יצירת רשימה | [a, b, c]; גלגל השיניים מוסיף שקעים |
| פריט חוזר | [value] * n |
| אורך / ריקה | len(values), not len(values) |
| חיפוש פריט | מקום ההופעה לפי ספירת הבלוקים |
| קבלת פריט | לפי מקום, ראשון, אחרון או אקראי, עם אפשרות להסרה |
| שינוי פריט | החלפה, הכנסה או הוספה |
| תת־רשימה | קטע מהרשימה |
| המרה בין טקסט לרשימה | פיצול או חיבור לפי מפריד |
| מיון | מספרי או אלפביתי, עולה או יורד |
| היפוך | list(reversed(values)) |
מקום 1 בבלוקים הוא אינדקס 0 בפייתון. ראו רשימות וטקסט.
משתנים ופונקציות
| בלוק | קוד טיפוסי |
|---|---|
| קביעת משתנה | duration = 2 |
| קריאת משתנה | duration |
| שינוי משתנה | הוספה לערך, עם בדיקת סוג בקוד שנוצר |
| הגדרת פונקציה | def fly_segment(): |
| קריאה לפונקציה | fly_segment() |
| פונקציה שמחזירה ערך | בלוק ערך לשקע |
משתנים ופונקציות נוצרים בידי המשתמש. בהגדרת פונקציה ניתן להוסיף קלט דרך גלגל השיניים. ראו משתנים ופונקציות.
ציוד סימולטור
| פעולה | קוד טיפוסי |
|---|---|
| המראה לגובה והמתנה | sim.takeoff(0.5) |
| ניווט לצפון, מזרח וגובה והמתנה | sim.goto(1, 2, 0.5) |
| נחיתה והמתנה | sim.land() |
| קריאת שדה מחיישן | sim.read(device, field) |
| בדיקת מוכנות חיישן | sim.sensor_ready(device) |
| המתנה למוכנות | sim.wait_sensor(device) |
| פעולת וו | sim.hook('lower') |
| מטען מחובר | sim.cargo_attached() |
| תאורה מותקנת | sim.light(device, True, 1) |
הקטגוריות תלויות בציוד המחובר. device ו־field נבחרים מהסשן; הם אינם מזהים שצריך להעתיק מהטבלה. הקואורדינטות במטרים, הגובה חיובי למעלה, והניווט אינו עוקף מכשולים. ראו מעבר לבלוקי הבסיס.