פורסם 2005 בנובמבר 720 שנים אני בחרתי לעשות פרוייקט על המשחק "שולה המוקשים" *עדכון אחרון בעמוד 3. תודה מראש לעוזרים
פורסם 2005 בנובמבר 820 שנים אתה יכול לעשות 2 לולאות מכוננות מ-0 עד 20.בכל לולאה לצייר מלבן במידות i*15, j*15, (i+1)*15-1, (j+1)*15-1.(לקואורדינטות האלה תצטרך כמובן להוסיף את top או left כדי שיתחילו מהמקום שאתה רוצה)
פורסם 2005 בנובמבר 820 שנים מחבר תודה. לפחות אני רואה ריבועים , אבל לא במקומות הנכונים. אשמח אם מישהו יוכל לתקן לי את התוכנית #include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>void main(){ int gdriver = DETECT, gmode, errorcode; int left,top,right,bottom; int i,j; int lft=150,tp=150,rtl=-135,btm=-135; initgraph(&gdriver, &gmode, "C:\\BORLANDC\\BGI"); errorcode = graphresult(); if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } left = getmaxx() / 2 - 150; top = getmaxy() / 2 - 150; right = getmaxx() / 2 + 150; bottom = getmaxy() / 2 + 150; rectangle(left,top,right,bottom); for(i=0; i<20; i++) { lft=(i+1)*15-1; tp=(i+1)*15-1; lft = getmaxx() / 2 - lft; tp = getmaxy() / 2 - 150; rtl = getmaxx() / 2 + -rtl; btm = getmaxy() / 2 + -135; rectangle(lft,tp,rtl,btm); for(j=0; j<20; j++) { tp=(j+1)*15-1; btm=(j+1)*15-1; lft = getmaxx() / 2 - 150; tp = getmaxy() / 2 - tp; rtl = getmaxx() / 2 + -135; btm = getmaxy() / 2 + -btm; rectangle(lft,tp,rtl,btm); } } getch(); closegraph();}
פורסם 2005 בנובמבר 820 שנים למה כל החישובים האלה בתוך הלולאה עם maxx ו- maxy? זה מיותר לגמרי.לקואורדינטות שאמרתי קודם, כל מה שאתה צריך להוסיף זה את left (לערכים האופקיים) ואת top (לערכים האנכיים)
פורסם 2005 בנובמבר 820 שנים מחבר עכשיו אני רואה נקודות שהיו צריכים להיות ריבועים. :-\#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>void main(){ int gdriver = DETECT, gmode, errorcode; int left,top,right,bottom; int i,j; int lft=150,tp=150,rtl=-150,btm=-150; initgraph(&gdriver, &gmode, "C:\\BORLANDC\\BGI"); errorcode = graphresult(); if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } left = getmaxx() / 2 - 150; top = getmaxy() / 2 - 150; right = getmaxx() / 2 + 149; bottom = getmaxy() / 2 + 149; rectangle(left,top,right,bottom); for(i=0; i<20; i++) { lft=(i+1)*15-1+left; rtl=(i+1)*15-1+left; tp=(j+1)*15-1+top; btm=(j+1)*15-1+top; rectangle(lft,tp,rtl,btm); for(j=0; j<19; j++) { tp=(j+1)*15-1+top; btm=(j+1)*15-1+top; lft=(i+1)*15-1+left; rtl=(i+1)*15-1+left; rectangle(lft,tp,rtl,btm); } } getch(); closegraph();}
פורסם 2005 בנובמבר 820 שנים אתה בטוח שאתה מסתכל על הקוד כשאתה כותב אותו?נתת ערכים זהים לקואורדינטות האופקיות והאנכיות.
פורסם 2005 בנובמבר 920 שנים מחבר היסתדרתי בדרך פשוטה אחרת for(j=0; j<21; j++) { tp=top+15; btm+=15; rtl=right; for(i=0; i<21; i++) { lft=right-15; rectangle(lft,tp,rtl,btm); rtl-=15; } } זה עובד!
פורסם 2005 בנובמבר 920 שנים תנסה את זה..for(tp=0; tp<15*21; tp+=15) { for(lp=0; lp<15*21; lp+=15) { rectangle(lp,tp,lp+15,tp+15); } }
פורסם 2005 בנובמבר 1020 שנים מחבר תודהשמתי לב שהדרך שלך עובדת טיפה יותר מהר (אני מעדיף אותה), אבל איך אני ממרכז את הממשק בדרך שלך? (בשלי הצלחתי)#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <dos.h>void main(){ int gdriver = DETECT, gmode, errorcode; int left,top,right,bottom; int i,j,k,size; int lft,tp=59,rtl=468,btm=74; initgraph(&gdriver, &gmode, "C:\\BORLANDC\\BGI"); errorcode = graphresult(); if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } //getmaxx() == 639 //getmaxy() == 479 left = getmaxx() / 2 - 150; top = getmaxy() / 2 - 150; right = getmaxx() / 2 + 150; bottom = getmaxy() / 2 + 150;/* left=169; top=89; right=468; bottom=388; */printf("What the size you want? :");scanf("%d",&size);//clrscr();for(tp=getmaxy() / 2; tp<15*size; tp+=15) { for(lft=getmaxx() / 2; lft<15*size; lft+=15) { rectangle(lft,tp,lft+15,tp+15); } } getch(); closegraph();}
פורסם 2005 בנובמבר 1020 שנים מחבר המורה שלי אמרה שעדיף עם ריבועים ולא "רשת" בטענה שככה יהיה אפשר לצבוע אותם כשאני מפנה שטחים כשאני משחק (פוגע במוקש או לא פוגע)תאמין לי בקושי מישהו מבין אותה בגלל זה בחרתי בשיטת הריבועים :-X
פורסם 2005 בנובמבר 1020 שנים לא הבנתי למה זה יותר פשוט עם ריבועים אבל שיהיהאגב תנסה לחפש פרוייקטים של אנשים אחריםהנה משהו שמצאתי שמישהו עושה שולה מוקשים ב-C++http://www.programmersheaven.com/zone8/cat121/27733.htmיש שם גם את הקוד מקור
פורסם 2005 בנובמבר 1020 שנים מחבר גם אני לא הבנתי למה זה פשוט יותר עם ריבועים תודה רבה על הלינק, אני בטוח שהוא יעזור לי בעת הצורך. אני בספק אם המורה שלי יודעת לעשות משהו בעצמה ב++C ..
פורסם 2005 בנובמבר 1020 שנים אם אתה רוצה לצבוע אותם בצבעים שונים, זה יותר קל. אם אני לא טועה יש פונ שנקראת BAR שמציירת גם עפ צבע בפנים. בכל מקרה, אם אתה רוצה למרכז, אחרי שאתה מחלק את גודל המסך שלך ל-2 אתה צריך להוריד ממנו_ממכרז המסך) את הרוחב המקסימלי של כל המלבנים ביחד חלקי 2. אני מציע לך לצייר את זה על דף נייר לבן ולראות מה אתה צריך לעשות זה עוזר נורא..
פורסם 2005 בנובמבר 1120 שנים מחבר OK , הצלחתי למרכז את הממשק. width_center = (getmaxx() / 2) - ((cubes*size)/2); hight_center = (getmaxy() / 2) - ((cubes*size)/2);for(tp=hight_center; tp<cubes*size+hight_center; tp+=cubes) { for(lft=width_center; lft<cubes*size+width_center; lft+=cubes) { rectangle(lft,tp,lft+cubes,tp+cubes); } }תודה על כל העזרה , אני אעדכן אם אני אתקשה בעוד משהו.עדכון : הצלחתי למלא את הריבועים עם הפונקציה BAR (עכשיו כשאני חושב על זה, גם עם קווים לא הייתה בעייה למלא אותם) , אך לא הבנתי איך לצבוע את הריבועים שהיא יוצרת בצבע אחר (הצבע של הריבועים בברירת מחדל לבן).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.