משחק איקס עיגול באסמבלר ובשפת C - עמוד 3 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


ניר.

Recommended Posts

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

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

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


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

[attachment deleted by admin]

קישור לתוכן
שתף באתרים אחרים

  • תגובות 40
  • נוצר
  • תגובה אחרונה

תחליט, אתה כותב ב-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 לתו'-'..

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

קישור לתוכן
שתף באתרים אחרים

עוד לא החלטת, אתה כותב ב-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]

קישור לתוכן
שתף באתרים אחרים

ארכיון

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


×
  • צור חדש...