Logo

רד-בורד: ארכיון

ראשי > תיכנות > שאלה ב-qb.

06/01/2006 22:27:20 porto_jwl
איך אני עושה שלמשל אני עושה שובר קיר בלי קירות,למשל שאני יכול לבחור מקשים למשל אם אני לוחץ על i זה מזיז את הקו למטה,ואיך אני יכול לעשות כדור שיזוז?קראתי כאן את המדריכים שבאתר: www.qbp.up.co.il
אז ראיתי בפרוייקט אחד שכתוב pp1 וכל מיני דברים שלא ממש היו מסוברים,לא משנה אז שיהיה לי בינתיים אני אשאל.
אז השאלה היא איך אני עושה שהמשתמש לוחץ למשל על i יזוז הקו למטה או למעלה...
תודה,אל תמחקו את הנושא הזה...
08/01/2006 20:03:58 cp77fk4r
תסתכל על הקוד הבא למשל (לקוח מהדוגמא שהבאת, ה"שובר קירות" שהכנתי שם באתר):

קוד:
k$ = INKEY$
IF nop = 2 THEN
IF k$ = "d" THEN GOSUB 1
IF k$ = "a" THEN GOSUB 2
END IF


תתעלם מהמשפט IF שיש לך שם, תסתכל על השורה הראשונה (עם הINKEY$), המשתנה INKEY$ שומר בתוכו את הלחיצה של המשתמש על המקלדת, אני מכניס את זה למשתנה k$, ואז בודק, אם k$ שווה למקש מסויים (כשמדובר באותיות זה בצ’אר, לא באסקי! כמו למשל "a" או "d" או מה שאתה רוצה- "u").

ואז אני פועל לפי זה:
קוד:
IF k$ = "d" THEN GOSUB 1


כשk$ שווה לd (וk$ קיבל את הערך שלו מINKEY$ - המקש שהמשתמש לחץ) זאת אומרת שהמשתמש לחץ על המקש "d", אז אני הולך לסאב (GOSUB) מספר 1.

קאפיש?[ההודעה נערכה על-ידי cp77fk4r ב-08/01/2006 20:05:13]
09/01/2006 18:57:43 porto_jwl
תודה,אבל זה אומר לי שהוא לא מוגדר ה-gosub.
09/01/2006 20:33:26 cp77fk4r
נו בטח, שים לב להמשך הקוד, כשאתה עושה "Gosub X" אתה חייב שיהיה לייבל של X, זה נראה ככה:

קוד:
Lable_name:


ואז בסוף, אתה יכול לעשות או "Return" בכדי לחזור למאיפה שקפצת לסאב, או לעשות end בכדי לסיים את התוכנית.
(או פשוט להמשיך להמשך התוכנית.

אם לא תסגור סאב ואחרי תעשה עוד לייבל של סאב חדש- התוכנית תריץ גם את הסאב הנ"ל.
עמודים: 1