שאלה באסמבלי..

ELIELI22

New member
שאלה באסמבלי..

ובכן רציתי לדעת למרות שראיתי בכניסה לפורום שלא יפתרו לנו כאן את שיעורי הבית .. אם מישהו יכול לעזור לי בכתיבת התוכנית .. רק אם למישהו יש את הקוד כתוב כבר אשמח (או דוגמאות דומות שיעזרו לי ) תודה. שאלה מס' 2 משחק זמן תגובה בתרגיל זה עליך לכתוב משחק המאתגר את זמן התגובה של המשתמש. התרגיל יחייב עבודה עם פסיקות שעון ומקלדת בנוסף לכתיבה ישירה לזיכרון המסך. אופן המשחק: בתחילת המשחק ינוקה המסך ויאותחל לאופן תצוגה 3. על המסך יופיע בפינה שמאלית עליונה (0,0) ריבוע אדום מלא הניתן להזזה ע"י החיצים לארבעה כיוונים. במקביל תופיע על המסך במקום אקראי אות כלשהי. השחקן צריך להגיע למיקום האות ע"י החיצים במהירות האפשרית. לשחקן יוקצב זמן של שנייה להזיז את הריבוע אל האות. אם הגיע תוך הזמן הקצוב, תעלם האות, ובתום שנייה תופיע אות חדשה במקום אחר (אותה אות או אחרת). אם השחקן לא הגיע לאות בזמן הוא יקבל נקודה "רעה", והאות תישאר על המסך. כללי המשחק: - משך הזמן הכולל של המשחק הינו 30 שניות ובסיומו תחזור הבקרה למערכת ההפעלה, (כולל שיחזור כתובות טבלת פסיקות כך שהרצה נוספת של התכנית תגרום למשחק לרוץ שוב מהתחלה). - המשחק יורכב מ 30 משחקונים של 1 שנייה כמפורט לעיל, בין משחקון למשחקון יאותחל מיקום הריבוע לפינה שמאלית עליונה. - אפשר לסיים את המשחק לפני תום 30 השניות בעזרת מקש esc. - בתנועת הריבוע אין למסך גבולות, כלומר ניתן להגיע מעמודה שמאלית לימנית משורה עליונה לתחתונה ולהיפך. לדוגמה, אם הריבוע נמצא בשורה 0 ונלחץ חץ למעלה, הריבוע יופיע באותה עמודה בשורה 23 (24 משמשת לפלט, כמפורט להלן). הנחיות בכתיבת התכנית: - השורה התחתונה תשמש לתצוגה ואינה חלק מ"איזור המשחק". בשורה זו יש להציג את הזמן הכללי שנשאר למשחק ומספר מצטבר של הנקודות "הרעות" . שורה התצוגה תישאר להופיע גם לאחר סיום המשחק כשהבקרה חוזרת למערכת ההפעלה. - נא להקפיד על הנפשה נאה (יש לדאוג למחוק את הריבוע וכדומה..) - על מנת לייצר מספרים פסאודו אקראיים ניתן להשתמש בנוסחה הבאה: an+1 = (an * 899) mod p כאשר p הוא מספר ראשוני גדול, למשל 8191, ואת a1 אפשר לאתחל מהבית התחתון של השעון. כמובן שיש להתאים את המספרים לטווח הדרוש לתכנית. דרכים אחרות ליצירת מספר פסאודו אקראי יתקבלו בברכה. - לפני הצגת אות חדשה במיקום אקראי יש לבדוק שבמקום זה לא מופיעה כבר אות, במידה שכן יש למצוא מקום אקראי חלופי. - במהלך המשחק המקשים היחידים שיגיבו הם מקשי החיצים ומקש ESC כך שניתן להפסיק משחק לפני סיומו ע"י לחיצה על ESC. - עליכם לכייל את המשחק כך, שיהיה "אתגר" להגיע אל האות בזמן. אם המשחק קל או קשה מדיי עבורכם, אנא נסו להתאים את משך הזמן למשחקון לזמן תגובתכם. בכל מקרה משחק יורכב מ 30 משחקונים. אם אתם ממש אמיצים וקראתם עד לכאן אז כנסו לבקר באתר שלי .
 

kobyp2

New member
אחי

תגיד אתה יודע פסקל? אם כן שלח לי הודעהה בבקשה אני צריך עזרה =.קובידון.=
 

melatonin

New member
תוותר

בזמן שלקח לך לכתוב את כל המטלה ולנדנד לנו עוד קצת, יכולת כבר להתחיל לפתור אותה בעצמך
 

ELIELI22

New member
תודה בכל מקרה ...

יש לי שתי בחינות בקרוב .. ועוד מטלה אחרונה בדיסקרטית ... אין מצב שאני מצליח לפתור את זה בקרוב .. אז חשבתי אולי מישהו יוכל לעזור . יום טוף. אני אמצא פתרון יצירתי .
 
למעלה