סיכום - חישובים פשוטים
חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 21 מתוך 94.
אתגר
קלאתה מפתח מחשבון ניקוד פשוט למשחק, שעוקב אחר ההתקדמות של שחקן בשלבים שונים. פעל בזהירות לפי השלבים האלה כדי ליצור את התוכנית שלך:
שלב 1: אתחול משתנים
- צור משתנה שלם בשם
playerScoreוהגדר אותו ל־100 - צור משתנה שלם בשם
currentLevelוהגדר אותו ל־5
שלב 2: חישוב סטטיסטיקות המשחק
חשב ושמור את הערכים האלה במשתנים חדשים:
- בונוס שלב: הכפל את השלב הנוכחי ב־20 ושמור את התוצאה במשתנה בשם
levelBonus - העצמות זמינות: כל העצמה עולה 25 נקודות. השתמש בחלוקה שלמה (
~/) כדי למצוא כמה העצמות שלמות השחקן יכול להרשות לעצמו לפי הניקוד הנוכחי שלו. שמור את הערך הזה ב־powerUps - נקודות שנותרו: השתמש באופרטור שארית החלוקה (
%) כדי למצוא כמה נקודות נשארות לאחר רכישת כל העצמות האפשריות. שמור את הערך הזה ב־remainingPoints
שלב 3: עדכון הניקוד והשלב של השחקן
- הוסף את בונוס השלב לניקוד של השחקן באמצעות האופרטור
+= - הגדל את השלב הנוכחי ב־1 באמצעות אופרטור ההגדלה הקידומי (
++currentLevel) ושמור את הערך החדש במשתנה בשםnewLevel - החסר 15 נקודות מהניקוד של השחקן באמצעות האופרטור
-= - הכפל את הניקוד של השחקן ב־2 באמצעות האופרטור
*=
שלב 4: הצגת התוצאות
הוראות ההדפסה כבר מופיעות בקוד. אל תשנה אותן. עליך למלא את הצהרות המשתנים והחישובים החסרים שלמעלה, כך שהפלט יתאים בדיוק.
הערה: אחת מהוראות ההדפסה שסופקו מציגה את playerScore / 1.5, שמבצע חלוקה רגילה (לא שלמה) ומפיק תוצאה עשרונית. זו התוצאה הצפויה: הפלט בשורה הזאת יהיה 246.66666666666666.
חשוב: הקפד לבצע את החישובים בדיוק בסדר שצוין למעלה, מכיוון שכל שלב משפיע על השלב הבא.
נסו בעצמכם
void main() {
// אתחלו את ניקוד השחקן ואת השלב
int playerScore = ?;
int currentLevel = ?;
// חשבו את בונוס השלב, את השדרוגים ואת הנקודות שנותרו
int levelBonus = ?;
int powerUps = ?;
int remainingPoints = ?;
// הוסיפו את בונוס השלב לניקוד באמצעות אופרטור השמה מקוצר
?;
// הגדילו את השלב ב-1 ושמרו את השלב החדש
int newLevel = ?;
// הפחיתו 15 מהניקוד באמצעות אופרטור השמה מקוצר
playerScore ?;
// חשבו את הניקוד הסופי (הכפילו ב-2)
playerScore ?;
// הדפיסו את התוצאות
print('Initial score: 100');
print('Level bonus: $levelBonus');
print('Available power-ups: $powerUps');
print('Remaining points: $remainingPoints');
print('New level: $newLevel');
print('Score after bonus and penalty: ${playerScore / 1.5}');
print('Final score with multiplier: $playerScore');
}כל השיעורים ביחידה יסודות
7עבודה עם מחרוזות
שרשור מחרוזותאינטרפולציה של מחרוזותמחרוזות מרובות שורותמאפייני מחרוזותשיטות בסיסיות למחרוזות10אוספים - יסודות המפות
מהן מפות?יצירת מפהגישה לערכים לפי מפתחזוגות מפתח-ערךקבלת גודל המפהקבלת המפתחותקבלת הערכיםבדיקה אם מפתח קיים2משתנים וטיפוסי נתונים בסיסיים
מהם משתנים?מחרוזותמספרים שלמים (int)מספרים מסוג double (double)ערכים בוליאניים (bool)הסקת טיפוס באמצעות 'var'משתנים סופייםמשתנים קבועיםמוסכמות למתן שמותבטיחות בסיסית מול nullסיכום – הכרזה על משתנים8זרימת בקרה – לולאות
לולאת 'for'לולאת 'while'לולאת 'do-while'שימוש ב-'break' בלולאותשימוש ב-'continue' בלולאותסיכום – חזרה על קוד3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמיםאופרטור מודולוהגדלה והקטנהקיצורי השמהסיכום - חישובים פשוטים6זרימת בקרה - קבלת החלטות
הוראת 'if'הוראת 'else'הוראת 'else if'חזרה - החלטות פשוטותהוראות 'if' מקוננותהוראת 'switch'9אוספים - יסודות הרשימות
מהן רשימות?יצירת רשימהגישה לפי אינדקסקבלת אורך הרשימההוספת איבריםהסרת איבריםבדיקה אם הרשימה ריקהמעבר על רשימהתרגלו בעצמכם: קומפיילר Dart אונליין