[מדריך] כתיבה מסודרת ומקוצרת - משחקים Vgames - קהילות
 


נושא: [מדריך] כתיבה מסודרת ומקוצרת
1
משתמשים פעילים הצופים בנושא זה: 1 (0 משתמשים רשומים ו- 1 אורחים)
 
מחבר הודעה

האווטר המגניב של Amit_B

 מתכנת שרת DeathMatch

הודעות: 2,575

חבר בקהילת: -

מנותק

מנותק

#1   פורסם: 17.07, 23:28

ברירת מחדל [מדריך] כתיבה מסודרת ומקוצרת


היי.
המדריך מיועד למי שבאמת מבין משהו ולא סתם מוסיף ניקוי צ'אט של 10 שורות וקורא לעצמו מתכנת.
נתחיל עם הסידור.
תסתכלו רגע על הקוד הזה:
new x0;
if(
x==0) { =x+1; } 
הקוד הזה אינו מסודר ואינו מקוצר (לחלק של הקיצורים נגיע בהמשך).
קשה לקרוא אותו, לי אישית הוא עושה כאב עיניים.
במידה ואנחנו עובדים בצורה לא מקוצרת נכתוב אותו כך:
new 0;
if(
== 0)
{
    
x+1;

כאן אנחנו יכולים לראות קוד מסודר יותר.
ה4 רווחים באמצע, נקראים טאב.
ברוב עורכי שפות התכנות ניתן ללחוץ על כפתור TAB במקלדת ולקבל רווח גדול ששווה (בדרך כלל) ל4 רווחים.
כמו כן, קודים שיישתמשו בפחות או יותר מ4 רווחים בטאב אישי שלהם ייקבל אזהרה שאם אני לא טועה המספר שלה הוא 219.
משהו עם loose.. לא זוכר כל כך.
ניתן לסדר את הקוד ולהפתר ממנה, זה מה שאני עושה בדרך כלל, וניתן גם להשתמש במילה השמורה pragma שהיא דרך לעצלנים ^^
#pragma tabsize 0 
הקוד הזה מגדיר את מספר הרווחים של הTAB ל0 לפי העין של הPAWN.
הוא מסוגל להעלים את כל אזהרות 219 (שוב אני אומר: אני לא בטוח שזה המספר שלה, הזכרון שלי לא משהו).
עכשיו נעבור לקיצור.
אני לא אלמד אותכם לקצר עם מילים שמורות אלא עם כל קוד.
ברוב המילים השמורות (if,else,while וכו') אפשר לעשות קוד אחד בלבד בלי להשתמש ב { }.
נקח לדוגמא את הקוד הבא:
if(!IsPlayerAdmin(playerid))
{
    
SendClientMessage(playerid,0xffffffaa,"You are not an admin!");
    return 
1;

מכיוון שהשתמשנו כאן בif נוכל להפוך את הקוד הזה שתופס 4 שורות, לשורה אחת.
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xffffffaa,"You are not an admin!");
ה SendClientMessage מחזיר 1, כך שעשינו פה גם return 1; וגם SendClientMessage באותו הקוד, ואז הצלחנו לצמצם את מספר השורות.
בואו ניקח את הקוד 6 שורות הזה ונהפוך אותו ל2 שורות:
new x;
0;
if(
== 0)
{
    
x+1;

אנחנו נקצר כאן גם בשורות וגם בתוים:
new x// שימו לב: הערך ההתחלתי שלא הוגדר לכל משתנה חדש הוא 0, ולכן אין צורך להגדיר אותו כ0.
if(!xx++; 
ה if(! שואל if false, הכוונה שקר, ו false שווה ל 0.
ה x++ אומר "x שווה לעצמו + 1".
במידה ויש שתי משתנים, אפשר להכניס אותם כקוד אחד.
בואו ונקצר את הקוד 9 שורות הזה ל 2 שורות:
new a;
0;
new 
b;
0;
if(
== && == 0)
{
    
a+1;
    
b+1;

והקיצור בתוים ובשורות:
new ab;
if(!
&& !ba++, b++; 
כמו שראיתם, אפשר לקצר בשורות ובתוים ששתי משתנים ביחד תופסים.
בואו ננסה משהו יותר גדול, 15 שורות:
new a;
0;
new 
b;
0;
new 
c;
0;
new 
d;
0;
if(
== && == && == && == 0)
{
    
a+1;
    
b+1;
    
c+1;
    
d+1;

הקיצור בדרכים הקודמות:
new abcd;
if(!
&& !&& !&& !da++, b++, c++, d++; 
הקיצור בדרך מערכים ולולאות:
new abcd[4];
for(new 
i=0;i<4;i++) if(!abcd[i]) abcd[i]++; 
מקווה שהמדריך היה ברור ואנשים באמת יישתמשו בו.


gmR Amit


חזרה לראש העמוד

האווטר המגניב של TpM aDiR

שואף לשלמות

הודעות: 3,486

חבר בקהילת: -

מנותק

מנותק

#2   פורסם: 17.07, 23:40

וואו , אני לא מאמין שקראתי את כל המדריך הזה , נהיה לי כאב בעיניים , חחח ,
אבל אחלה השקעה , תודה רבה! (כל הכבוד ).


בא לכם להישאר בקשר?
ICQ: 313637309


חזרה לראש העמוד

האווטר המגניב של GiP YossI

משתמש ותיק

הודעות: 5,136

חבר בקהילת: -

מנותק

מנותק

#3   פורסם: 18.07, 00:02

הועבר לפורום סקריפטינג
מחר אני אשים את זה בלינקייה
****
אחלה השקעה


תמונה אחת שווה אלף מילים:


תעתיקו לחתימה שלכם!


חזרה לראש העמוד

האווטר המגניב של OmEr S

 מנהל קהילת HardCore DM

הודעות: 1,984

חבר בקהילת: -

מנותק

מנותק

#4   פורסם: 18.07, 00:56

פששש סחתיין עמית איזו השקעה


מנהל השרת VGames 1 HardCore DeathMatch
הנהלה בכירה GTA
:HardCore
[LorD] OmEr [Sp]




חזרה לראש העמוד

האווטר המגניב של XpOz

  מנהל קהילת IDM

הודעות: 4,754

חבר בקהילת: -

מחובר

מחובר

#5   פורסם: 18.07, 01:24

אללה עמית איזה השקעה
באמת נראה יותר מסודר..
אני יעבוד מעכשיו ככה

תודה


בברכה,
רותם אברג'יל
צור קשר
אימייל: Rotem657@gmail.com
אייסיקיו: 429898404


תפקידים
מנהל שרת וויגימס IDM 4
מתכנת שרת וויגימס 2 Role Play
מתכנת שרת וויגימס 1 Hard Core DM






חזרה לראש העמוד

האווטר המגניב של NewB`

נינג'ה בלגי

הודעות: 1,574

חבר בקהילת: -

מנותק

מנותק

#6   פורסם: 18.07, 09:15

אחלה השקעה, דומה למדריך של אמיר...
תודה, ידוע


BaR
NewB_ b
קהילת GTA Vgames
מת עליכם

מכבי עד המוות



חזרה לראש העמוד

האווטר המגניב של d[0 _o]b

שואף לשלמות

הודעות: 3,687

חבר בקהילת: -

מנותק

מנותק

#7   פורסם: 18.07, 10:24

אמית נכון הסימן _!_ אז זה אומר שזה שווה ל 0
נגיד
if(!IsPlayerAdmin(playerid)) אז אדמין שווה ל 0 זה נכון ?

אה ומיספר ההזהרה 217
השם שלה Loose Indentation


|לעזרה| ICQ : 389169879 | בפרטי בפורום|


^^זה בנשמע^^
תגיבו בבקשה
http://forum.vgames.co.il/showthread...31#post2293731
Mr_SandwicH - לשעבר


חזרה לראש העמוד

האווטר המגניב של RealistiC_

עילוי

הודעות: 10,995

חבר בקהילת: -

מנותק

מנותק

#8   פורסם: 18.07, 10:28

אחלה מדריך עמית!
תודה רבה!


Samp Player
Name: [LorD]RealistiC_
Clan: LorD Rulezz


אם אתם צריכים אותי:
dor1325@gmail.com



חזרה לראש העמוד

LeL

האווטר המגניב של LeL

 צוות ניהול GTA

הודעות: 8,190

חבר בקהילת: -

מנותק

מנותק

#9   פורסם: 19.07, 00:18

תודה אבל אני מכיר כבר בזכות המדריך של אמיר :]


LeL
פרשתי מניהול GTA

מספר האנשים שראו את החתימה שלי מהתאריך 14/2/09


חזרה לראש העמוד

האווטר המגניב של Big_Smoke

נינג'ה בלגי

הודעות: 1,314

חבר בקהילת: -

מנותק

מנותק

#10   פורסם: 20.07, 03:45

יו עמית אחלה מדריך איזה השקעה


חזרה לראש העמוד

האווטר המגניב של -JackAss-

עילוי

הודעות: 13,772

חבר בקהילת: -

מנותק

מנותק

#11   פורסם: 21.07, 13:57

סחטיין עמית על ההשקעה!


ניב,
אדמין בשרת GTA VGames 1 | HardCore DM רמה 6
לפניות\בקשות -NivT_vG@Walla.com



חזרה לראש העמוד

האווטר המגניב של RonLipel

שואף לשלמות

הודעות: 4,193

חבר בקהילת: -

מחובר

מחובר

#12   פורסם: 21.07, 14:41

אני מההתחלה שבה שמעתי על טאב התחלתי לעבוד בצורה מסודרת, כשאני פותח IF אני כותב את הקוד ב4 רווחים אחרי, את הסוגרים אני שם בטור של האיף, כמו שצריך [=

תודה רבה עמית!
ועל הטאב שמעתי ממזמן..מאז שהתחלתי לתכנת O.O




חזרה לראש העמוד

משתמש עצבני

הודעות: 157

חבר בקהילת: -

מנותק

מנותק

#13   פורסם: 18.10, 15:17

סליחה על ההקפצה עמית אבל מה זה אומר "!" ? מה זה


This Is Me Roy_Kiiler

הלינקייה הפרטית שלי:
מדריך שיגורים לפי רמות\כניסה לרכבים\פקוודת
מדריך ליצור MoveObject המדריך המפורט!
מדריך נשקים תמדיים אחרי gmx (איפוס)


חזרה לראש העמוד

האווטר המגניב של Tuchfeld

 מנהל פורום IV

הודעות: 2,132

חבר בקהילת: -

מחובר

מחובר

#14   פורסם: 18.10, 18:10

רוי נגיד יש IsPlayerAdmin, זה בעצם פונקציה שבודקת ואז מחזירה 1 או 0.
עכשיו בעצם מה שה-if עושה זה בודק אם מה שרשום בסוגריים 1 אז תעשה את זה אבל אם זה 0 אז אל תעשה כלום.... אבל שאתה שם ! בהתחלה זה בימקום ליבדוק אם זה 1 אז לעשות בלהבלהבלה זה בודק אם זה 0 אז לעשות בלהבלהבלה....
מה שאומר - !IsPlayerAdmin = אם השחקן לא אדמין...
מקווה שהבנת ופעם הבאה - אל תקפיץ, תשאל בוונט, בפרטי, תפתח נושא וכדומה...




שחקן בקלאן Men In Black
לשעבר OmeRinG למי שלא יודע...
מנהל קהילת GTA IV


חזרה לראש העמוד

משתמש עצבני

הודעות: 157

חבר בקהילת: -

מנותק

מנותק

#15   פורסם: 19.10, 17:06

"if" אני יודע מה זה.. שאלתי מה זה : "!"


This Is Me Roy_Kiiler

הלינקייה הפרטית שלי:
מדריך שיגורים לפי רמות\כניסה לרכבים\פקוודת
מדריך ליצור MoveObject המדריך המפורט!
מדריך נשקים תמדיים אחרי gmx (איפוס)


חזרה לראש העמוד
פרסומת

משתמש עצבני

הודעות: 157

חבר בקהילת: -

מנותק

מנותק

#16   פורסם: 19.10, 17:16

if אני יודע מה זה דוגמא if(blabla ==1) return וזה כאילו אומר מה קורה יהיה אחד. המדריך של עמית "מילים שמורות" היה רשום הכל לפחות רוב המילים השמורות , שפה מקוצרת אני מבין קצת מסובך יש דברים שאני יכול לקצר וחלק שלא. טוב תודה עמית על המדריך המשך קח! ועם תוכל לשים תמדריך שלך שהיה בקהילה הקודמת שלך "אפורטים" משהוא דומה לזה אשמח למה לא פירסמת אותו פה אני חושב. תודה על המדריך השקעה מאוד מאוד טובה. וד"א אמיר לימד אותך כתיבה מסודרת או למדת לבד?


This Is Me Roy_Kiiler

הלינקייה הפרטית שלי:
מדריך שיגורים לפי רמות\כניסה לרכבים\פקוודת
מדריך ליצור MoveObject המדריך המפורט!
מדריך נשקים תמדיים אחרי gmx (איפוס)


חזרה לראש העמוד

האווטר המגניב של GiP YossI

משתמש ותיק

הודעות: 5,136

חבר בקהילת: -

מנותק

מנותק

#17   פורסם: 19.10, 20:39

! = לא
נראה לי.


תמונה אחת שווה אלף מילים:


תעתיקו לחתימה שלכם!


חזרה לראש העמוד
1

 

 
משחקי מחשב, פלייסטיישן 1-2-3, נינטנדו ואקסבוקס קונים במונסטר
 

 

הגדרות נושא
אפשרויות הצגת נושא