אני צריך לעשות את זה:
לוח המשחק מתואר ע"י מערך דו-ממדי (מטריצה) בגודל NxM כאשר כל משבצת במערך יכולה להיות במצב alive או dead. בכל שלב של המשחק המטריצה תיעודכן לפי הכללים הבאים:
עבור כל אחד מהתאים במטריצה בודקים:
עבור משבצת במצב alive :
1) אם מספר השכנים שלו קטן/שווה ל-1 או גדול/שווה ל-4, הוא יהפוך ל-dead.
2) אם מספר השכנים שלו שווה ל-2 או 3, אז הוא נשאר במצב בו היה.
עבור משבצת במצב dead:
1) אם מספר השכנים שלו שווה ל-3, הוא יהפוך ל-alive.
2) אם מספר השכנים שלו לא שווה ל-3, הוא נשאר במצב בו היה.
בסוף כל שלב יש להדפיס את המטריצה שהתקבלה (ניתן לציין את המצב alive ע"י כוכבית ואת המצב dead ע"י משבצת ריקה). המשתמש יחליט האם להמשיך את המשחק או לא.
במקרה שמטריצה זהה למטריצה קודמת יש להפסיק את המשחק.
יש לבצע קליטת נתונים למטריצה ההתחלתית בשתי דרכים: באופן רנדומלי ובהקשת נתונים ע"י המשתמש.
בונוס: במקרה שמטריצה זהה למטריצה קודמת שהייתה לפני k שלבים (k>1) יש להפסיק את המשחק.
תודה לעוזרים