-
עזרה דחופה בכתיבת 2 תוכניות במחלקה אחת בג'אווה,
מאגר השאלות מפורום התמיכה שלנו. כאן תוכלו למצוא מגוון שאלות ותשובות העונות על קשת רחבת נושאים.
ידיעות חוץ
פורסם ב: 28 נובמבר 2007עוד במגזין ...
לאחרונה בפורוםעזרה דחופה בכתיבת 2 תוכניות במחלקה אחת בג'אווה,
מאת: זיו ה
נכתב ב: 15/11/2008 10:55:20
דואר אלקטרוני : levvered@smile.net.il
עזרה דחופה בכתיבת 2 תוכניות במחלקה אחת בג'אווה,
הנה הנתונים:
לוח שחמט מחולק ל-64 משבצות 8 שורות+8 עמודות,כול שורה ממוספרת מ-1 עד 8 וכל עמודה
ממוספרת מ-1 ועד 8.מיקום של כל כלי על הלוח מוגדר ע"י מספר שורה ומספר עמודה,כך למשל המשבצת 1,1 היא השמאלית העליונה בלוח והמשבצת 8,8 היא הימנית התחתונה בלוח.
תוכנית א שברצוני לכתוב:
1.תוכנית בסיסית שקוראת מהקלט את מיקומו של פרש על לוח השחמט ומדפיסה את מיקומו
יש לכל היותר 8 אפשרויות בפלט
סדר ההדפסה אינו משנה,המספרים כמובן שלמים.
2. תוכנית הקוראת מהקלט את שמותיהם של שניים מבין הכלים על לוח השחמט פרש('K'),
רץ('B') וצריח('R') ואת מיקומיהם,התוכנית בודקת האם המיקום חוקי ואם כן מדפיסה הודעה אם יש איום ביניהם.
פרש-KNIGHT
רץ-BISHOP
צריח-ROOK
תודה לכל היכול לעזור,
בברכה,
זיו הירום15/11/2008 11:49:03הערה מאת: עידו ס
אין שום הגיון בתוכנית שלך.
בתוכנית א' יש 64 מיקומים אפשריים לפרש. אלא אם אתה מדבר על 8 מיקומים אפשריים שהוא יכול לעבור אליהם.
שים לב שעבור כל מיקום כזה, אתה צריך לבדוק שהאינדקסים לא חורגים מ-8
בנוגע לתוכנית ב':
תקרא את הכלים והמיקומים. אח"כ, תעזר בחוקי שחמט ותבדוק האם:
1) אחד האינדקסים חורג מ-8
2) תבדוק את המיקומים האפשריים לתזוזה של הפרש, לפי תוכנית א'
3) תבדוק האם הוא מאיים על הרץ או הצריח
4) אם לא, תבדוק את האלכסונים מהרץ. תבדוק האם על אחד האלכסונים נמצא כלי אחר.
5) תחזור על אותו דבר עבור הצריח, אבל תבדוק עמודות ושורות. זה אמור להיות קל – נניח שהצריח נמצא באינדקס i,j כלשהו. תבדוק פשוט את המיקומים של הכלים האחרים, והאם אחד מהם נמצא על שורה i או על טור j.
קפיש?
נ.ב – בדיקת אלכסונים – אם הרץ נמצא במקום i,j, תבדוק רקורסיבית את המיקומים i-1,j-1 ואת המיקומים iP1, jP1 ואת iP1, j-1 ואת i-1, jP1. כאשר P הכוונה ל"פלוס"16/11/2008 00:51:44הערה מאת: imper s
לגבי סעיף א' גם אני לא הבנתי את זה: "יש לכל היותר 8 אפשרויות בפלט ". המיקום של הפרש יכול להיות רק מקום אחד, לא 8.
לגבי תוכנית ב', אני לא יודע איך זה בג'אווה, אבל אתה יכול לחלק את זה לתוכניות קטנות. בהתחלה תקלוט את מיקום הכלים, תבדוק את חוקיות המיקום שלהם (גדול מ-8). תצטרך לדעת גם איזה סוג של כלי קלטת (k,b,r). לאחר מכן תריץ מיני תוכנית עבור כל בדיקה של כלי, כולל משתנה בוליאני האם יש איום או לא (אתה יכול לעשות זאת מכיוון שיש רק שני כלים אשר נקלטים באותו רגע). כמובן שאחת מהבדיקות שתכננת לא תתבצע מכיוון שסוג כלי כלשהו לא ייקלט, שים לב לזה.
עדיין אין תגובות לכתבה זו.
