עבור לתוכן

משחק איקס עיגול באסמבלר ובשפת C

Featured Replies

פורסם
  • מחבר

בפונקציה comp_pos למשל, אתה מקבל מצביעים ל x, y (אני לא יודע למה החלטת לעשות את זה ככה), אבל אתה משתמש בערכי המצביעים במקום הערכים של המשתנים, אז או שתעביר את המשתנים ישירות או שתוסיף * לפוינטרים בשימוש שלהם כדי לגשת לתוכן.

שינית את זה ובקובץ המעודכן (המופיע למטה) אני משתמש בערכים של המשתנים ולא בפוינטרים...

[br]פורסם בתאריך: 17.08.2008 בשעה 11:35:44


מצ"ב הקובץ המעודכן...

[attachment deleted by admin]

  • תגובות 40
  • צפיות 17.1k
  • נוצר
  • תגובה אחרונה
פורסם

תחליט, אתה כותב ב-C או ב-++C? כי רוב הקוד שלך נראה כמו C (אתה משתמש ב-int במקום bool וכו') אבל אתה משתמש ב-cout וב-string.

מה ההבדל בין comp_pos ו-isempty? הן עושות אותו דבר.

הפונקציה שבודקת את האלכסון המשני סתם מסורבלת (אתה עובר על כל הלוח, במקום לעבור רק על האלכסון).

ב-isnotfull, מה זה 45? למה לא להשתמש בתו '-'?

ב-wincheck, אתה לא צריך if, אתה יכול פשוט להחזיר את הביטוי שבתוך ה-if.

לא סיימתי לעבור על הקובץ, אני אוסיף עוד הערות אם יהיו לי.

פורסם
  • מחבר

תחליט, אתה כותב ב-C או ב-++C? כי רוב הקוד שלך נראה כמו C (אתה משתמש ב-int במקום bool וכו') אבל אתה משתמש ב-cout וב-string.

מה ההבדל בין comp_pos ו-isempty? הן עושות אותו דבר.

הפונקציה שבודקת את האלכסון המשני סתם מסורבלת (אתה עובר על כל הלוח, במקום לעבור רק על האלכסון).

ב-isnotfull, מה זה 45? למה לא להשתמש בתו '-'?

ב-wincheck, אתה לא צריך if, אתה יכול פשוט להחזיר את הביטוי שבתוך ה-if.

לא סיימתי לעבור על הקובץ, אני אוסיף עוד הערות אם יהיו לי.

שיניתי את ה-45 לתו'-'..

יש אפשרות ותתקן את הקובץ ותעלה אותו ?

פורסם
  • מחבר

מישהו יודע איך אני מסדר את הבעיות האלה ?

[attachment deleted by admin]

פורסם

עוד לא החלטת, אתה כותב ב-C או ב-++C?

כי אם אתה כותב ב-C, אתה לא יכול להשתמש ב-string או ב-cout.

בכל מקרה, תוספות להערות שלי מקודם:

כשפונקציה מקבלת משתנים, היא לא יכולה לשנות את הערכים שלהם. הפונקציה למעשה מקבלת עותק של המשתנה, ומשנה רק אותו, ולכן המשתנה המקורי נשאר אותו הדבר.

לכן הפונקציות startgame ו-switchplayer לא יעבדו.

בשביל לפתור את זה, אתה צריך להעביר את הפרמטרים באמצעות התייחסות (הסימן &, שקיים רק ב-++C) או ע"י מצביע.

לא ממש ברור מה המשמעות של m ו-e... תן להם שמות נורמלים.

פורסם

הכנתי לפני כשנה משחק איקס עיגול , זה די קל.

מה שכן הוספתי אפשרות של לשחק נגד המחשב - זה היה החלק המעניין והמאתגר.

למחשב שמתי 8 רמות ואת רמה 8 אי אפשר לנצח :) (אי אפשר בלי צ'יטים :P).

בהצלחה עם התוכנה שלך ;)

פורסם
  • מחבר

הכנתי לפני כשנה משחק איקס עיגול , זה די קל.

מה שכן הוספתי אפשרות של לשחק נגד המחשב - זה היה החלק המעניין והמאתגר.

למחשב שמתי 8 רמות ואת רמה 8 אי אפשר לנצח :) (אי אפשר בלי צ'יטים :P).

בהצלחה עם התוכנה שלך ;)

אתה יכול להסתכל ולפתור לי את הבעית שיש לי בתוכנית?[br]פורסם בתאריך: 18.08.2008 בשעה 19:07:39


עוד לא החלטת' date=' אתה כותב ב-C או ב-++C?

כי אם אתה כותב ב-C, אתה לא יכול להשתמש ב-string או ב-cout.

בכל מקרה, תוספות להערות שלי מקודם:

כשפונקציה מקבלת משתנים, היא לא יכולה לשנות את הערכים שלהם. הפונקציה למעשה מקבלת עותק של המשתנה, ומשנה רק אותו, ולכן המשתנה המקורי נשאר אותו הדבר.

לכן הפונקציות startgame ו-switchplayer לא יעבדו.

בשביל לפתור את זה, אתה צריך להעביר את הפרמטרים באמצעות התייחסות (הסימן &, שקיים רק ב-++C) או ע"י מצביע.

לא ממש ברור מה המשמעות של m ו-e... תן להם שמות נורמלים.

[/quote']

אני כותב בשפת C

המשמעות של e (ובשמו החדש equal) הוא משתנה בוליאני (שמכיל 0 או 1 )המציין אם יש תיקו במשחק או לא....ואילו המשתנה m הוא חלק מתנאי שאומר אם להחליף את השחקן או לא כלומר אם יש כבר ניצחון אין צורך בהחלפת השחקן ומהתנאי של ה-while שבודק האם יש צורך להמשיך את המשחק או לא...

תיקנתי וסידרתי את מה שאמרת אבל יש עוד מספר בעיות (מצורף הקובץ המתוקן) , אתה תוכל לעבור על הקובץ המתוקן ולראות היכן הבעיות ?

איזה פקודה בשפת C מחליפה את ה-STRING ואיזה פקודה מחליפה את ה-COUT ?

[attachment deleted by admin]

פורסם

לא עקבתי אחרי כל הדיון, תוכל להגיד לי איפה בדיוק הבעיה שלך?

פורסם

ניר, כבר העירו לך על זה קודם:

אם אתה מעביר לפונקציה את המצביע למשתנה, אז אתה צריך להתייחס אליו בהתאם. אם m הוא מצביע ל-int, אז בשביל לגשת לערך שבתוכו אתה צריך לגשת ל-m*

string, cout ו-cin הם לא "פקודות", string הוא קלאס ו-cout ו-cin הם אובייקטים.

ב-C קיימות הפונקציות printf ו-scanf (ששקולות ל-cout ו-cin), ועל מנת לייצג מחרוזות אתה צריך להשתמש במערך של char (כלומר *char או []char).

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

פורסם
  • מחבר

מחקתי הכל והתחלתי את התוכנית מהתחלה...הקובץ החדש מצורף למטה...

איפה אני צריך להוסיף בתוכנית פקודה אשר תמספר לי את השורות והעמודות בטבלת האיקס עיגול שנוצר ?

[attachment deleted by admin]

פורסם
  • מחבר

מישהו יודע את בתשובה ?

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים